/// <summary> /// Recalculates full budget /// </summary> /// <param name="budget"></param> /// <returns></returns> public ClientBudget RecalculatedBudget(ClientBudget budget) { IList <BudgetPeriod> periodsToCalculate = new List <BudgetPeriod>(); foreach (var item in periodsToCalculate) { } return(budget); }
/// <summary> /// Initial create budget; /// </summary> /// <returns>A budget</returns> public ClientBudget CreateBudget(string username) { var budget = new ClientBudget(username); budget.Username = username; budget.Created = DateTime.Now; _ClientBudgetRepository.Add(budget); return(budget); }
/// <summary> /// Used to create a budget when we have a number of items set up /// The number is not defined yet and its currently based on months /// this could be made customisable but would involve deleting things if reduced v.2.0. /// </summary> /// <param name="budget">the budget being used</param> /// <returns>a budget with periods</returns> public ClientBudget SetUpInitialClientBudget(ClientBudget budget, BudgetPeriodService _BudgetPeriodService) { if (budget.Items.Count > 1) { for (int i = 0; i < 11; i++) { budget.AddPeriod(_BudgetPeriodService.CreateNewBudgetPeriod(budget)); } } else { // not sure what to return if we have no budget } return(budget); }
public BudgetPeriod CreateNewBudgetPeriod(ClientBudget budget) { var budgetPeriod = new BudgetPeriod(budget); foreach (var item in budget.Items.Where(x => x.Active == true)) { var perioditem = new BudgetPeriodItem(budgetPeriod, item); _BudgetPeriodItemService.SaveBudgetPeriodItem(perioditem); } budgetPeriod.PeriodCaputureDate = GetNextPeriodDate(budget.Periods); _BudgetPeriodRepository.Add(budgetPeriod); RecalculateBudgetPeriod(budgetPeriod, GetRunningTotal(budget.Periods)); return(budgetPeriod); }
public ClientBudget SaveBudget(ClientBudget budget) { _ClientBudgetRepository.Update(budget); return(budget); }