public async Task <IRetorno> CriarAsync(UsuarioDTO dto)
        {
            try
            {
                dto.Validate();

                if (dto.Invalid)
                {
                    return(new RetornoDTO(false, "Erro na requisição, verificar parametros de entrar", dto.Notifications));
                }

                var usuario = new Usuario(dto.Senha, dto.Documento, dto.Nome, dto.Telefone);

                var usuarioCriado = await _repository.CriarAsync(usuario);

                if (usuarioCriado)
                {
                    return(new RetornoDTO(true, "Usuário criado com suceso", usuario));
                }

                return(new RetornoDTO(false, "Erro ao tentar incluir na base", null));
            }catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <IRetorno> AlterarAsync(Guid id, UsuarioDTO dto)
        {
            try
            {
                dto.Validate();

                if (dto.Invalid)
                {
                    return(new RetornoDTO(false, "Erro na requisição, verificar parametros de entrar", dto.Notifications));
                }

                var usuario = await _repository.BuscarPorIdAsync(id);

                usuario.AlterarNome(dto.Nome);
                usuario.AlterarDocumento(dto.Documento);
                usuario.AlterarSenha(dto.Senha);

                var usuarioAlterado = await _repository.AlterarAsync(usuario);

                if (usuarioAlterado)
                {
                    return(new RetornoDTO(true, "Usuário alterador com sucesso", usuario));
                }

                return(new RetornoDTO(false, "Erro ao tentar salvar alteração na base", null));
            }catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 3
0
        public async Task <ICommandResult> Persistir(UsuarioDTO command, ELogin acoes)
        {
            command.Validate();
            if (command.Invalid)
            {
                return(new Retorno(false, "Dados Inválidos!", command.Notifications));
            }

            var retorno = new Retorno();

            switch (acoes)
            {
            case ELogin.CADASTRAR:
                retorno = await Cadastrar(command);

                break;

            case ELogin.ATUALIZAR:
                retorno = await Atualizar(command);

                break;

            case ELogin.EXCLUIR:
                retorno = await Excluir(command);

                break;
            }

            return(retorno);
        }
 public void Inserindo_Valores_Corretos_Para_UsuarioDTO()
 {
     _usuarioValido.Validate();
     Assert.AreEqual(false, _usuarioValido.Invalid);
 }
 public void Inserindo_Valores_Incorretos_Para_UsuarioDTO()
 {
     _usuarioInvalido.Validate();
     Assert.AreEqual(true, _usuarioInvalido.Invalid);
 }