public async Task<ActionResult> Edit(DepartmentUpdate.CommandModel commandModel) { var request = new DepartmentUpdate.Request(SystemPrincipal.Name, commandModel); var response = await DomainServices.DispatchAsync<DepartmentUpdate.Response>(request); if (!response.HasValidationIssues) return RedirectToAction("Index"); if (response.RowVersion != null) commandModel.RowVersion = response.RowVersion; var instructors = await _QueryRepository.GetEntitiesAsync<Instructor>(new AsNoTrackingQueryStrategy()); ; ViewBag.InstructorID = new SelectList(instructors, "ID", "FullName", commandModel.InstructorID); ModelState.AddRange(response.ValidationDetails.AllValidationMessages); return View(commandModel); }
// Update department #region Update department public static DepartmentUpdate.Response Handle(IRepository repository, DepartmentUpdate.Request request) { var validationDetails = Validator.ValidateRequest(request, repository); if (validationDetails.HasValidationIssues) { return(new DepartmentUpdate.Response(validationDetails)); } var commandModel = request.CommandModel; var currentDept = repository.GetEntity <Department>( p => p.DepartmentID == commandModel.DepartmentID, new AsNoTrackingQueryStrategy()); var rowVersion = default(byte[]); var container = currentDept.Modify(request.CommandModel); validationDetails = repository.Save(container, dbUpdateEx => OnUpdateFailedFunc(repository, dbUpdateEx, commandModel, ref rowVersion)); return(new DepartmentUpdate.Response(validationDetails, rowVersion)); }
public async Task <ActionResult> Edit(DepartmentUpdate.CommandModel commandModel) { var request = new DepartmentUpdate.Request(SystemPrincipal.Name, commandModel); var response = await DomainServices.DispatchAsync <DepartmentUpdate.Response>(request); if (!response.HasValidationIssues) { return(RedirectToAction("Index")); } if (response.RowVersion != null) { commandModel.RowVersion = response.RowVersion; } var instructors = await _QueryRepository.GetEntitiesAsync <Instructor>(new AsNoTrackingQueryStrategy());; ViewBag.InstructorID = new SelectList(instructors, "ID", "FullName", commandModel.InstructorID); ModelState.AddRange(response.ValidationDetails.AllValidationMessages); return(View(commandModel)); }