示例#1
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);
        }
示例#2
0
        public BLLResponse <Usuario> Registrar(Usuario item, string senhaRepetida)
        {
            List <ErrorField>     erros    = ValidarUsuarioParaRegistro(item, senhaRepetida);
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            response.Erros = erros;
            if (response.HasErros)
            {
                response.Sucesso = false;
                return(response);
            }

            Criptografia.EncriptografarEGuardarSalt(item);

            using (LTContext ctx = new LTContext())
            {
                item.PathFotoPerfil = "/UserImages/DefaultCropped.png";
                ctx.Usuarios.Add(item);
                ctx.SaveChanges();
            }
            response.Sucesso = true;
            response.Data    = item;
            return(response);
        }
示例#3
0
 /// <summary>
 /// Encriptografa senha de um Usuario, armazenando no objeto o hash e salt
 /// </summary>
 /// <param name="item"></param>
 public static void EncriptografarEGuardarSalt(Usuario item)
 {
     byte[] salt;
     item.Hash = Criptografia.Encriptar(item.Senha, out salt);
     item.Salt = salt;
 }