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)); }
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)); }
// 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)); }
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)); }
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)); }