public async Task <ScheduleEditViewModel> GetScheduleEditModel(int schoolId) { var schoolSubjects = await this.data.Subjects.Where(s => s.SchoolId == schoolId) .Select(s => new SubjectModel { Id = s.Id, Name = s.Name, SchoolId = s.Id }) .ToListAsync(); var schedules = await this.data.Schedules.Include(s => s.Subject) .Where(s => s.SchoolId == schoolId) .ToListAsync(); var scheduleModels = schedules.Select(s => new ScheduleEditModel { Day = s.Day, SubjectId = s.Subject.Id, SubjectName = s.Subject.Name, Order = s.Order }); var model = new ScheduleEditViewModel { ScheduleEditModels = scheduleModels, Subjects = schoolSubjects }; return(model); }
public ActionResult Save(ScheduleEditViewModel viewModel) { try { if (ModelState.IsValid) { if (viewModel.Id.HasValue) { _scheduleManager.EditSchedule(viewModel.Id.Value, viewModel.ResponsibleId.Value, viewModel.StartAt.Value, viewModel.EndAt.Value); } else { _scheduleManager.AddSchedule(viewModel.ResponsibleId.Value, viewModel.StartAt.Value, viewModel.EndAt.Value); } return(RedirectToAction(nameof(Index))); } viewModel.People = _personManager.GetPersonList().OrderBy(p => p.Name).ToList(); return(View(nameof(Edit), viewModel)); } catch (Exception exc) { ModelState.AddModelError("", exc.Message); viewModel.People = _personManager.GetPersonList().OrderBy(p => p.Name).ToList(); return(View(nameof(Edit), viewModel)); } }
public async Task <IActionResult> Edit(ScheduleEditViewModel model) { var scheduleId = model.Id; var scheduleName = model.Name; if (this.ModelState.IsValid) { if (this.ScheduleExists <ScheduleCreateViewModel>(scheduleName, scheduleId)) { this.TempData["Message"] = GlobalConstants.Messages.AlreadyExist; return(this.View(model)); } else if (model.NumberOfDays < this.ScheduleDaysCount(scheduleId)) { this.TempData["Message"] = GlobalConstants.Messages.InvalidOperation; return(this.View(model)); } await this.schedulesService.Update( model.Id, model.Name, model.NumberOfDays, this.Creator()); return(this.RedirectToAction("Index")); } return(this.View(model)); }
// GET: Schedule/Add public ActionResult Add() { var viewModel = new ScheduleEditViewModel { People = _personManager.GetPersonList().OrderBy(p => p.Name).ToList() }; return(View(nameof(Edit), viewModel)); }
// GET: Schedule/Edit/{Guid} public ActionResult Edit(Guid id) { var schedule = _scheduleManager.GetSchedule(id); var viewModel = new ScheduleEditViewModel { Id = schedule?.Id, StartAt = schedule?.StartAt, EndAt = schedule?.EndAt, ResponsibleId = schedule?.Responsible?.Id, People = _personManager.GetPersonList().OrderBy(p => p.Name).ToList() }; return(View(viewModel)); }