public ActionResult AddTransaction(BudgetItems budgetItems)
        {
            var errors = false;

            if (Convert.ToInt32(budgetItems.TypeOfBudget) == 0)
            {
                ViewBag.Error = "Please select a budget category from the dropdown.";
                errors        = true;
            }

            if (budgetItems.Cost <= 0)
            {
                ViewBag.Error = "Please enter a price greater than $0.00 for your transaction.";
                errors        = true;
            }

            if (!errors && ModelState.IsValid)
            {
                budgetItems.Email = User.Identity.Name;
                budgetItems.Month = DateTime.Now.Month;
                budgetItems.Date  = DateTime.Now;
                _unitOfWork.BudgetItemsRepository.Add(budgetItems);
                _unitOfWork.Complete();
                ViewBag.SuccessTransactionAdded = ($"Transaction Added! {budgetItems.Description}: ${budgetItems.Cost}");
                budgetItems.TypeOfBudget        = 0;
            }

            var transactions =
                _unitOfWork.BudgetItemsRepository.GetBudgetItemsListByMonth(User.Identity.Name, DateTime.Now.Month);

            return(View(transactions));
        }
Ejemplo n.º 2
0
        private void AddReadOnlyTotalRow(BudgetItems.tttBudgetItemsRow expenseRow, BudgetItems originalBudget)
        {
            //BudgetItems.tttBudgetItemsRow btRow = dtsBudgetReadOnly.tttBudgetItems.NewtttBudgetItemsRow()
            string itemName = expenseRow[dtsChartBudget.tttBudgetItems.ItemNameColumn].ToString();

            decimal itemAmount       = (decimal)expenseRow[dtsChartBudget.tttBudgetItems.ItemAmountColumn];
            decimal itemBudgetAmount = 0;
            string  itemType         = "";

            //itemExpenseAmount = (decimal) 1.99;

            foreach (BudgetItems.tttBudgetItemsRow bdgRow in originalBudget.tttBudgetItems)
            {
                if (bdgRow[originalBudget.tttBudgetItems.ItemNameColumn.Ordinal].ToString() == itemName)
                {
                    itemBudgetAmount = (decimal)bdgRow[originalBudget.tttBudgetItems.ItemAmountColumn.Ordinal];
                    itemType         = (string)bdgRow[originalBudget.tttBudgetItems.ItemTypeColumn.Ordinal];
                }
            }

            decimal itemBudgetAmountSpan = itemBudgetAmount * monthSpan;

            decimal difference = itemAmount - itemBudgetAmountSpan;

            dtsBudgetReadOnly.tttBudgetItemsReadOnly.AddtttBudgetItemsReadOnlyRow(itemName, itemBudgetAmountSpan, itemType, 0, itemAmount, difference);
        }
