public static Retorno ValidaCpfCnpjUsuario(string token, string usuario, string CpfCnpj) { ModelApiUnes _db = new ModelApiUnes(); _db.Configuration.ProxyCreationEnabled = false; Retorno retorno = new Retorno(); List <TB_USUARIO> usuUsuario = _db.TB_USUARIO.Where(u => u.USU_TX_USUARIO.Equals(usuario)) .Select(u => u).ToList <TB_USUARIO>(); long cpfcnpj = Convert.ToInt64(CpfCnpj); List <TB_PESSOA> pesPessoa = _db.TB_PESSOA.Where(p => p.PES_NR_CPF_CNPJ == cpfcnpj) .Select(p => p).ToList <TB_PESSOA>(); if (String.IsNullOrEmpty(pesPessoa[0].PES_TX_EMAIL) || String.IsNullOrWhiteSpace(pesPessoa[0].PES_TX_EMAIL)) { retorno = new Retorno(); retorno.Token = false; return(retorno); } if ((usuUsuario.Count > 0) && (pesPessoa.Count > 0)) { string dsSenha = new Random().Next(100000, 999999).ToString(); var str = dsSenha; var alg = SHA512.Create(); byte[] byteArray = new byte[255]; byteArray = alg.ComputeHash(Encoding.UTF8.GetBytes(str)); var cript = BitConverter.ToString(byteArray).Replace("-", ""); string senhaSHA512 = cript.Substring(64) + cript.Substring(0, 64); long userId = usuUsuario[0].USU_ID_USUARIO; TB_USUARIO_ALIAS ObjUsuario = _db.TB_USUARIO_ALIAS .Where( e => e.USU_ID_USUARIO == userId && e.UAL_TX_ALIAS.Equals("admin")) .Select(e => e).FirstOrDefault(); ObjUsuario.UAL_TX_SENHA = senhaSHA512; Update(token, ObjUsuario, _db); var texto = System.IO.File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + @"\App_Data\TemplateRecuperarSenha.txt"); texto = texto.Replace("{ username }", usuario); texto = texto.Replace("{ XXXXXX }", dsSenha); Gateways.GatewayUtils.SendMail(texto, pesPessoa[0].PES_TX_EMAIL, "SERVELOJA - Recuperação de Senha"); var list = new[] { new { Sucess = true } }.ToList <dynamic>(); retorno.Token = true; retorno.Registros = list; } return(retorno); }
/// <summary> /// Autentica Usuário - TB_USUARIO_ALIAS /// </summary> /// <param name="senha"></param> /// <param name="usuario"></param> /// <returns></returns> public static Retorno Autenticate(String senha, String usuario) { try { Boolean PERFIL = Permissoes.GetAdminPermissionFromUser(usuario); if (PERFIL) { var str = senha; var alg = SHA512.Create(); byte[] byteArray = new byte[255]; byteArray = alg.ComputeHash(Encoding.UTF8.GetBytes(str)); var cript = BitConverter.ToString(byteArray).Replace("-", ""); string senhaSHA512 = cript.Substring(64) + cript.Substring(0, 64); ModelApiUnes _db = new ModelApiUnes(); int usuIdUsuario = (int)_db.TB_USUARIO.Where(u => u.USU_TX_USUARIO.Equals(usuario)) .Select(u => u.USU_ID_USUARIO).FirstOrDefault(); TB_USUARIO_ALIAS ObjUsuario = _db.TB_USUARIO_ALIAS.Where(e => e.USU_ID_USUARIO.Equals(usuIdUsuario) && e.UAL_TX_ALIAS.Equals("admin") && e.UAL_TX_SENHA.Equals(senhaSHA512)) .Select(e => e).FirstOrDefault(); if (ObjUsuario != null) { return(GatewayTbUniversidadeTokenApi.NewToken(usuario + usuario.GetHashCode() + DateTime.Now + DateTime.Now.GetHashCode(), usuIdUsuario)); } else { return(new Retorno()); } } else { Retorno retorno = new Retorno(); List <dynamic> item = new List <dynamic>(); item.Add(false); retorno.Registros = item; return(retorno); } } catch (Exception e) { string msg = e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message; Gateways.GatewayUtils.SendError(msg); throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } }
/// <summary> /// Adiciona nova TB_USUARIO_ALIAS /// </summary> /// <param name="param"></param> /// <returns></returns> public static Int64 Add(string token, TB_USUARIO_ALIAS param, ModelApiUnes _dbContext = null) { ModelApiUnes _db; if (_dbContext == null) { _db = new ModelApiUnes(); } else { _db = _dbContext; } using (var transaction = _db.Database.BeginTransaction()) { try { _db.TB_USUARIO_ALIAS.Add(param); _db.SaveChanges(); transaction.Commit(); return(param.UAL_ID_USUARIO_ALIAS); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } finally { if (_dbContext == null) { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } } } }
/// <summary> /// Altera TB_USUARIO_ALIAS /// </summary> /// <param name="param"></param> /// <returns></returns> public static void Update(string token, TB_USUARIO_ALIAS param, ModelApiUnes _dbContext = null) { ModelApiUnes _db; if (_dbContext == null) { _db = new ModelApiUnes(); } else { _db = _dbContext; } using (var transaction = _db.Database.BeginTransaction()) { try { TB_USUARIO_ALIAS value = _db.TB_USUARIO_ALIAS .Where(e => e.UAL_ID_USUARIO_ALIAS.Equals(param.UAL_ID_USUARIO_ALIAS)) .First <TB_USUARIO_ALIAS>(); if (param.UAL_ID_USUARIO_ALIAS != value.UAL_ID_USUARIO_ALIAS) { value.UAL_ID_USUARIO_ALIAS = param.UAL_ID_USUARIO_ALIAS; } if (param.USU_ID_USUARIO != value.USU_ID_USUARIO) { value.USU_ID_USUARIO = param.USU_ID_USUARIO; } if (param.UAL_TX_ALIAS != null && param.UAL_TX_ALIAS != value.UAL_TX_ALIAS) { value.UAL_TX_ALIAS = param.UAL_TX_ALIAS; } if (param.UAL_TX_SENHA != null && param.UAL_TX_SENHA != value.UAL_TX_SENHA) { value.UAL_TX_SENHA = param.UAL_TX_SENHA; } if (param.UAL_NR_DIAS != null && param.UAL_NR_DIAS != value.UAL_NR_DIAS) { value.UAL_NR_DIAS = param.UAL_NR_DIAS; } if (param.UAL_DT_SENHA != null && param.UAL_DT_SENHA != value.UAL_DT_SENHA) { value.UAL_DT_SENHA = param.UAL_DT_SENHA; } if (param.UAL_BL_MUDAR != value.UAL_BL_MUDAR) { value.UAL_BL_MUDAR = param.UAL_BL_MUDAR; } if (param.UAL_BL_ATIVO != value.UAL_BL_ATIVO) { value.UAL_BL_ATIVO = param.UAL_BL_ATIVO; } if (param.UAL_NR_TENTATIVAS != null && param.UAL_NR_TENTATIVAS != value.UAL_NR_TENTATIVAS) { value.UAL_NR_TENTATIVAS = param.UAL_NR_TENTATIVAS; } if (param.UAL_DT_TENTATIVAS != null && param.UAL_DT_TENTATIVAS != value.UAL_DT_TENTATIVAS) { value.UAL_DT_TENTATIVAS = param.UAL_DT_TENTATIVAS; } if (param.UPA_ID_PERFIL_ALIAS != null && param.UPA_ID_PERFIL_ALIAS != value.UPA_ID_PERFIL_ALIAS) { value.UPA_ID_PERFIL_ALIAS = param.UPA_ID_PERFIL_ALIAS; } if (param.PER_ID_PERFIL_GENERICO != null && param.PER_ID_PERFIL_GENERICO != value.PER_ID_PERFIL_GENERICO) { value.PER_ID_PERFIL_GENERICO = param.PER_ID_PERFIL_GENERICO; } if (param.UAL_BL_GRATUIDADE != null && param.UAL_BL_GRATUIDADE != value.UAL_BL_GRATUIDADE) { value.UAL_BL_GRATUIDADE = param.UAL_BL_GRATUIDADE; } if (param.UAL_DT_CRIACAO != null && param.UAL_DT_CRIACAO != value.UAL_DT_CRIACAO) { value.UAL_DT_CRIACAO = param.UAL_DT_CRIACAO; } _db.SaveChanges(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } finally { if (_dbContext == null) { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } } } }