Ejemplo n.º 1
0
        public ActionResult PostUsuarios([FromBody] UsuarioParaAdicionarDto usuario)
        {
            if (usuario == null)
            {
                var erro = new
                {
                    Mensagem   = "É necessario informar um usuario",
                    StatusCode = 400
                };
                return(BadRequest(erro));
            }

            if (!ModelState.IsValid)
            {
                var erro = new
                {
                    Mensagem   = ModelState.Values,
                    StatusCode = 400
                };
                return(BadRequest(erro));
            }

            if (_repository.EmailJaExiste(usuario.Email))
            {
                var erro = new
                {
                    Mensagem   = "O email informado já está cadastrado",
                    StatusCode = 400
                };
                return(BadRequest(erro));
            }
            usuario.Senha = _repository.ToHash(usuario.Senha);
            var usuarioEntity = Mapper.Map <Usuario>(usuario);

            _repository.AdicionaUsuario(usuarioEntity);

            if (!_repository.Salvar())
            {
                var erro = new
                {
                    Mensagem   = "Houve um erro ao tentar salvar mudancas no banco",
                    StatusCode = 500
                };
                return(StatusCode(500, erro));
            }
            var usuarioCriado = Mapper.Map <UsuarioDto>(usuarioEntity);

            if (Request != null)
            {
                var uri = ((Request.IsHttps) ? "https://" : "http://")
                          + Request.Host.ToUriComponent()
                          + Request.Path.ToUriComponent() + "/"
                          + usuarioCriado.UsuarioId;

                return(Created(uri, usuarioCriado));
            }

            return(Created("ambiente de teste", usuarioCriado));
        }
Ejemplo n.º 2
0
        public void PostUsuariosDeveChecarSeOEmailJaExisteERetornarOStatusBadRequest()
        {
            var usuarioInvalido = new UsuarioParaAdicionarDto()
            {
                Senha = "teste1",
                Nome  = "teste1",
                Email = "*****@*****.**"
            };

            var atual = _controller.PostUsuarios(usuarioInvalido);

            Assert.IsType <BadRequestObjectResult>(atual);
        }
Ejemplo n.º 3
0
        public void PostUsuariosDeveChecarSeOUsuarioEValidoERetornarOStatusBadRequest()
        {
            var usuarioInvalido = new UsuarioParaAdicionarDto()
            {
                Email = null,
                Nome  = null,
                Senha = null
            };

            var atual = _controller.PostUsuarios(usuarioInvalido);

            Assert.IsType <BadRequestObjectResult>(atual);
        }