/// <summary> /// Service Method to add a new saving item /// </summary> /// <param name="budgetSavingsModel"></param> /// <returns>Task Complete </returns> public async Task AddNewSaving(BudgetSavingsModel budgetSavingsModel) { if (budgetSavingsModel == null) { throw new ArgumentException("Savings not provided"); } //map domain to db budgetSavingsModel var dbSavingsEntity = Mapper.CoreToDbEntityNew(budgetSavingsModel); await _savingsRepository.AddNewSaving(dbSavingsEntity); }
/// <summary> /// Method to insert / update / remove savings records /// </summary> /// <param name="budgetSavings"></param> /// <returns>Task Complete</returns> public async Task UpsertSavings(List <BudgetSavingsModel> budgetSavings) { if (budgetSavings.Count <= 0) { throw new ArgumentException("Savings not provided"); } List <BudgetSavings> dbSavings = new List <BudgetSavings>(); foreach (var budgetSaving in budgetSavings) { dbSavings.Add(Mapper.CoreToDbEntityExisting(budgetSaving)); } await _savingsRepository.UpsertSavings(dbSavings); }
/// <summary> /// Service Method to pull all saving items for user by user id /// </summary> /// <param name="userId"></param> /// <returns>List of Budget Savings Model objects</returns> public async Task <List <BudgetSavingsModel> > GetAllSavingsByUserId(long userId) { //create empty list for Core savings objects List <BudgetSavingsModel> coreSavingsModel = new List <BudgetSavingsModel>(); //pull dabatase savings list by user id var savingsList = await _savingsRepository.GetAllSavingsByUserId(userId); if (savingsList == null) { throw new Exception("Savings not found"); } //convert savings list from db savings entity to core savings model and store in core savings model list foreach (var saving in savingsList) { coreSavingsModel.Add(Mapper.DbToCoreModel(saving)); } return(coreSavingsModel); }