public async Task<ActionResult> Create(CreateInstructorWithCoursesViewModel viewModel) { var request = new InstructorCreateWithCourses.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> Create(CreateInstructorWithCoursesViewModel viewModel) { var request = new InstructorCreateWithCourses.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")); }
// Update instructor with course public static InstructorCreateWithCourses.Response Handle(IRepository repository, InstructorCreateWithCourses.Request request) { // Validation now performed in the dispacther decorators (See AutoValidate<T> in the DomainBootstrapper class) var container = new EntityStateWrapperContainer(); container.AddEntity(InstructorFactory.Create(repository, request.CommandModel)); var validationDetails = repository.Save(container); var instructorId = default(int?); if (!validationDetails.HasValidationIssues) { instructorId = container.FindEntity <Instructor>().ID; } return(new InstructorCreateWithCourses.Response(validationDetails, instructorId)); }