예제 #1
0
 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());
     }
 }
예제 #2
0
        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);
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        /// <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);
        }
예제 #5
0
 /// <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);
 }