Пример #1
0
        // 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 }));
        }
Пример #2
0
        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));
        }