public string EnterNewBudgetItem(BudgetListItem ListItemToAdd, Guid CustomerId, string InputType) { try { int Type = (InputType == "SuggestedInput") ? 0 : 1; var Context = new Central(); BudgetItem MyBudgetItem = new BudgetItem(); MyBudgetItem.BudgetItemId = Guid.NewGuid(); MyBudgetItem.BudgetId = GetBudgetId(CustomerId); MyBudgetItem.BudgetItemAmount = ListItemToAdd.BudgetListItemAmount; MyBudgetItem.BudgetItemCategory = ListItemToAdd.BudgetListItemCategory; MyBudgetItem.BudgetItemName = ListItemToAdd.BudgetListItemName; MyBudgetItem.BudgetItemFrequency = ListItemToAdd.BudgetListItemFrequency; MyBudgetItem.BudgetItemType = Type; MyBudgetItem.CreationDate = DateTime.Now; MyBudgetItem.UpdateDate = DateTime.Now; Context.BudgetItems.Add(MyBudgetItem); Context.SaveChanges(); string Status = "Success"; return(Status); } catch (Exception e) { return(e.ToString()); } }
public BudgetItemLists GetBudgetItems(Guid CustomerId, Central Context) { //Get the Budget ID based off of the Customer Id var BudgetId = GetBudgetId(CustomerId); //Establish BudgetItem Lists to Return BudgetItemLists BudgetItems = new BudgetItemLists(); BudgetItems.ExistingBudgetItems = new List <BudgetListItem>(); BudgetItems.NewBudgetItems = new List <BudgetListItem>(); //Get Suggested Items var SuggestedItems = (from c in Context.L_SuggestedBudgetItem select c); //Loop through Suggested Items foreach (var x in SuggestedItems) { //get all Budget Items for current Customer where BudgetItemName is the same BudgetListItem NewBudgetItem = new BudgetListItem(); NewBudgetItem.BudgetListItemName = x.BudgetItemName; NewBudgetItem.BudgetListItemCategory = x.BudgetItemCategory; BudgetItems.NewBudgetItems.Add(NewBudgetItem); } //Get all existing Budget Items var CurrentBudgetItems = (from b in Context.BudgetItems where b.BudgetId == BudgetId select b); //Foreach matched Budget Item (if any) create a new Budget Item and add it to the main return Budget Item List foreach (var y in CurrentBudgetItems) { //Add Budget Item to Budget Item List BudgetListItem NewBudgetItem = new BudgetListItem(); NewBudgetItem.BudgetListItemAmount = y.BudgetItemAmount; NewBudgetItem.BudgetListItemCategory = y.BudgetItemCategory; NewBudgetItem.BudgetListItemFrequency = y.BudgetItemFrequency; NewBudgetItem.BudgetListItemId = y.BudgetItemId.ToString(); NewBudgetItem.BudgetListItemName = y.BudgetItemName; NewBudgetItem.BudgetListItemType = y.BudgetItemType; BudgetItems.ExistingBudgetItems.Add(NewBudgetItem); } //Return List of Budget Items return(BudgetItems); }
/// <summary> /// Budget created/added event handler /// </summary> /// <param name="e">Budget created event</param> public void Handle(AddedBudget e) { var budgetList = this.GetBudgetList(); var budget = budgetList.FirstOrDefault(x => e.BudgetId.Equals(x.BudgetId)); if (budget == null) { var accountList = this.GetAccountListForBudget(e.BudgetId); budget = new BudgetListItem(e.BudgetId, e.Name, e.CurrencyCode, accountList, this.commandBus); this.budgetListItemRepository.Save(budget); budgetList.Add(budget); } budget.SetName(e.Name); this.budgetListRepository.Save(budgetList); }
/// <summary> /// (Re)initialization to provide initial values not derived from events /// </summary> /// <param name="budgetListRepository">budget list repository</param> /// <param name="budgetListItemRepository">budget list item repository</param> /// <param name="accountListRepository">account list repository</param> /// <param name="commandBus">Command bus</param> private void Init( BudgetListRepository budgetListRepository, BudgetListItemRepository budgetListItemRepository, AccountListRepository accountListRepository, ICommandBus commandBus) { // Init with "off-budget" budget var list = this.GetBudgetList(); var offBudgetAccountList = new AccountList(); var offBudget = new BudgetListItem( BudgetId.OffBudgetId, "Off-budget", null, offBudgetAccountList, commandBus); list.Add(offBudget); accountListRepository.Save(offBudget.BudgetId, offBudgetAccountList); budgetListItemRepository.Save(offBudget); budgetListRepository.Save(list); }
/// <summary> /// Save the budget list item, or add it to the repository. /// </summary> /// <param name="budget">Budget list item to save</param> internal void Save(BudgetListItem budget) { this.readStore.Store(budget.BudgetId.ToGuid(), budget); }