コード例 #1
0
        public BLLResponse <Usuario> UpdatePassword(Usuario usuario, string senhaAntiga)
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            using (LTContext ctx = new LTContext())
            {
                Usuario userDoDb      = ctx.Usuarios.Find(usuario.ID);
                bool    EhSenhaAntiga = Criptografia.Verificar(senhaAntiga, userDoDb.Salt, userDoDb.Hash);

                if (!EhSenhaAntiga)
                {
                    response.Mensagem = "Senha atual incorreta.";
                    return(response);
                }
                if (userDoDb == null)
                {
                    response.Mensagem = "Algo de errado ocorreu.";
                    return(response);
                }
                else
                {
                    userDoDb.Senha = usuario.Senha;
                    Criptografia.EncriptografarEGuardarSalt(userDoDb);
                    ctx.SaveChanges();

                    response.Sucesso  = true;
                    response.Mensagem = "Senha atualizada com sucesso!";
                    response.Data     = userDoDb;
                    return(response);
                }
            }
        }
コード例 #2
0
        public BLLResponse <Usuario> IsLoginValido(Usuario item)
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            response.Erros = new List <ErrorField>();

            using (LTContext ctx = new LTContext())
            {
                Usuario userDoBanco = ctx.Usuarios.FirstOrDefault(u => u.Email == item.Email);
                if (userDoBanco == null)
                {
                    response.Erros.Add(new ErrorField(fieldName: nameof(userDoBanco.Email),
                                                      message: MensagensPadrao.UserOuSenhaInvalidosMessage()));
                    return(response);
                }
                response.Sucesso = Criptografia.Verificar(item.Senha, userDoBanco.Salt, userDoBanco.Hash);
                if (response.Sucesso)
                {
                    response.Data = userDoBanco;
                }
            }
            return(response);
        }