/// <summary> /// Service method to add new expense record /// </summary> /// <param name="expensesModel"></param> /// <returns>Task complete</returns> public async Task AddNewExpense(BudgetExpensesModel expensesModel) { if (expensesModel == null) { throw new ArgumentException("Expense not found"); } //convert core expense model to db expense entity var dbExpenseEntity = AdoExpensesMapper.CoreModelToDbEntityNew(expensesModel); await _expensesRepository.AddNewExpense(dbExpenseEntity); }
/// <summary> /// Service method to add / update / remove expense record /// </summary> /// <param name="budgetExpenses"></param> /// <returns>Task Complete</returns> public async Task UpsertExpenses(List <BudgetExpensesModel> budgetExpenses) { if (budgetExpenses.Count <= 0) { throw new ArgumentException("Expenses not entered"); } List <BudgetExpenses> dbExpenses = new List <BudgetExpenses>(); foreach (var budgetExpense in budgetExpenses) { dbExpenses.Add(AdoExpensesMapper.CoreModelToDbEntityExisting(budgetExpense)); } await _expensesRepository.UpsertExpenses(dbExpenses); }
/// <summary> /// Service method to get all expense records by user id /// </summary> /// <param name="userId"></param> /// <returns>List Budget Expense Model objects </returns> public async Task <List <BudgetExpensesModel> > GetExpensesByUserId(long userId) { //create empty core expense list List <BudgetExpensesModel> coreExpenseList = new List <BudgetExpensesModel>(); //pull db expense entity list var dbExpenseList = await _expensesRepository.GetAllExpensesByUserId(userId); if (dbExpenseList == null) { throw new Exception("Expenses not found"); } //convert from db entity to core model foreach (var expense in dbExpenseList) { coreExpenseList.Add(AdoExpensesMapper.DbEntityToCoreModel(expense)); } return(coreExpenseList); }