/* =========================================================================================== * Edinaldo FIPE * Maio/2020 * Envia o email com o erro encontrado - TKSI * ==============================================================================================*/ public void EnviarEmailTratamentoErro(Exception ex, string pRotina = "") { if ((!FIPEContratosContext.EnvironmentIsProduction) && (ex.ToString().Contains("Timeout expired"))) { return; } string sMsgErro = ex.ToString() + " " + ex.InnerException; string sSubject = "*ERROR [ID:" + AppSettings.constGlobalUserID + "] - " + pRotina; if (sMsgErro.Length > 5001) { sMsgErro = sMsgErro.Substring(0, 5000); } string corpo = " SQL==> " + ConnnectionString.Substring(0, 80) + " " + sMsgErro; _GLog._GravaLog(AppSettings.constGlobalUserID, sSubject + corpo); try { var parametro = db.Parametro.FirstOrDefault(); if (parametro != null) { var emails = parametro.EmailsNotificacao.Split(";"); for (int i = 0; i < emails.Length; i++) { if (!String.IsNullOrEmpty(emails[i])) { new bEmail(db).EnviarEmail(emails[i], emails[i], sSubject, corpo, null, string.Empty); } } } else { new bEmail(db).EnviarEmail(sEmailErroDestiny2, sEmailErroName, sSubject + " Sem Parametro em ", corpo, null, string.Empty); } } catch (Exception exx) { new bEmail(db).EnviarEmail(sEmailErroDestiny2, sEmailErroName, sSubject + " Sem Acesso ao Banco em ", corpo + exx.Message + " " + exx.InnerException, null, string.Empty); } }
public OutputAuth Auth([FromBody] InputAuth auth) { var retorno = new OutputAuth(); using (var db = new FIPEContratosContext()) { try { if (auth.ResetSenha == true) { var login = db.Usuario.Where(w => w.DsLogin == auth.DsLogin).FirstOrDefault(); if (login != null) { // envio de email recuperação de senha var nomePessoa = db.PessoaFisica.Where(w => w.IdPessoaFisica == login.IdPessoa).FirstOrDefault().NmPessoa; var texto = db.EmailConfigurado.Where(w => w.DsTitulo == "Recuperação de Senha").FirstOrDefault().DsTexto; var corpoEmail = String.Format(texto, nomePessoa, auth.Url + login.NrToken); byte[] anexo = null; new bEmail(db).EnviarEmail(login.DsLogin, nomePessoa, "Recuperação de Senha", corpoEmail, anexo, ""); retorno.ResetSenha = true; } else { retorno.ResetSenha = false; } _GLog._GravaLog(login.IdUsuario, "Senha resetada de [" + login.DsLogin + "]"); return(retorno); } else { var usuario = new bUsuario(db).Auth(auth.DsLogin, Codificar(auth.CdSenha)); if (usuario != null) { var perfilUsuario = db.PerfilUsuario.Where(w => w.IdUsuario == usuario.IdUsuario).FirstOrDefault(); var perfil = db.Perfil.Where(w => w.IdPerfil == perfilUsuario.IdPerfil).OrderBy(x => x.IdPerfil).FirstOrDefault(); var nUsuario = db.PessoaFisica.Where(w => w.IdPessoaFisica == usuario.IdPessoa).FirstOrDefault(); usuario.NrToken = Guid.NewGuid(); db.SaveChanges(); retorno.Result = true; retorno.PrimeiroAcesso = false; retorno.IdUsuario = usuario.IdUsuario; retorno.IdPessoa = usuario.IdPessoa; retorno.DsLogin = usuario.DsLogin; retorno.PerfilUsuario = ""; retorno.NomeUsuario = nUsuario.NmPessoa; retorno.NrToken = usuario.NrToken.ToString(); _GLog._GravaLog(usuario.IdUsuario, "Usuario [" + usuario.IdUsuario + "-" + usuario.DsLogin + "] conectado no sistema"); } else { retorno.Result = false; } } } catch (Exception ex) { new bEmail(db).EnviarEmailTratamentoErro(ex, "LoginController-Auth"); retorno.Result = false; } return(retorno); } }