public async Task<ActionResult> Edit(ModifyInstructorAndCoursesViewModel viewModel) { var request = new InstructorModifyAndCourses.Request(SystemPrincipal.Name, viewModel.CommandModel); var response = DomainServices.Dispatch(request); if (response.HasValidationIssues) { ModelState.AddRange(response.ValidationDetails); await PopulateAssignedCourseData(viewModel.SelectedCourses); return View(viewModel); } return RedirectToAction("Index"); }
public async Task <ActionResult> Edit(ModifyInstructorAndCoursesViewModel viewModel) { var request = new InstructorModifyAndCourses.Request(SystemPrincipal.Name, viewModel.CommandModel); var response = DomainServices.Dispatch(request); if (response.HasValidationIssues) { ModelState.AddRange(response.ValidationDetails); await PopulateAssignedCourseData(viewModel.SelectedCourses); return(View(viewModel)); } return(RedirectToAction("Index")); }
// Modify instructor with course public static InstructorModifyAndCourses.Response Handle(IRepository repository, InstructorModifyAndCourses.Request request) { var commandModel = request.CommandModel; var instructor = repository.GetEntity <Instructor>( p => p.ID == commandModel.InstructorId, new EagerLoadingQueryStrategy <Instructor>( p => p.Courses, p => p.OfficeAssignment)); var container = instructor.Modify(repository, request.CommandModel); var validationDetails = repository.Save(container); return(new InstructorModifyAndCourses.Response(validationDetails)); }