def create_expense(user, date, amount, name, category): """ """ assert isinstance(user, UserEntity) assert isinstance(date, datetime.date) assert isinstance(amount, long) assert isinstance(name, unicode) assert isinstance(category, unicode) assert amount > 0 assert name assert category expense_entity = ExpenseEntity( user, date, amount, name, category ) ExpenseDAO.save(expense_entity) ExpenseDAO.flush() return expense_entity.id
def calculate_spend_for_range(user, start_date, end_date): """ """ assert isinstance(user, UserEntity) assert isinstance(start_date, datetime.datetime) assert isinstance(end_date, datetime.datetime) assert start_date <= end_date return sum(x.amount for x in ExpenseDAO.select_all_by_user_date_range(user, start_date, end_date))
def select_expenses(user, limit, offset): """ """ assert isinstance(user, UserEntity) assert isinstance(limit, int) assert isinstance(offset, int) assert limit > 0 assert offset >= 0 return ExpenseDAO.select_all_limited_and_offset_by_user(user, limit, offset)
def select_expense(user, expense_id): """ """ assert isinstance(user, UserEntity) assert isinstance(expense_id, unicode) assert expense_id try: expense_entity = ExpenseDAO.select_by_id(expense_id) except NoResultFound: raise ResourceNotFoundException() if expense_entity.user != user: raise ResourceNotFoundException() return expense_entity