public async Task <IActionResult> AddEmail(AddEmployeeEmailQuery query) { var queryExecutionResult = await _employeeService.HandleAsync(query); var vm = BuildNewEmailVm(queryExecutionResult.Result, new AddEmployeeEmailCommand()); return(View(vm)); }
public async Task <QueryExecutionResult <EmployeeEntity> > HandleAsync(AddEmployeeEmailQuery query) { var employeeEntity = await _repository.FirstAsync(new EmployeeWithIdSpecification(query.EmployeeId)); var queryExecutionResult = new QueryExecutionResult <EmployeeEntity>(employeeEntity); return(queryExecutionResult); }
public async Task <IActionResult> AddEmail(AddEmployeeEmailQuery query, AddEmployeeEmailCommand command) { if (ModelState.IsValid == false) { var queryExecutionResult = await _employeeService.HandleAsync(query); var vm = BuildNewEmailVm(queryExecutionResult.Result, command); return(View(vm)); } await _employeeService.HandleAsync(command); return(Redirect(EmailsUri(new SearchEmployeeEmailQuery(query.EmployeeId)))); }
private string AddEmailUri(AddEmployeeEmailQuery query) => Url.AppUri(nameof(AddEmail), nameof(EmployeeController), query);