public static Int32 existsConWithMailServer() { string serverName, userMail, mailPass, mailProtocol, subjectLike, fildToexclude, tempDir; int port, lastId; GetConfig(out serverName, out userMail, out mailPass, out mailProtocol, out port, out subjectLike, out lastId, out fildToexclude, out tempDir); IMailApi mailapi = new EAGetMailMailApi(mailProtocol.ToLower() == "pop3" ? MailProtocol.pop3 : MailProtocol.imap, lastId); try { mailapi.Connect(serverName, userMail, mailPass, port, false); mailapi.Disconnect(); return(1); } catch { return(0); } }
public static void UpModels() { SqlConnection mcon = new SqlConnection("context connection=true"); try { idGlobalOperation = DateTime.Now.ToString() + "-" + (new Random(DateTime.Now.Second)).Next().ToString(); Evento.IdProces = idGlobalOperation; Evento.Pcon = mcon; Evento.SetEvento(DateTime.Now, DateTime.Now, "Inicio del proceso de carga de Modelos"); Evento.Save(); string serverName, userMail, mailPass, mailProtocol, subjectLike, fildToexclude, tempDirectory; int port, lastId; Evento.SetEvento(DateTime.Now, DateTime.Now, "Obteniendo configuracion"); Evento.Save(); GetConfig(out serverName, out userMail, out mailPass, out mailProtocol, out port, out subjectLike, out lastId, out fildToexclude, out tempDirectory); Evento.SetEvento(DateTime.Now, DateTime.Now, "Comienzo del proceso de chequeo de mensajes en servidor:" + serverName + " usuario:" + userMail + " que contegan asunto:" + subjectLike + " desde el elemento:" + lastId.ToString()); Evento.Save(); // GetConfig(); ControlModel cm = new ControlModel(fildToexclude); IMailApi mailapi = new EAGetMailMailApi(mailProtocol.ToLower() == "pop3"?MailProtocol.pop3 : MailProtocol.imap, lastId); cm.ChechMail(mailapi, serverName, userMail, mailPass, port, subjectLike); mailapi.Disconnect(); Evento.SetEvento(DateTime.Now, DateTime.Now, "Cargando Mensajes al Servidor de datos"); Evento.Save(); Evento.SetEvento(DateTime.Now, DateTime.Now, "Se detectaron:" + cm.PendToUp.Count.ToString() + " modelos a subir."); Evento.Save(); int sequecenumber = 0; bool firstBnadera = false; while (cm.PendToUp.Count > 0) { Modelo vmodel = cm.PendToUp.Dequeue(); Evento.SetEvento(DateTime.Now, DateTime.Now, "Subiendo modelo:" + vmodel.Mmodelo + " de " + vmodel.SenderEmail + " mensaje id" + vmodel.IdOrden.ToString() + " fecha de modelo " + vmodel.Fecha.ToString()); Evento.Save(); //insertamos el modelos y actulizamos la ultima secuencia para tenr que revisarlo nuevamente InsertModel(vmodel, mcon); Evento.SetEvento(DateTime.Now, DateTime.Now, "Modelo Subido exitosamente"); Evento.Save(); //--------------------------------------------------- Evento.SetEvento(DateTime.Now, DateTime.Now, "actulizando secuencia"); Evento.Save(); //cuando se completa un mensaje se actuliza para no proecasrlo mas if (sequecenumber < vmodel.IdMensaje) { sequecenumber = vmodel.IdMensaje; SetLastSequenceEmail(sequecenumber, mcon); } Evento.SetEvento(DateTime.Now, DateTime.Now, "secuencia actulizada"); Evento.Save(); } Evento.SetEvento(DateTime.Now, DateTime.Now, "chequeando secuencia"); Evento.Save(); if (sequecenumber < mailapi.lastMailCheck && mailapi.Messages.Count > 0) { sequecenumber = (int)mailapi.lastMailCheck; SetLastSequenceEmail(sequecenumber, mcon); Evento.SetEvento(DateTime.Now, DateTime.Now, "secuencia corregida"); Evento.Save(); } Evento.SetEvento(DateTime.Now, DateTime.Now, "Fin del proceso de carga de Modelos"); Evento.Save(); } catch (Exception ex) { Evento.SetEvento(DateTime.Now, DateTime.Now, "!!!Algo ha pasado!!!, detalles:" + ex.Message + ". Desde " + ex.Source + ". Traza" + ex.StackTrace); Evento.Save(); } }