public async Task <IActionResult> EditSchedule(int courseId) { var course = _coursesRepository.GetById(courseId); var modules = await _coursesRepository.GetScheduleModules(courseId); var subject = _subjectsRepository.GetById(course.SubjectId); var model = new CourseEditSchedulesViewModel { CourseId = courseId, Course = new CourseViewModel { CourseId = courseId, Start = course.StartDate, End = course.EndDate, Subject = subject, Teacher = new Models.ViewModels.UserViewModel { Email = course.Teacher.Email, FirstName = course.Teacher.FirstName, LastName = course.Teacher.LastName, MiddleName = course.Teacher.MiddleName, }, TeacherId = course.TeacherId, SubjectId = course.SubjectId }, }; model.Modules = modules; return(View(model)); }
public async Task <IActionResult> EditSchedule(CourseEditSchedulesViewModel model) { if (ModelState.IsValid) { try { var result = await _coursesRepository.EditSchedules(model); if (result) { // success return(RedirectToAction("Index", "Courses", new { message = "Редагування розкладу успішно виконано." })); } } catch { // error return(RedirectToAction("Index", "Courses", new { error = "При редагуванні розкладу сталась невідома помилка!" })); } } // error for Model else { ModelState.AddModelError(string.Empty, "Невідома помилка!"); } return(View(model)); }
public async Task <bool> EditSchedules(CourseEditSchedulesViewModel model) { var courseModule = await _context .CourseModule .Where(y => y.CourseId == model.CourseId && model.Modules.Select(x => x.Id).Contains(y.ModuleId)) .ToListAsync(); courseModule.ForEach(x => { x.Date = model.Modules.First(y => y.Id == x.ModuleId).Date; }); _context.CourseModule.UpdateRange(courseModule); return(await _context.SaveChangesAsync() >= 0); }