public async Task<ActionResult> Create(DepartmentCreate.CommandModel commandModel) { var request = new DepartmentCreate.Request(SystemPrincipal.Name, commandModel); var response = await DomainServices.DispatchAsync<DepartmentCreate.Response>(request); if (!response.HasValidationIssues) return RedirectToAction("Index"); var instructors = await _QueryRepository.GetEntitiesAsync<Instructor>(new AsNoTrackingQueryStrategy()); ; ViewBag.InstructorID = new SelectList(instructors, "ID", "FullName", commandModel.InstructorID); ModelState.AddRange(response.ValidationDetails); return View(commandModel); }
// Create Department public static DepartmentCreate.Response Handle(IRepository repository, DepartmentCreate.Request request) { // Validation now performed in the dispacther decorators (See AutoValidate<T> in the DomainBootstrapper class) var container = DepartmentFactory.Create(request.CommandModel); var validationDetails = repository.Save(container); var deptId = default(int?); if (!validationDetails.HasValidationIssues) { deptId = container.FindEntity <Department>().DepartmentID; } return(new DepartmentCreate.Response(validationDetails, deptId)); }
public async Task <ActionResult> Create(DepartmentCreate.CommandModel commandModel) { var request = new DepartmentCreate.Request(SystemPrincipal.Name, commandModel); var response = await DomainServices.DispatchAsync <DepartmentCreate.Response>(request); if (!response.HasValidationIssues) { return(RedirectToAction("Index")); } var instructors = await _QueryRepository.GetEntitiesAsync <Instructor>(new AsNoTrackingQueryStrategy());; ViewBag.InstructorID = new SelectList(instructors, "ID", "FullName", commandModel.InstructorID); ModelState.AddRange(response.ValidationDetails); return(View(commandModel)); }