Ejemplo n.º 3
0
        public ActionResult DeleteConfirmed(int id)
        {
            BudgetItems budgetItems = db.Budgetitem.Find(id);

            db.Budgetitem.Remove(budgetItems);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 4
0
        public ActionResult DeleteConfirmed(int id)
        {
            BudgetItems budgetItems = db.BudgetItems.Find(id);

            db.BudgetItems.Remove(budgetItems);
            db.SaveChanges();
            return(RedirectToAction("Details", "Budgets", new { id = budgetItems.BudgetId }));
        }
Ejemplo n.º 5
0
        public void Calculate()
        {
            BaseTotal = BudgetItems.Sum(bi => bi.BaseAmount);

            foreach (BudgetItem item in BudgetItems)
            {
                item.Percent = Percent.Value(item.BaseAmount, BaseTotal);
            }
        }
        // GET: BudgetItems/Edit/5
        public PartialViewResult _Edit(int?id)
        {
            var         userId      = User.Identity.GetUserId();
            var         hh          = userId.GetHousehold();
            BudgetItems budgetItems = db.BudgetItems.Find(id);

            ViewBag.CategoryId = new SelectList(db.Category.Where(c => c.HouseHoldId == hh.Id), "Id", "Name", budgetItems.CategoryId);
            ViewBag.WarningId  = new SelectList(db.Warning, "Id", "WarningLimit", budgetItems.WarningId);
            return(PartialView(budgetItems));
        }
Ejemplo n.º 7
0
        internal static void PopulateContextMenu(ContextMenuStrip cmsBudgetItems)
        {
            BudgetItems bi = new BudgetItems();

            Model.BudgetFormModel.GetBudgetData(ref bi);
            foreach (BudgetItems.tttBudgetItemsRow dtrB in bi.tttBudgetItems.Rows)
            {
                cmsBudgetItems.Items.Add(dtrB[bi.tttBudgetItems.ItemNameColumn.ColumnName].ToString());
            }
        }
Ejemplo n.º 8
0
 public ActionResult Edit([Bind(Include = "Id,Created,Name,TargetAmount,CurrentAmount")] BudgetItems budgetItems)
 {
     if (ModelState.IsValid)
     {
         db.Entry(budgetItems).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(budgetItems));
 }
        // GET: BudgetItems/Delete/5
        public PartialViewResult _Delete(int?id)
        {
            BudgetItems budgetItems = db.BudgetItems.Find(id);

            //if (budgetItems == null)
            //{
            //    return HttpNotFound();
            //}
            return(PartialView(budgetItems));
        }
Ejemplo n.º 10
0
 public ActionResult Edit([Bind(Include = "Id,BudgetId,Created,Name,Amount,Frequency,IncomeExpense")] BudgetItems budgetItems)
 {
     if (ModelState.IsValid)
     {
         db.Entry(budgetItems).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Details", "Budgets", new { id = budgetItems.BudgetId }));
     }
     ViewBag.BudgetId = new SelectList(db.Budgets, "Id", "OwnerId", budgetItems.BudgetId);
     return(View(budgetItems));
 }
Ejemplo n.º 11
0
        public ActionResult Create([Bind(Include = "Id,Created,Name,TargetAmount,CurrentAmount")] BudgetItems budgetItems)
        {
            if (ModelState.IsValid)
            {
                db.BudgetItems.Add(budgetItems);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(budgetItems));
        }
Ejemplo n.º 12
0
 public ActionResult Edit([Bind(Include = "Id,CategoriesId,BudgetId,Amount")] BudgetItems budgetItems)
 {
     if (ModelState.IsValid)
     {
         db.Entry(budgetItems).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.BudgetId     = new SelectList(db.Budget, "Id", "Name", budgetItems.BudgetId);
     ViewBag.CategoriesId = new SelectList(db.Category, "Id", "Name", budgetItems.CategoriesId);
     return(View(budgetItems));
 }
Ejemplo n.º 13
0
        private void LoadBudgetReadOnlyData()
        {
            BudgetItems originalBudget = new BudgetItems();

            Model.BudgetFormModel.GetBudgetData(ref originalBudget);

            dtsBudgetReadOnly.Clear();
            foreach (BudgetItems.tttBudgetItemsRow dtrBudg in dtsChartBudget.tttBudgetItems.Rows)
            {
                AddReadOnlyTotalRow(dtrBudg, originalBudget);
            }
            ColorDataGridViewCells();
        }
Ejemplo n.º 14
0
        // GET: BudgetItems/Create
        public ActionResult Create()
        {
            var user          = User.Identity.GetUserId();
            var currentUser   = db.Users.Find(user);
            var houseBudget   = db.Budgets.Where(b => b.HouseholdId == currentUser.HouseholdId);
            var houseBudgetId = db.Budgets.Where(b => b.HouseholdId == currentUser.HouseholdId).Select(i => i.Id).FirstOrDefault();

            var budgetItem = new BudgetItems();

            budgetItem.BudgetId = houseBudgetId;
            ViewBag.BudgetId    = new SelectList(houseBudget, "Id", "Name");
            ViewBag.CategoryId  = new SelectList(db.Categories, "Id", "Name", "Group", 1);
            return(View(budgetItem));
        }
        // GET: BudgetItems/Details/5
        public PartialViewResult _Details(int?id)
        {
            //if (id == null)
            //{
            //    return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            //}
            BudgetItems budgetItems = db.BudgetItems.Find(id);

            //if (budgetItems == null)
            //{
            //    return HttpNotFound();
            //}
            return(PartialView(budgetItems));
        }
Ejemplo n.º 16
0
        public ActionResult Create([Bind(Include = "Id,CategoryId,BudgetId,Amount")] BudgetItems budgetItems)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.BudgetId   = new SelectList(db.Budgets, "Id", "Name", budgetItems.BudgetId);
                ViewBag.CategoryId = new SelectList(db.Categories, "Id", "Name", budgetItems.CategoryId);
                return(View(budgetItems));
            }

            UpdateBudget(budgetItems);
            db.BudgetItems.Add(budgetItems);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 17
0
        // GET: BudgetItems/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BudgetItems budgetItems = db.Budgetitem.Find(id);

            if (budgetItems == null)
            {
                return(HttpNotFound());
            }
            return(View(budgetItems));
        }
Ejemplo n.º 18
0
        // GET: BudgetItems/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BudgetItems budgetItems = db.BudgetItems.Find(id);

            if (budgetItems == null)
            {
                return(HttpNotFound());
            }
            ViewBag.BudgetId = new SelectList(db.Budgets, "Id", "OwnerId", budgetItems.BudgetId);
            return(View(budgetItems));
        }
