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 + ")"); } }
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 + ")"); } }
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); }