// GET: Student/Enrollments/Withdraw public async Task <ActionResult> Withdraw(int?enrollmentId, int?termId) { if (!enrollmentId.HasValue) { return(HttpNotFound()); } if (!termId.HasValue) { return(HttpNotFound()); } try { var term = await _termRepository.GetTermById(termId.Value); if (DateTime.Now > term.EnrollmentDropDeadLine.AddDays(1)) { AddPageAlerts(ViewHelpers.PageAlertType.Warning, "The period to withdraw has already ended. You cannot withdraw at this moment."); return(RedirectToAction("ViewEnrollment", new { termId = termId.Value })); } await _enrollmentRepository.Withdraw(enrollmentId.Value); var enrollment = await _enrollmentRepository.GetById(enrollmentId.Value); // Add properties to layout AddPageHeader("Withdraw confirmed", ""); AddBreadcrumb("Enrollments (Terms)", Url.Action("Index", "Enrollments", new { area = "Student" })); AddBreadcrumb("Enrollment", Url.Action("ViewEnrollment", "Enrollments", new { area = "Student", termId = termId.Value })); AddBreadcrumb("Withdraw confirmed", ""); return(View(enrollment.Offering)); } catch (BadRequestException bre) { AddPageAlerts(ViewHelpers.PageAlertType.Error, GetErrorsFromAdycHttpExceptionToString(bre)); } return(RedirectToAction("ViewEnrollment", new { termId = termId })); }
public async Task <ActionResult> SaveEvaluations(EnrollmentWithEvaluationsViewModel form) { if (ModelState.IsValid) { try { var enrollmentWithEvaluations = await _evaluationRepository.GetWithEvaluations(form.Enrollment.Id); enrollmentWithEvaluations.Enrollment.Notes = form.Enrollment.Notes; enrollmentWithEvaluations.Evaluations = form.Evaluations; // Update enrollment await _evaluationRepository.PutEnrollmentWithEvaluations(form.Enrollment.Id, enrollmentWithEvaluations); AddPageAlerts(ViewHelpers.PageAlertType.Success, "Your changes have been saved succesfully."); return(RedirectToAction("ViewEvaluations", new { enrollmentId = enrollmentWithEvaluations.Enrollment.Id })); } catch (BadRequestException bre) { AddErrorsFromAdycHttpExceptionToModelState(bre, ModelState); } } form.Enrollment = await _enrollmentRepository.GetById(form.Enrollment.Id); foreach (var evaluation in form.Evaluations) { evaluation.Period = await _periodRepository.GetPeriodById(evaluation.PeriodId); } // Add properties to layout AddPageHeader("Evaluations", ""); AddBreadcrumb("Offerings (Terms)", Url.Action("Index")); AddBreadcrumb("Offerings (List)", Url.Action("ViewOfferings", new { TermId = form.Enrollment.Offering.TermId })); AddBreadcrumb("Enrollments", Url.Action("ViewEnrollments", new { offeringId = form.Enrollment.OfferingId })); AddBreadcrumb("Evaluations", ""); return(View("ViewEvaluations", form)); }