public async Task <IActionResult> Add(CreateClientQuery query) { var commandExecutionResult = await _clientService.HandleAsync(query); var vm = BuildAddForm(commandExecutionResult.Result); return(View("FormView", vm)); }
public async Task <IActionResult> Add(CreateClientQuery query, CreateClientCommand command) { if (ModelState.IsValid == false) { var vm = BuildAddForm(command.Adapt <ClientEntity>()); return(View("FormView", vm)); } await _clientService.HandleAsync(command); return(Redirect(Url.AppUri(nameof(Edit), nameof(ClientController), new UpdateClientQuery(command.ClientId)))); }
public async Task <QueryExecutionResult <ClientEntity> > HandleAsync(CreateClientQuery query) { var clientEntity = _randomGenerator.RandomClient(); if (query.ClientOwnerId != null) { clientEntity.ClientOwnerId = query.ClientOwnerId.Value; var clientOwner = await _repository.FirstAsync(new EmployeeWithIdSpecification(query.ClientOwnerId.Value)); if (clientOwner == null) { return(new QueryExecutionResult <ClientEntity>($"Employee with ID {query.ClientOwnerId.Value} is not found.")); } clientEntity.ClientOwner = clientOwner; } var queryExecutionResult = new QueryExecutionResult <ClientEntity>(clientEntity); return(queryExecutionResult); }