Ejemplo n.º 1
0
 public void RunSyncProcesarPendientes()
 {
     try
     {
         using (UnityContainer singletonContainer = new UnityContainer())
         {
             string connString = WebConfigurationManager.ConnectionStrings["LeandroContext"].ConnectionString;
             singletonContainer.RegisterType <IDbContext, LeandroContext>(new InjectionConstructor(connString));
             singletonContainer.RegisterType <ICorreoService, CorreoService>(new InjectionConstructor(appSettings["smtpEmailHost"], appSettings["smtpEmailPort"], appSettings["smtpEmailAccount"], appSettings["smtpEmailPass"], appSettings["smtpSSLHost"]));
             singletonContainer.RegisterType <IServerMailService, ServerMailService>(new InjectionConstructor(appSettings["pop3EmailHost"], appSettings["pop3EmailPort"]));
             singletonContainer.RegisterType <IFacturacionService, FacturacionService>();
             ICorreoService      servicioEnvioCorreo     = singletonContainer.Resolve <ICorreoService>();
             IServerMailService  servicioRecepcionCorreo = singletonContainer.Resolve <IServerMailService>();
             IFacturacionService servicioFacturacion     = singletonContainer.Resolve <IFacturacionService>();
             servicioFacturacion.ProcesarDocumentosElectronicosPendientes(servicioEnvioCorreo, configuracionGeneral);
             servicioFacturacion.ProcesarCorreoRecepcion(servicioEnvioCorreo, servicioRecepcionCorreo, configuracionGeneral, configuracionRecepcion);
         }
     }
     catch (Exception ex)
     {
         JArray jarrayObj = new JArray();
         servicioEnvioCorreo.SendEmail(new string[] { configuracionGeneral.CorreoNotificacionErrores }, new string[] { }, "Error en el procesamiento de documentos pendientes", "Ocurrio un error en el procesamiento de documentos pendientes: " + ex.Message, false, jarrayObj);
     }
 }