예제 #1
0
 public HttpResponseMessage Inserir(InserirUsuarioRequest request)
 {
     try
     {
         var response = _service.InserirResponse(request);
         return(Response(response, response.Status));
     }
     catch (Exception e)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message));
     }
 }
예제 #2
0
        public InserirUsuarioResponse InserirResponse(InserirUsuarioRequest request)
        {
            var existeEmail = false;

            try
            {
                existeEmail = _repository.Existe(x => x.Email == request.Email);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            if (existeEmail)
            {
                return(new InserirUsuarioResponse()
                {
                    Mensagens = Mensagens.JA_EXISTE, Status = EnumStatusObjeto.Erro
                });
            }

            var usuario  = new Usuario(request.Nome, request.Email, request.Senha);
            var mensagem = usuario.ValidarCamposObrigatorios();

            if (mensagem != null)
            {
                return new InserirUsuarioResponse()
                       {
                           Mensagens = mensagem, Status = EnumStatusObjeto.Erro
                       }
            }
            ;

            _repository.Adicionar(usuario);

            return(new InserirUsuarioResponse()
            {
                Id = usuario.Id,
                Mensagens = Mensagens.OPERACAO_SUCESSO,
                Status = EnumStatusObjeto.Sucesso
            });
        }
예제 #3
0
        public UsuarioResponse Inserir(InserirUsuarioRequest request)
        {
            if (request == null)
            {
                throw new RequestInvalidoExcecao();
            }

            if (string.IsNullOrWhiteSpace(request.Nome))
            {
                throw new ParametroInvalidoExcecao("Favor informar um nome");
            }

            if (string.IsNullOrWhiteSpace(request.Email))
            {
                throw new ParametroInvalidoExcecao("Favor informar um e-mail");
            }

            if (string.IsNullOrWhiteSpace(request.Senha))
            {
                throw new ParametroInvalidoExcecao("Favor informar uma senha");
            }

            if (string.IsNullOrWhiteSpace(request.Telefone))
            {
                throw new ParametroInvalidoExcecao("Favor informar um telefone");
            }

            if (this.usuarioRepositorio.RecuperarPorEmail(request.Email) != null)
            {
                throw new RegraDeNegocioExcecao("O e-mail informado já está cadastrado no D3vMyGame!");
            }

            Usuario novoUsuario = this.usuarioRepositorio.Inserir(request.Nome, request.Email, request.Senha, request.Telefone);

            return(this.configuracoesDeMapeamento.CreateMapper().Map <Usuario, UsuarioResponse>(novoUsuario));
        }
예제 #4
0
        public IHttpActionResult Inserir([FromBody] InserirUsuarioRequest request)
        {
            var response = this.usuarioAppService.Inserir(request);

            return(Created(new Uri(Request.RequestUri + "/" + response.Codigo.ToString()), response));
        }