private UsuarioTbl autenticarUsuario(UsuarioTbl login)
        {
            var usuario = context.UsuarioTbl.Include(u => u.UsuarioTipo).FirstOrDefault(user => user.UsuarioEmail == login.UsuarioEmail && user.UsuarioSenha == login.UsuarioSenha);


            return(usuario);
        }
        public async Task <ActionResult <UsuarioTbl> > Put(int id, UsuarioTbl usuario)
        {
            var usuarioAlterado = await repositorio.Get(id);

            if (id != usuario.UsuarioId)
            {
                return(BadRequest("Ids divergentes."));
            }

            if (usuarioAlterado == null)
            {
                return(NotFound("Usuário não encontrado."));
            }

            try
            {
                return(await repositorio.Put(usuario));
            }
            catch (System.ArgumentException)
            {
                return(BadRequest(new { mensagem = "Verifique os campos em nulo." }));

                throw;
            }

            // if(id != usuario.UsuarioId){
            //     return BadRequest("Id inválida");
            // }

            // var arquivo = Request.Form.Files[0];
            // usuario.UsuarioId = usuarioAlterado.UsuarioId;
            // usuario.UsuarioImagem = upload.Upload(arquivo, "images");

            // usuario.UsuarioNome = Request.Form["UsuarioNome"];


            // if(usuario.UsuarioNome == null){
            //     throw new System.ArgumentNullException("Campo Nome é obrigatório.");
            // }

            // // usuario.UsuarioEmail = Request.Form["UsuarioEmail"];
            // if(usuario.UsuarioEmail == null){
            //     throw new System.ArgumentNullException("Campo E-mail é obrigatório.");
            // }

            // usuario.UsuarioComunidade = Request.Form["UsuarioComunidade"];
            // if(usuario.UsuarioComunidade == null){
            //     throw new System.ArgumentNullException("Digite o nome da comunidade.");
            // }

            // usuario.UsuarioTipoId = int.Parse(Request.Form["UsuarioTipoId"]);


            // usuario.UsuarioSenha = Request.Form["UsuarioSenha"];


            // return await repositorio.Put(usuario);
        }
        public async Task <ActionResult <UsuarioTbl> > Put([FromForm] UsuarioTbl usuario)
        {
            var usuarioAlterado = await repositorio.Get(usuario.UsuarioId);

            if (usuarioAlterado == null)
            {
                return(NotFound("Usuário não encontrado."));
            }

            if (usuarioAlterado.UsuarioId != usuario.UsuarioId)
            {
                return(BadRequest("Id inválida"));
            }

            // var arquivo = Request.Form.Files[0];
            usuario.UsuarioId = usuarioAlterado.UsuarioId;
            // usuario.UsuarioImagem = upload.Upload(arquivo, "images");

            usuario.UsuarioNome = Request.Form["UsuarioNome"];
            if (usuario.UsuarioNome == null)
            {
                throw new System.ArgumentNullException("Campo Nome é obrigatório.");
            }

            usuario.UsuarioEmail = Request.Form["UsuarioEmail"];
            if (usuario.UsuarioEmail == null)
            {
                throw new System.ArgumentNullException("Campo E-mail é obrigatório.");
            }

            usuario.UsuarioComunidade = Request.Form["UsuarioComunidade"];
            if (usuario.UsuarioComunidade == null)
            {
                throw new System.ArgumentNullException("Digite o nome da comunidade.");
            }

            usuario.UsuarioTipoId = int.Parse(Request.Form["UsuarioTipoId"]);
            if (usuario.UsuarioTipoId == null)
            {
                throw new System.ArgumentNullException("O campo tipo é obrigatório");
            }

            usuario.UsuarioSenha = Request.Form["UsuarioSenha"];
            if (usuario.UsuarioSenha == null)
            {
                throw new System.ArgumentNullException("O campo Senha é obrigatório");
            }
            else if (usuario.UsuarioSenha.Length < 8)
            {
                throw new System.ArgumentException("A senha possui menos de 8 caracteres");
            }
            else if (usuarioAlterado.UsuarioSenha == usuario.UsuarioSenha)
            {
                throw new System.ArgumentException("A senha digitada é igual a senha atual.");
            }

            return(await repositorio.Put(usuario));
        }
        public async Task <ActionResult <UsuarioTbl> > Post([FromForm] UsuarioTbl usuario)
        {
            if (await repositorio.ValidaEmail(usuario))
            {
                return(BadRequest("Esse E-mail já foi cadastrado"));
            }

            if (!usuario.UsuarioEmail.Contains('@') || !usuario.UsuarioEmail.Contains('.'))
            {
                throw new System.ArgumentException("E-mail inválido.");
            }

            if (usuario.UsuarioSenha.Length < 8)
            {
                throw new System.ArgumentException("A senha possui menos de 8 caracteres");
            }

            // try
            // {
            //     await repositorio.Post(usuario);
            //     return Ok("Usuário cadastrado!");
            // }
            // catch (System.Exception)
            // {
            //     return BadRequest(new { mensagem = "Verifique os campos em nulo."});
            //     throw;
            // }

            // var arquivo = Request.Form.Files[0];
            // usuario.UsuarioImagem = upload.Upload(arquivo, "images");

            usuario.UsuarioNome = Request.Form["UsuarioNome"];
            if (usuario.UsuarioNome == null)
            {
                throw new System.ArgumentNullException("Campo Nome é obrigatório.");
            }

            usuario.UsuarioEmail = Request.Form["UsuarioEmail"];
            if (usuario.UsuarioEmail == null)
            {
                throw new System.ArgumentNullException("Campo E-mail é obrigatório.");
            }

            usuario.UsuarioComunidade = Request.Form["UsuarioComunidade"];

            usuario.UsuarioSenha = Request.Form["UsuarioSenha"];
            if (usuario.UsuarioSenha == null)
            {
                throw new System.ArgumentNullException("Campo Senha é obrigatório.");
            }

            usuario.UsuarioTipoId = int.Parse(Request.Form["UsuarioTipoId"]);
            await repositorio.Post(usuario);

            return(Ok("Usuário cadastrado"));
        }
