Example #1
0
        // GET: Payment/Renew
        public ActionResult Renew(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 PaymentAdminRenewViewModel();

            model.EnrollmentID   = (int)id;
            model.Enrollment     = currentEnrollment;
            model.Date           = DateTime.Now;                                                                 // Initilializing the payment date as now because is paying at this moment
            model.StartDate      = DateTime.Now;                                                                 // Changing the new starting date
            model.ExpirationDate = Classes.Utility.AddDate(DateTime.Now, currentEnrollment.Membership.Duration); // Changing the new expiration date

            model.AllPayments = GetPayments(currentEnrollment);

            return(View(model));
        }
Example #2
0
        public ActionResult Renew([Bind(Include = "EnrollmentID,Date,StartDate,ExpirationDate,PaymentMethod,Amount,Notes")] PaymentAdminRenewViewModel 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));
                }

                currentEnrollment.RenewalNumber++;
                currentEnrollment.StartDate       = model.StartDate;
                currentEnrollment.ExpirationDate  = model.ExpirationDate;
                currentEnrollment.ModifDate       = DateTime.Now;
                currentEnrollment.ModifUserName   = currentUser.UserName;
                db.Entry(currentEnrollment).State = EntityState.Modified;

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

                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }