Exemplo n.º 1
0
 public Clientes Add(Clientes Cliente)
 {
     try
     {
         Cliente.Senha = MD5Hash.GerarHashMd5(Cliente.Senha);
         _contexto.Clientes.Add(Cliente);
         _contexto.SaveChanges();
         return(Cliente);
     }
     catch (Exception e)
     {
         throw new Exception("Erro ao inserir Cliente: " + e.Message + " (" + e.InnerException + ")");
     }
 }
Exemplo n.º 2
0
 public Operadores Add(Operadores Operador)
 {
     try
     {
         Operador.Senha = MD5Hash.GerarHashMd5(Operador.Senha);
         _contexto.Operadores.Add(Operador);
         _contexto.SaveChanges();
         return(Operador);
     }
     catch (Exception e)
     {
         throw new Exception("Erro ao inserir Operador: " + e.Message + " (" + e.InnerException + ")");
     }
 }
Exemplo n.º 3
0
        public TokenDTO Login(LoginDTO Usuario)
        {
            TokenDTO Retorno = new TokenDTO();

            if (Usuario.Operador)
            {
                int Matricula;
                try
                {
                    Matricula = Convert.ToInt32(Usuario.Login);
                }
                catch
                {
                    throw new Exception($"O login informado: {Usuario.Login} não é uma matrícula de operador válida.");
                }
                Operadores Operador = this._operadoresRepositorio.GetByLogin(Matricula);

                if (Operador == null)
                {
                    throw new Exception($"O login informado: {Usuario.Login} não existe.");
                }

                bool ValidaSenha = Operador.Senha.Equals(MD5Hash.GerarHashMd5(Usuario.Senha));

                if (!ValidaSenha)
                {
                    throw new Exception($"A senha para login informado: {Usuario.Login} não corresponde.");
                }

                Tuple <string, DateTime> Token = GerarToken(new UsuarioDTO {
                    Nome = Operador.Nome, Perfil = "Operador"
                });

                Retorno.Usuario   = Operador.Nome;
                Retorno.Perfil    = "Operador";
                Retorno.Token     = Token.Item1;
                Retorno.Expiracao = Token.Item2;
            }
            else
            {
                if (!ValidaCPF.ValidarCPF(Usuario.Login))
                {
                    throw new Exception($"O login informado: {Usuario.Login} não é um CPF de cliente válido.");
                }

                Clientes Cliente = this._clientesRepositorio.GetByCpf(Usuario.Login);

                if (Cliente == null)
                {
                    throw new Exception($"O cliente informado: {Usuario.Login} não existe.");
                }

                bool ValidaSenha = Cliente.Senha.Equals(MD5Hash.GerarHashMd5(Usuario.Senha));

                if (!ValidaSenha)
                {
                    throw new Exception($"A senha para o cliente informado: {Usuario.Login} não corresponde.");
                }

                Tuple <string, DateTime> Token = GerarToken(new UsuarioDTO {
                    Nome = Cliente.Nome, Perfil = "Cliente"
                });

                Retorno.Usuario   = Cliente.Nome;
                Retorno.Perfil    = "Cliente";
                Retorno.Token     = Token.Item1;
                Retorno.Expiracao = Token.Item2;
            }

            return(Retorno);
        }