public async Task <CommandResult <CreateCustomerCommandResponse> > Handle(CreateCustomerCommand request, CancellationToken cancellationToken) { request.Validate(); if (!request.Valid) { if (request.Notifications.Any()) { return(CommandResult <CreateCustomerCommandResponse> .Failed(HttpStatusCode.PreconditionFailed, "Pre condition failed", request.Notifications)); } } var entityCreated = new CustomerEntity(); entityCreated.New(request.Name, request.LastName, request.Email); await _customerRepository.CreateAsync(entityCreated); return(CommandResult <CreateCustomerCommandResponse> .Succeeded(new CreateCustomerCommandResponse() { Id = entityCreated.Id.ToString(), Name = entityCreated.Name, LastName = entityCreated.LastName, Email = entityCreated.Email }, HttpStatusCode.Created)); }