Ejemplo n.º 19
0
        //Reverse Expense
        public void ReverseBudgetItem(BudgetItems budgetItem)
        {
            var oldBudget     = db.Budgets.Find(budgetItem.BudgetId);
            var oldBudgetItem = db.BudgetItems.Find(budgetItem.Id);

            if (oldBudgetItem.CategoryId < 7)
            {
                oldBudget.Income -= oldBudgetItem.Amount;
            }
            else
            {
                oldBudget.Expense -= oldBudgetItem.Amount;
            }

            db.Entry(oldBudget).State = EntityState.Modified;
            db.SaveChanges();
            return;
        }
        public ActionResult DeleteConfirmed(int id)
        {
            BudgetItems budgetItems = db.BudgetItems.Find(id);
            var         userId      = User.Identity.GetUserId();
            var         hh          = userId.GetHousehold();
            var         transac     = db.Transactions.Where(t => t.BudgetItemId == id);
            var         misc        = hh.Category.FirstOrDefault(c => c.Name == "Miscellaneous");

            foreach (var trans in transac)
            {
                trans.Category.Id = misc.Id;
            }
            budgetItems.IsSoftDeleted = true;

            db.BudgetItems.Remove(budgetItems);
            db.SaveChanges();
            return(RedirectToAction("Index", "BudgetItems"));
        }
        public ActionResult Edit([Bind(Include = "Id,Name,AmountLimit,Balance,CategoryId,HouseHoldId,CreatorId,Income,WarningId")] BudgetItems budgetItems)
        {
            var userId = User.Identity.GetUserId();
            var hh     = userId.GetHousehold();

            if (ModelState.IsValid)
            {
                budgetItems.HouseHoldId = hh.Id;

                db.Entry(budgetItems).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index", "BudgetItems"));
            }
            ViewBag.CategoryId = new SelectList(db.Category.Where(c => c.HouseHoldId == hh.Id), "Id", "Name", budgetItems.CategoryId);
            //ViewBag.CreatorId = new SelectList(db.ApplicationUsers, "Id", "FirstName", budgetItems.CreatorId);
            //ViewBag.HouseHoldId = new SelectList(db.HouseHolds, "Id", "Name", budgetItems.HouseHoldId);
            ViewBag.WarningId = new SelectList(db.Warning, "Id", "WarningLimit", budgetItems.WarningId);
            return(View(budgetItems));
        }
Ejemplo n.º 22
0
        public ActionResult Create([Bind(Include = "Id,BudgetId,Created,Name,Amount,Frequency,IncomeExpense")] BudgetItems budgetItems)
        {
            if (ModelState.IsValid)
            {
                var userId   = User.Identity.GetUserId();
                var user     = db.Users.Find(userId);
                var houseId  = user.HouseholdId;
                var house    = db.Households.Find(houseId);
                var budgetId = house.Budgets.FirstOrDefault().Id;

                budgetItems.BudgetId = budgetId;
                budgetItems.Created  = DateTime.Now;
                db.BudgetItems.Add(budgetItems);
                db.SaveChanges();
                return(RedirectToAction("Details", "Budgets", new { id = budgetItems.BudgetId }));
            }

            ViewBag.BudgetId = new SelectList(db.Budgets, "Id", "OwnerId", budgetItems.BudgetId);
            return(View(budgetItems));
        }
Ejemplo n.º 23
0
        public MainDashboardViewModel()
        {
            if (CurrentUserHouseholdId != 0)
            {
                Household = _db.Households.AsNoTracking().FirstOrDefault(h => h.Id == CurrentUserHouseholdId);

                BankAccounts.AddRange(_db.BankAccounts.AsNoTracking().Where(b => b.HouseholdId == CurrentUserHouseholdId).ToList());
                Budgets.AddRange(_db.Budgets.AsNoTracking().Where(b => b.HouseholdId == CurrentUserHouseholdId).ToList());

                BudgetItems.AddRange(Budgets.SelectMany(b => b.BudgetItems));

                var transactions = _db.Transactions.AsNoTracking();
                foreach (var transaction in transactions)
                {
                    if (BankAccounts.Any(ba => ba.Id == transaction.BankAccountId))
                    {
                        Transactions.Add(transaction);
                    }
                }
            }
        }
