Esempio n. 1
0
        public ActionResult Edit(PaymentAdminViewModel model)
        {
            if (ModelState.IsValid)
            {
                Payment p = new Payment()
                {
                    Id            = model.Id,
                    From          = model.From,
                    To            = model.To,
                    Amount        = model.Amount,
                    PaymentDate   = model.PaymentDate,
                    Title         = model.Title,
                    OperationType = model.OperationType,
                };

                _repo.Update(p);
                _repo.Save();

                TempData["message"] = string.Format("Płatność została zedytowana!");
                return(RedirectToAction("Index"));
            }
            ViewBag.BankAccountsList = new SelectList(_repo.GetBankAccounts(), "AccountNumber", "User.UserName");
            ModelState.AddModelError("", "Błąd");
            return(View(model));
        }
Esempio n. 2
0
        public ActionResult Edit(int id)
        {
            Payment p = _repo.GetPayment(id);

            if (p == null)
            {
                return(HttpNotFound());
            }
            PaymentAdminViewModel model = new PaymentAdminViewModel()
            {
                Id            = p.Id,
                From          = p.From,
                To            = p.To,
                Amount        = p.Amount,
                PaymentDate   = p.PaymentDate,
                Title         = p.Title,
                OperationType = p.OperationType,
            };

            ViewBag.BankAccountsList = new SelectList(_repo.GetBankAccounts(), "AccountNumber", "User.UserName");

            return(View(model));
        }
Esempio n. 3
0
        // GET: Payment/Create
        public ActionResult Create(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Enrollment currentEnrollment = db.Enrollments.Find(id);

            if (currentEnrollment == null)
            {
                return(HttpNotFound());
            }

            // Creating an empty payment to pass the enrollment ID to the hidden input
            var model = new PaymentAdminViewModel();

            model.EnrollmentID = (int)id;
            model.Enrollment   = currentEnrollment;
            model.Date         = DateTime.Now; // Initilializing the payment date as now because is paying at this moment

            model.AllPayments = GetPayments(currentEnrollment);

            return(View(model));
        }
Esempio n. 4
0
        public ActionResult Create([Bind(Include = "EnrollmentID,Date,PaymentMethod,PayingRegistration, AmountRegistration, NotesRegistration, PayingMonth1, AmountMonth1, NotesMonth1, PayingMonth2, AmountMonth2, NotesMonth2, PayingMonth3, AmountMonth3, NotesMonth3, PayingMonth4, AmountMonth4, NotesMonth4, PayingMonth5, AmountMonth5, NotesMonth5, PayingMonth6, AmountMonth6, NotesMonth6, PayingMonth7, AmountMonth7, NotesMonth7, PayingMonth8, AmountMonth8, NotesMonth8, PayingMonth9, AmountMonth9, NotesMonth9, PayingMonth10, AmountMonth10, NotesMonth10, PayingMonth11, AmountMonth11, NotesMonth11, PayingMonth12, AmountMonth12, NotesMonth12")] PaymentAdminViewModel model)
        {
            // Re-populating the last payments in case the view has to be displayed again
            var currentEnrollment = db.Enrollments.Find(model.EnrollmentID);

            model.Enrollment  = currentEnrollment;
            model.AllPayments = GetPayments(currentEnrollment);

            if (ModelState.IsValid)
            {
                var currentUser = userManager.FindById(User.Identity.GetUserId());

                if (currentEnrollment == null)
                {
                    return(View(model));
                }

                if (model.PayingRegistration)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountRegistration,
                        Type             = PaymentType.PAYMENT_REGISTRATION,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "0",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesRegistration,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth1)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth1,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "1",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth1,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth2)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth2,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "2",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth2,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth3)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth3,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "3",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth3,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth4)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth4,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "4",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth4,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth5)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth5,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "5",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth5,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth6)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth6,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "6",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth6,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth7)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth7,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "7",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth7,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth8)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth8,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "8",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth8,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth9)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth9,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "9",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth9,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth10)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth10,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "10",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth10,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth11)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth11,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "11",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth11,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingMonth12)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountMonth12,
                        Type             = PaymentType.PAYMENT_FEE,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "12",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesMonth12,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                if (model.PayingOther)
                {
                    Payment payment = new Payment
                    {
                        Enrollment       = currentEnrollment,
                        Amount           = model.AmountOther,
                        Type             = PaymentType.PAYMENT_OTHER,
                        Date             = model.Date,
                        PaymentMethod    = model.PaymentMethod,
                        PayingMonth      = "0",
                        RenewalNumber    = currentEnrollment.RenewalNumber,
                        Notes            = model.NotesOther,
                        CreationDate     = DateTime.Now,
                        CreationUserName = currentUser.UserName,
                        ModifDate        = DateTime.Now,
                        ModifUserName    = currentUser.UserName
                    };
                    db.Payments.Add(payment);
                }

                db.SaveChanges();

                return(RedirectToAction("Index", new { id = currentEnrollment.ID }));
            }

            return(View(model));
        }
