예제 #1
0
        // GET: Admin/Terms/Edit
        public async Task <ActionResult> Edit(int?id)
        {
            if (!id.HasValue)
            {
                return(HttpNotFound());
            }

            TermFormViewModel viewModel = null;

            try
            {
                var term = await _termRepository.GetTermById(id.Value);

                viewModel = new TermFormViewModel(term)
                {
                    IsNew = false
                };
            }
            catch (BadRequestException bre)
            {
                AddErrorsFromAdycHttpExceptionToModelState(bre, ModelState);
            }

            // Add properties to layout
            AddPageHeader(viewModel.Title, "");

            AddBreadcrumb("Terms", Url.Action("Index", "Terms", new { area = "Admin" }));
            AddBreadcrumb(viewModel.Title, "");

            return(View("TermForm", viewModel));
        }
예제 #2
0
        public async Task <ActionResult> Save(TermFormViewModel form)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    TermDto term = (form.IsNew)
                        ? new TermDto()
                        : await _termRepository.GetTermById(form.Id.Value);

                    term.Name                   = form.Name;
                    term.StartDate              = form.StartDate.Value;
                    term.EndDate                = form.EndDate.Value;
                    term.EnrollmentDeadLine     = form.EnrollmentDeadLine.Value;
                    term.EnrollmentDropDeadLine = form.EnrollmentDropDeadLine.Value;
                    term.IsCurrentTerm          = form.IsCurrentTerm;

                    if (form.IsNew)
                    {
                        await _termRepository.PostTerm(term);
                    }
                    else
                    {
                        await _termRepository.PutTerm(term.Id.Value, term);
                    }

                    AddPageAlerts(ViewHelpers.PageAlertType.Success, "Your changes have been saved succesfully.");

                    return(RedirectToAction("Index"));
                }
                catch (BadRequestException bre)
                {
                    AddErrorsFromAdycHttpExceptionToModelState(bre, ModelState);
                }
            }

            // Add properties to layout
            AddPageHeader(form.Title, "");

            AddBreadcrumb("Terms", Url.Action("Index", "Terms", new { area = "Admin" }));
            AddBreadcrumb(form.Title, "");

            return(View("TermForm", form));
        }
예제 #3
0
        // GET: Admin/Terms/New
        public ActionResult New()
        {
            var viewModel = new TermFormViewModel
            {
                IsNew                  = true,
                StartDate              = null,
                EndDate                = null,
                EnrollmentDeadLine     = null,
                EnrollmentDropDeadLine = null
            };

            // Add properties to layout
            AddPageHeader(viewModel.Title, "");

            AddBreadcrumb("Terms", Url.Action("Index", "Terms", new { area = "Admin" }));
            AddBreadcrumb(viewModel.Title, "");

            return(View("TermForm", viewModel));
        }