Ejemplo n.º 24
0
        public ActionResult Edit([Bind(Include = "Id,CategoryId,BudgetId,Amount")] BudgetItems budgetItems)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.BudgetId   = new SelectList(db.Budgets, "Id", "Name", budgetItems.BudgetId);
                ViewBag.CategoryId = new SelectList(db.Categories, "Id", "Name", budgetItems.CategoryId);
                return(View(budgetItems));
            }

            // Reverse last budget item and update new
            ReverseBudgetItem(budgetItems);
            var amount = UpdateBudget(budgetItems);

            var oldbudgetItems = db.BudgetItems.Find(budgetItems.Id);

            oldbudgetItems.CategoryId = budgetItems.CategoryId;
            oldbudgetItems.Amount     = amount;

            db.Entry(oldbudgetItems).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 25
0
        //Update Budget Catetories
        public decimal UpdateBudget(BudgetItems budgetItem)
        {
            var currentBudget = db.Budgets.Find(budgetItem.BudgetId);

            // Check amount sign and reverse if necessary
            if ((budgetItem.CategoryId < 7 && budgetItem.Amount < 0) ||
                (budgetItem.CategoryId >= 7 && budgetItem.Amount > 0))
            {
                budgetItem.Amount *= -1;
            }

            if (budgetItem.CategoryId < 7)
            {
                currentBudget.Income += budgetItem.Amount;
            }
            else if (budgetItem.CategoryId >= 7)
            {
                currentBudget.Expense += budgetItem.Amount;
            }

            db.Entry(currentBudget).State = EntityState.Modified;
            db.SaveChanges();
            return(budgetItem.Amount);
        }
Ejemplo n.º 26
0
        static void DisplayGetBudgetItems(List <BudgetItems> items)
        {
            BudgetItems item = BudgetItems.NONE;
            string      userResponse;


            DisplayScreenHeader("Budget Items to Consider for your trip");

            Console.WriteLine(" Choose from the 9 items below. When finished type DONE. ");

            Console.WriteLine("a) Car Rental ");
            Console.WriteLine("b) Fuel");
            Console.WriteLine("c) Plane Ticket");
            Console.WriteLine("d) Baggage Fee");
            Console.WriteLine("e) Food");
            Console.WriteLine("f) Beverages");
            Console.WriteLine("g) Excursions");
            Console.WriteLine("h) Souveniers");
            Console.WriteLine("i) Hotel");

            DisplayContinuePrompt();

            while (item != BudgetItems.DONE)
            {
                Console.Write("Enter Command:");
                userResponse = Console.ReadLine().ToLower();

                switch (item)
                {
                case
                    BudgetItems.CAR:
                    break;

                case
                    BudgetItems.FUEL:
                    break;

                case BudgetItems.PLANE:
                    break;

                case BudgetItems.BAG:
                    break;

                case BudgetItems.FOOD:
                    break;

                case BudgetItems.ALCOHOL:
                    break;

                case BudgetItems.EXCURSIONS:
                    break;

                case BudgetItems.SOUVENIERS:
                    break;

                case BudgetItems.HOTEL:
                    break;

                case BudgetItems.DONE:
                    break;

                default:
                    Console.WriteLine();
                    Console.WriteLine("Please enter a valid Budget Item.");
                    Console.WriteLine();
                    break;
                }

                Enum.TryParse(userResponse, out item);



                if (item != BudgetItems.NONE)
                {
                    items.Add(item);
                }
            }
            Console.WriteLine($"Budget Items have been entered to the list.");

            DisplayContinuePrompt();

            DisplayBudgetItems(items);

            Console.WriteLine("*****************************************************");

            DisplayContinuePrompt();
        }
 public void Add(BudgetItems budgetItems)
 {
     _context.BudgetItems.Add(budgetItems);
 }
        public static IdentityMessage CreateBudgetWarningMessage(this ApplicationUser user, BudgetItems budget, decimal budBal)
        {
            var admin = user;
            var msg   = new IdentityMessage();

            msg.Destination = admin.Email; //ConfigurationManager.AppSettings["ContactEmail"];
            msg.Body        = "This is a notification from Fruitful to let you know that a budget in your household -" + budget.Name + " - is getting close to its limit. You requested to be notified when the budget approached $" + budget.Warning.WarningLimit + " and the balance is currently at $" + budBal + ". <br/><br/> To view your budget and transactions, click <a href=\"https://csimmons-budgetprogram.azurewebsites.net/BudgetItems/Index\">here</a>. To see your household overview, click <a href=\"https://csimmons-budgetprogram.azurewebsites.net/Households/Index\">here</a>.";
            msg.Subject     = "Warning! Budget Limit has been exceeded";
            //the " + budget.Name + "     " + budget.HouseHold + "
            return(msg);
        }
 public void RemoveItem(BudgetItems budgetItem)
 {
     _context.BudgetItems.Remove(budgetItem);
 }