Exemple #1
0
        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()));
        }
Exemple #2
0
        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));
        }