public void create(ExpenseForm form) throws ProjectNotFoundException { User user = sessionService.getCurrentUser(); Project project = projectRepository.getByName(form.getProject()); Expense expense = expenseAssembler.fromForm(project, form); user.addExpense(expense); }
public Collection<ExpenseViewModel> getAll() { User user = sessionService.getCurrentUser(); Collection<UserApprovable<Expense>> expenses = user.expensesWithPayPeriod(payPeriodService.getCurrent()); return expenseAssembler.toViewModel(expenses); }
public Collection<ExpenseViewModel> getAllWaiting() { Users users = userRepository.users(); Collection<UserApprovable<Expense>> expenses = users.waitingExpenses(); return expenseAssembler.toViewModel(expenses); }
public ExpenseViewModel getOne(String username, LocalDate localDate, String timestamp) throws ApprovableNotFoundException, UserNotFoundException { User user = userRepository.getByUsername(username); Expense expense = user.expenseWithDateAndTimestamp(localDate, timestamp); return expenseAssembler.toViewModel(new UserApprovable<Expense>(user, expense)); }