public BudgetPeriodItem SaveBudgetPeriodItem(BudgetPeriodItem item)
        {
            if (item.BudgetPeriodItemID == 0)
            {
                item = _BudgetPeriodItem.Add(item);
            }
            else
            {
                _BudgetPeriodItem.Update(item);
            }

            return(item);
        }
        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);
        }