Ejemplo n.º 1
0
        public async Task <IActionResult> Add(CreateClientQuery query)
        {
            var commandExecutionResult = await _clientService.HandleAsync(query);

            var vm = BuildAddForm(commandExecutionResult.Result);

            return(View("FormView", vm));
        }
Ejemplo n.º 2
0
        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))));
        }
Ejemplo n.º 3
0
        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);
        }