public async Task <Result <string> > CriarUsuarioCliente(UsuarioClienteInclusaoModel usuarioClienteInclusaoModel) { var usuario = _mapper.Map <UsuarioClienteInclusaoModel, Usuario>(usuarioClienteInclusaoModel); if (!usuario.Valid) { return(Result <string> .Error(usuario.Notifications)); } var clienteDbModel = await _clienteReadOnlyRepository.ObterClienteAsync(usuarioClienteInclusaoModel.ClienteId); if (clienteDbModel == null) { return(Result <string> .Error(new List <Notification> { new Notification("Usuário", "Cliente não encontrado") })); } var usuarioDbModel = await _usuarioWriteOnlyRepository .CriarUsuarioAsync(_mapper.Map <Usuario, UsuarioDbModel>(usuario)); if (usuarioDbModel != null) { await _clienteWriteOnlyRepository .AtribuirUsuario(clienteDbModel.Id, usuarioDbModel.Id); } return(Result <string> .Ok(usuario.Id.ToString())); }
public async Task <IActionResult> RegistraUsuarioCliente([FromBody] UsuarioClienteInclusaoModel usuarioInclusaoModel) { var result = await _usuarioApplication.CriarUsuarioCliente(usuarioInclusaoModel); if (result.Success) { return(Created($"/usuarios/{result.Object}", result.Object)); } return(BadRequest(result.Notifications)); }