//using bdAsegasa;
//using bdAsegasa.db;
//using bdAsegasa.dbcontext;
//using System;
//using System.Collections.Generic;
//using System.IO;
//using System.Linq;
//using tsUtilidades;
//using tsUtilidades.Extensiones;
//namespace Servicio_Gestion_Asegasa.Procesos
//{
// public class ProcesosGestionesVarias
// {
// public static async Task GeneraCorreoRestablecimientoContraseñaAsync()
// {
// string sProceso = "GeneraCorreoRestablecimientoContraseña";
// try
// {
// var bd = tscgestionasegasa.NuevoContexto(); ;
// var idTgag = bd.enumeraciones.First(x => x.Codigo == "TGV.CCAG").idEnumeracion;
// var idTgsag = bd.enumeraciones.First(x => x.Codigo == "TGV.CCSAG").idEnumeracion;
// var gess = bd.gestionesvarias.Where(x => x.idCorreo.HasValue == false && (x.idTipo == idTgag || x.idTipo == idTgsag) && x.FechaProcesado.HasValue == false).ToList();
// var urlaseg = bd.enumeraciones.First(x => x.Codigo == "CONF.URLWC").ValorAlfabeticoLargo;
// foreach (var g in gess)
// {
// string sDestinatario;
// string sAsunto;
// if (g.idTipo == idTgag)
// {
// var ag = bd.agentes.First(x => x.idAgente != 0);
// sDestinatario = ag.Email;
// sAsunto = "Solicitud de cambio de contraseña al Agente " + ag.Nombre + " (Nº " + ag.Codigo + ")";
// }
// else
// {
// var sag = bd.subagentes.First(x => x.idAgente != 0);
// sDestinatario = sag.Email;
// sAsunto = "Solicitud de cambio de contraseña al SubAgente " + sag.Nombre + " (Nº " + sag.idAgenteNavigation.Codigo + "-" + sag.Codigo + ")";
// }
// if (Directory.Exists(@"c:\tecnosis.tfs"))
// {
// sDestinatario = "sevilla@tecnosis.net";
// }
// if (sDestinatario.EsEmailValido())
// {
// g.Parametros = tsUtilidades.crypt.SHA1("M3Soft." + DateTime.Now.ToBinary().ToString() + g.idGestion.ToString());
// string sUrlEnlace = urlaseg + "/nuevaContrasena.aspx?id=" + g.idGestion.ToString() + "&cl=" + g.Parametros;
// string sCuerpo = "Estimado compañero/a: Adjunto te remitimos el enlace para restablecer la contraseña de acceso a la Web de Asegasa. Si usted no ha realizado dicha solicitud, póngase en contacto con nosotros. Un saludo.";
// sCuerpo += "
Url Restablecimiento de contraseña: Pulse aquí";
// var cta = bd.cuentascorreo.First(x => x.Codigo == "SEG.GENERALES");
// g.idCorreo = bdAsegasa.db.correos.GeneraRegistroCorreo(bd, sAsunto, sCuerpo, cta, sDestinatario);
// bd.SaveChanges();
// }
// else
// {
// g.FechaProcesado = DateTime.Now;
// bd.SaveChanges();
// await tsUtilidades.TsNotificacionesClient.RegistrarAsync("En GeneraCorreoRestablecimientoContraseña.", "Rutina: GeneraCorreoRestablecimientoContraseña. " + " El Agente o subagente " + g.Descripción + " no tiene un correo válido.", TsNotificacionesClient.TipoNotificacionEnum.ERROR);
// }
// }
// }
// catch (Exception ex)
// {
// await tsUtilidades.TsNotificacionesClient.RegistrarAsync("En GeneraCorreoRestablecimientoContraseña.", "Rutina: GeneraCorreoRestablecimientoContraseña. " + " " + ex.Message, TsNotificacionesClient.TipoNotificacionEnum.ERROR);
// }
// }
// public static async Task EnviaAlertaCredencialesProximasACaducarAsync()
// {
// string sProceso = "EnviaAlertaCredencialesProximasACaducar";
// try
// {
// var bd = tscgestionasegasa.NuevoContexto();
// var ctaspc = bd.cuentascorreo.Where(x => x.FechaAvisoCaducidadCredenciales != null && x.FechaAvisoCaducidadCredenciales < DateTime.Now).ToList();
// var dest = bd.enumeraciones.Where(x => x.Codigo == "CONF.EMAILCRCTA").First().ValorAlfabeticoLargo;
// foreach (var c in ctaspc)
// {
// string sAsunto;
// sAsunto = "Crecenciales de la cuenta de correo " + c.Remitente + " próxima a caducar.";
// if (Directory.Exists(@"c:\tecnosis.tfs"))
// {
// dest = "sevilla@tecnosis.net";
// }
// string sCuerpo = "Atención: Se deben renovar las credenciales de la cuenta " + c.Remitente + " y comunicárselo a Tecnosis para su actualización.";
// bdAsegasa.db.correos.GeneraRegistroCorreo(bd, sAsunto, sCuerpo, c, dest);
// bd.SaveChanges();
// }
// }
// catch (Exception ex)
// {
// await tsUtilidades.TsNotificacionesClient.RegistrarAsync("En EnviaAlertaCredencialesProximasACaducar.", "Rutina: GeneraCorreoRestablecimientoContraseña. " + " " + ex.Message, TsNotificacionesClient.TipoNotificacionEnum.ERROR);
// }
// }
// }
//}