Ejemplo n.º 1
0
        public void ProcesarEnvioCorreo()
        {
            try
            {
                Da_Correo        daCorreo        = new Da_Correo();
                List <En_Correo> correos         = daCorreo.CorreosPendientesDeEnvio();
                Da_Comprobante   daComprobante   = new Da_Comprobante();
                string           carpetaTemporal = daComprobante.ObtenerRutaTemporal("TempCorreo");
                CrearCarpeta(carpetaTemporal);

                if (correos.Count > 0)
                {
                    Task[] taskArray = new Task[correos.Count];

                    int i = 0;
                    foreach (En_Correo correo in correos)
                    {
                        En_Correo correoParam = correo;
                        taskArray[i] = Task.Factory.StartNew(() => EnviarCorreo(carpetaTemporal, correoParam));
                        i           += 1;
                    }
                    Task.WaitAll(taskArray.ToArray());
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message.ToString(), ex);
            }
        }