// GET: Admin/Terms/PeriodDates public async Task <ActionResult> PeriodDates(int?termId) { if (!termId.HasValue) { return(HttpNotFound()); } PeriodDateListViewModel viewModel = null; try { var periodDateList = await _periodDateRepository.GetPeriodDatesByTermId(termId.Value); var periods = await _periodRepository.GetPeriods(); List <PeriodDateDto> periodDates = null; bool isNew = false; if (periodDateList.PeriodDates == null || periodDateList.PeriodDates.ToList().Count == 0) { isNew = true; periodDates = new List <PeriodDateDto>(); foreach (var p in periods) { periodDates.Add(new PeriodDateDto { PeriodId = p.Id.Value, TermId = periodDateList.Term.Id.Value, StartDate = null, EndDate = null }); } } else { isNew = false; periodDates = periodDateList.PeriodDates.ToList(); } viewModel = new PeriodDateListViewModel(periodDateList) { Periods = periods, IsNew = isNew }; } 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(viewModel)); }
public async Task <ActionResult> SavePeriodDates(PeriodDateListViewModel form) { if (ModelState.IsValid) { try { var periodDateList = new PeriodDateListDto { PeriodDates = form.PeriodDates }; if (form.IsNew) { await _periodDateRepository.PostPeriodDateList(periodDateList); } else { await _periodDateRepository.PutPeriodDateList(form.TermId, periodDateList); } AddPageAlerts(ViewHelpers.PageAlertType.Success, "Your changes have been saved succesfully."); return(RedirectToAction("PeriodDates", new { termId = form.TermId })); } catch (BadRequestException bre) { AddErrorsFromAdycHttpExceptionToModelState(bre, ModelState); } } form.Term = await _termRepository.GetTermById(form.TermId); form.Periods = await _periodRepository.GetPeriods(); // Add properties to layout AddPageHeader(form.Title, ""); AddBreadcrumb("Terms", Url.Action("Index", "Terms", new { area = "Admin" })); AddBreadcrumb(form.Title, ""); return(View("PeriodDates", form)); }