Esempio n. 5
0
        public async Task <ActionResult <UsuarioTbl> > Delete(int id)
        {
            UsuarioTbl usuarioDeletado = await repositorio.Delete(id);

            if (usuarioDeletado == null)
            {
                return(NotFound("Usuário não encontrado!"));
            }

            return(usuarioDeletado);
        }
        public async Task <UsuarioTbl> Post(UsuarioTbl usuario)
        {
            UsuarioTbl usuarioCadastrado = usuario;
            // usuarioCadastrado.UsuarioNome = usuario.UsuarioNome.ToLower();

            await context.UsuarioTbl.AddAsync(usuarioCadastrado);

            await context.SaveChangesAsync();

            return(usuarioCadastrado);
        }
        public async Task <bool> ValidaEmail(UsuarioTbl usuario)
        {
            UsuarioTbl usuarioExiste = await context.UsuarioTbl.FirstOrDefaultAsync(u => u.UsuarioEmail == usuario.UsuarioEmail);

            if (usuarioExiste == null)
            {
                return(false);
            }

            return(true);
        }
        public async Task <ActionResult <UsuarioTbl> > Get(int id)
        {
            UsuarioTbl usuario = await repositorio.Get(id);

            if (usuario == null)
            {
                return(NotFound("Usuário não encontrado."));
            }

            return(usuario);
        }
Esempio n. 9
0
        public IActionResult Login(UsuarioTbl login)
        {
            IActionResult resposta = Unauthorized("Login não autorizado.");

            var usuario = autenticarUsuario(login);

            if (usuario != null)
            {
                var tokenString = gerarJsonWebToken(usuario);
                resposta = Ok(new { token = tokenString });
            }

            return(resposta);
        }
        public async Task <UsuarioTbl> Delete(int id)
        {
            UsuarioTbl usuario = await context.UsuarioTbl.FindAsync(id);

            if (usuario == null)
            {
                return(null);
            }

            context.UsuarioTbl.Remove(usuario);
            await context.SaveChangesAsync();

            return(usuario);
        }
        public async Task <UsuarioTbl> Put(UsuarioTbl usuario)
        {
            UsuarioTbl usuarioModificado = await context.UsuarioTbl.FindAsync(usuario.UsuarioId);

            // usuarioModificado.UsuarioId = usuario.UsuarioId;
            usuarioModificado.UsuarioNome       = usuario.UsuarioNome;
            usuarioModificado.UsuarioEmail      = usuario.UsuarioEmail;
            usuarioModificado.UsuarioComunidade = usuario.UsuarioComunidade;
            usuarioModificado.UsuarioSenha      = usuario.UsuarioSenha;
            usuarioModificado.UsuarioTipoId     = usuario.UsuarioTipoId;

            // context.Entry(usuario).State = EntityState.Modified;
            await context.SaveChangesAsync();

            return(usuario);
        }
Esempio n. 12
0
        public async Task <ActionResult <UsuarioTbl> > Get(int id)
        {
            UsuarioTbl usuario = await repositorio.Get(id);

            if (usuario == null)
            {
                return(NotFound("Usuário não encontrado."));
            }
            var arquivo = Request.Form.Files[0];

            usuario.UsuarioImagem = upload.Upload(arquivo, "images/UsuarioTbl");

            if (usuario.UsuarioImagem == null)
            {
                throw new System.ArgumentException("Imagem Obrigatória");
            }

            return(usuario);
        }
Esempio n. 13
0
        private string gerarJsonWebToken(UsuarioTbl infousuario)
        {
            var chaveDeSegurança = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(config["Jwt:Key"]));
            var credencial       = new SigningCredentials(chaveDeSegurança, SecurityAlgorithms.HmacSha256);

            var claims = new[] {
                new Claim(JwtRegisteredClaimNames.NameId, infousuario.UsuarioNome),
                new Claim(JwtRegisteredClaimNames.Email, infousuario.UsuarioEmail),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim(ClaimTypes.Role, infousuario.UsuarioTipo.TipoNome),
            };

            var token = new JwtSecurityToken(config["Jwt:Issuer"],
                                             config["Jwt:Issuer"],
                                             claims,
                                             expires: DateTime.Now.AddMinutes(120),
                                             signingCredentials: credencial
                                             );

            return(new JwtSecurityTokenHandler().WriteToken(token));
        }