Esempio n. 5
0
        public ActionResult Create(PaymentAdminViewModel model)
        {
            if (ModelState.IsValid)
            {
                var from = _repo.GetBankAccount(model.From.AccountNumber);
                var to   = _repo.GetBankAccount(model.To.AccountNumber);

                Payment p = new Payment()
                {
                    Id            = model.Id,
                    From          = from,
                    To            = to,
                    Amount        = model.Amount,
                    PaymentDate   = model.PaymentDate,
                    Title         = model.Title,
                    OperationType = model.OperationType,
                };

                if (p.OperationType == TypeOfOperation.PaymentToATM)
                {
                    p.Title                 = "Wpłata";
                    p.To.Balance           += model.Amount; //razy 2 ??
                    p.From.Balance         += model.Amount; //razy 2 ??
                    p.BalanceAfterOperation = p.To.Balance;
                    _repo.Insert(p);
                    _repo.Save();
                    TempData["message"] = string.Format("Wpłacono pieniądze do bankomatu!");
                    return(RedirectToAction("Index"));
                }
                else if (p.OperationType == TypeOfOperation.WithdrawalFromATM)
                {
                    if (p.From.AvailableFunds > model.Amount)
                    {
                        p.Title                 = "Wypłata";
                        p.Amount               *= -1;
                        p.To.Balance           -= model.Amount;
                        p.From.Balance         -= model.Amount;
                        p.BalanceAfterOperation = p.To.Balance;
                        _repo.Insert(p);
                        _repo.Save();
                        TempData["message"] = string.Format("Pieniądze zostały wyciągnięte z bankomatu!");
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        TempData["error"] = string.Format("Za mała ilość środków na koncie!");
                        return(RedirectToAction("Index"));

                        throw new ArgumentOutOfRangeException("Za mało hasju");
                    }
                }
                else if (p.OperationType == TypeOfOperation.TransferToAccount || p.OperationType == TypeOfOperation.CardPayment)
                {
                    if (p.From.AvailableFunds > model.Amount)
                    {
                        p.Amount               *= -1;
                        p.From.Balance         -= model.Amount;
                        p.To.Balance           += model.Amount;
                        p.BalanceAfterOperation = p.To.Balance;
                        _repo.Insert(p);
                        _repo.Save();
                        TempData["message"] = string.Format("Płatność została dodana!");
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        TempData["error"] = string.Format("Za mała ilość środków na koncie!");
                        return(RedirectToAction("Index"));

                        throw new ArgumentOutOfRangeException("Za mało hasju");
                    }
                }
            }
            ViewBag.BankAccountsList = new SelectList(_repo.GetBankAccounts(), "AccountNumber", "User.UserName");
            ModelState.AddModelError("", "Błąd");
            return(View(model));
        }