Exemplo n.º 1
0
        public CreditBalance Delete(int id)
        {
            CreditBalance dbEntry = context.CreditBalance.FirstOrDefault(e => e.ID == id);

            if (dbEntry != null)
            {
                context.CreditBalance.Remove(dbEntry);
                context.SaveChanges();
            }

            return(dbEntry);
        }
Exemplo n.º 2
0
 public void Save(CreditBalance e)
 {
     if (e.ID == 0)
     {
         context.CreditBalance.Add(e);
     }
     else
     {
         CreditBalance dbEntry = context.CreditBalance.FirstOrDefault(x => x.ID == e.ID);
         if (dbEntry != null)
         {
             dbEntry.Amount = e.Amount;
         }
     }
     context.SaveChanges();
 }
Exemplo n.º 3
0
        public IActionResult EditPaymentMethod(PaymentMethod model)
        {
            if (ModelState.IsValid)
            {
                if (model.ID > 0)
                {
                    PaymentMethod old = _payRepo.PaymentMethods.Where(x => x.ID == model.ID).First();
                    if (old.IsCredit && !model.IsCredit)
                    {
                        _creditRepo.Delete(old.CreditBalance.ID);
                    }
                }

                _payRepo.Save(model);

                if (model.IsCredit)
                {
                    CreditBalance c = new CreditBalance
                    {
                        Amount          = 0.00,
                        PaymentMethodID = _payRepo.PaymentMethods.Last().ID
                    };

                    _creditRepo.Save(c);
                }

                TempData["message"] = $"{model.Method} has been saved";
                return(RedirectToAction("PaymentMethods"));
            }
            else
            {
                if (model.ID == 0)
                {
                    ViewBag.FormTitle = "Create Payment Method";
                }
                else
                {
                    ViewBag.FormTitle = "Edit Payment Method";
                }

                return(View(model));
            }
        }
Exemplo n.º 4
0
        public IActionResult PayOffCredit(PayOffCreditViewModel model)
        {
            PaymentMethod p = _payRepo.PaymentMethods.Where(x => x.ID == model.PaymentMethod.ID).First();
            Account       s = _saveRepo.Accounts.Where(x => x.TypeID == _saveTypeRepo.AccountTypes.Where(y => y.Name.Equals("Personal")).FirstOrDefault().ID).FirstOrDefault();

            if (ModelState.IsValid)
            {
                CreditBalance c = p.CreditBalance;
                c.Amount  = Math.Round(c.Amount - model.AmountToPay, 2);
                s.Amount -= Math.Round(s.Amount - model.AmountToPay, 2);
                _creditRepo.Save(c);
                _saveRepo.Save(s);
                TempData["message"] = $"{p.Method} has had ${model.AmountToPay} paid off";
                return(RedirectToAction("CreditCards"));
            }
            else
            {
                ViewBag.FormTitle = "Pay Off Credit";

                model.PaymentMethod = p;
                return(View(model));
            }
        }
        public IActionResult Edit(ExpenseFormViewModel model)
        {
            if (ModelState.IsValid)
            {
                Account       s = _saveRepo.Accounts.Where(x => x.TypeID == _saveTypeRepo.AccountTypes.Where(y => y.Name.Equals("Personal")).FirstOrDefault().ID).FirstOrDefault();
                CreditBalance c = _payRepo.PaymentMethods.Where(x => x.ID == model.Expense.PaymentMethodID).First().CreditBalance;
                if (model.Expense.ID == 0)
                {
                    if (_payRepo.PaymentMethods.Where(x => x.ID == model.Expense.PaymentMethodID).FirstOrDefault().IsCredit)
                    {
                        c.Amount = Math.Round(c.Amount + model.Expense.Amount, 2);
                    }
                    else
                    {
                        s.Amount = Math.Round(s.Amount - model.Expense.Amount, 2);
                    }
                }
                else
                {
                    Expense i = _repo.Expenses.Where(x => x.ID == model.Expense.ID).FirstOrDefault();

                    if (_payRepo.PaymentMethods.Where(x => x.ID == model.Expense.PaymentMethodID).FirstOrDefault().IsCredit)
                    {
                        c.Amount = Math.Round(c.Amount + model.Expense.Amount - i.Amount, 2);
                    }
                    else
                    {
                        s.Amount = Math.Round(s.Amount + i.Amount - model.Expense.Amount, 2);
                    }
                }

                int id = _repo.Save(model.Expense);

                if (s != null)
                {
                    _saveRepo.Save(s);
                }

                if (c != null)
                {
                    _creditRepo.Save(c);
                }

                TempData["message"] = $"{model.Expense.Description} has been saved";
                return(RedirectToAction("MonthlyReport"));
            }
            else
            {
                if (model.Expense.ID == 0)
                {
                    ViewBag.FormTitle = "Create Expense";
                }
                else
                {
                    ViewBag.FormTitle = "Edit Expense";
                }

                model.ExpenseCategories = new SelectList(_catRepo.ExpenseCategories.ToList(), "ID", "Name");
                model.PaymentMethods    = new SelectList(_payRepo.PaymentMethods.ToList(), "ID", "Method");
                return(View(model));
            }
        }