コード例 #1
0
        public void ProcesarEnvioACajas(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay)
        {
            var lcorreoFrom = string.Format("{0}[email protected]", Configuracion.Gds).ToLower();
            var lcajas      = lboletosDeudaPendiente.GroupBy(p => new { p.CorreoCaja }).Select(s => s.Key.CorreoCaja).ToList();

            lcajas.ForEach(lcaja =>
            {
                var lboletosPorCaja = lboletosDeudaPendiente.Where(boleto => boleto.CorreoCaja.Equals(lcaja)).ToList();
                var lencabezado     = string.Format("Caja: {0}, ", lboletosPorCaja[0].DescripcionSucursal);
                var factoryReporte  = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorCaja);
                var lcorreoBody     = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString());
                var lcorreoAsunto   = string.Format(asunto, lboletosPorCaja[0].DescripcionSucursal);

                var lscorreo = new GestorCorreo
                {
                    EmailFrom    = lcorreoFrom,
                    EmailTo      = lboletosPorCaja[0].CorreoCaja,
                    EmailCC      = "*****@*****.**",
                    EmailBCC     = Configuracion.correo_EmailRobotAlertas,
                    EmailDisplay = lcorreoDisplay,
                    EmailBody    = lcorreoBody,
                    EmailSubject = lcorreoAsunto
                };
                lscorreo.Enviar();
            });
        }
コード例 #2
0
        public void ProcesarEnvioAAgencias(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay)
        {
            var lcorreoFrom = string.Format("{0}[email protected]", Configuracion.Gds).ToLower();

            var lclientes = lboletosDeudaPendiente.GroupBy(p => new { p.IdCliente }).Select(s => s.Key.IdCliente).ToList();

            lclientes.ForEach(lcliente =>
            {
                var lboletosPorCliente = lboletosDeudaPendiente.Where(boleto => boleto.IdCliente == lcliente).ToList();
                var lencabezado        = string.Format("Estimado Cliente : {0}, ", lboletosPorCliente[0].NombreCliente);
                var lcorreoAsunto      = string.Format(asunto, lboletosPorCliente[0].NombreCliente, lboletosPorCliente[0].IdCliente);

                lcorreoDisplay     = string.Format("{0} - Robot Anulaciones Avisos - Agencia", Configuracion.Gds);
                var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorCliente);
                var lcorreoBody    = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString());


                var lscorreo = new GestorCorreo
                {
                    EmailFrom    = lcorreoFrom,
                    EmailTo      = lboletosPorCliente[0].CorreoCliente,
                    EmailCC      = (string.IsNullOrEmpty(lboletosPorCliente[0].CorreoPromotor) ? Configuracion.correo_EmailPromotorAlternativo : lboletosPorCliente[0].CorreoPromotor) + ";" + Configuracion.correo_EmailCoordConsolidador,
                    EmailDisplay = lcorreoDisplay,
                    EmailBody    = lcorreoBody,
                    EmailSubject = lcorreoAsunto
                };
                lscorreo.Enviar();
            });
        }
コード例 #3
0
        public void ProcesarEnvioAVendedores(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay)
        {
            var lcorreoFrom = string.Format("{0}[email protected]", Configuracion.Gds).ToLower();
            var lvendedores = lboletosDeudaPendiente.GroupBy(p => new { p.IdVendedor }).Select(s => s.Key.IdVendedor).ToList();

            lvendedores.ForEach(lvendedor =>
            {
                var lboletosPorVendedor = lboletosDeudaPendiente.Where(boleto => boleto.IdVendedor.Equals(lvendedor)).ToList();

                var lencabezado = string.Format("Estimado(a): {0}, ", lboletosPorVendedor[0].Vendedor.Nombre);

                var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorVendedor);
                var lcorreoBody    = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString());
                var lcorreoAsunto  = string.Format(asunto, lboletosPorVendedor[0].Vendedor.Nombre);

                var lscorreo = new GestorCorreo
                {
                    EmailFrom    = lcorreoFrom,
                    EmailTo      = lboletosPorVendedor[0].Vendedor.Correo,
                    EmailCC      = (string.IsNullOrEmpty(lboletosPorVendedor[0].CorreoPromotor) ? Configuracion.correo_EmailPromotorAlternativo : lboletosPorVendedor[0].CorreoPromotor),
                    EmailDisplay = lcorreoDisplay,
                    EmailBody    = lcorreoBody,
                    EmailSubject = lcorreoAsunto
                };
                lscorreo.Enviar();
            });
        }
コード例 #4
0
        public void ProcesoEnvioNoFacturados()
        {
            var lvendedores = boletos.GroupBy(p => new { p.IdVendedor }).Select(s => s.Key.IdVendedor).ToList();

            lvendedores.ForEach(lvendedor =>
            {
                var lboletosPorVendedor = boletos.Where(boleto => boleto.IdVendedor.Equals(lvendedor)).ToList();

                var lpseudos = lboletosPorVendedor.GroupBy(p => new { p.Pseudo }).Select(s => s.Key.Pseudo).ToList();
                lpseudos.ForEach(lpseudo =>
                {
                    var lboletosPorPseudo = lboletosPorVendedor.Where(boleto => boleto.Pseudo.Equals(lpseudo)).ToList();

                    var lencabezado = string.Format("Estimado(a): {0}, ", lboletosPorPseudo[0].Vendedor.Nombre);

                    mensaje = new StringBuilder();
                    mensaje.Append("Se hace de tu conocimiento que los siguientes boletos emitidos no están facturados.");

                    var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorPseudo);
                    var lcorreoBody    = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString());

                    var lcorreoDisplay = string.Format("Alertas GDS [{0}]", lboletosPorPseudo[0].Pseudo);
                    var lcorreoFrom    = string.Format("{0}[email protected]", lboletosPorPseudo[0].Pseudo);


                    var lscorreo = new GestorCorreo
                    {
                        EmailFrom    = lcorreoFrom,
                        EmailTo      = lboletosPorPseudo[0].Vendedor.Correo,
                        EmailCC      = lboletosPorPseudo[0].Vendedor.CorreoJefe,
                        EmailDisplay = lcorreoDisplay,
                        EmailBody    = lcorreoBody,
                        EmailSubject = "Boletos No Facturados"
                    };
                    lscorreo.Enviar();
                });
            });
        }
コード例 #5
0
        public void ProcesarEnvioPromotores(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay)
        {
            var            lcorreoFrom     = string.Format("{0}[email protected]", Configuracion.Gds).ToLower();
            ReporteFactory lreporteFactory = null;
            var            lpromotores     = lboletosDeudaPendiente.GroupBy(p => new { p.IdPromotor }).Select(s => s.Key.IdPromotor).ToList();

            lpromotores.ForEach(lpromotor =>
            {
                var lboletosPorPomotor = lboletosDeudaPendiente.Where(boleto => boleto.IdPromotor == lpromotor).ToList();
                var lcorreoAsunto      = string.Format(asunto, lboletosPorPomotor[0].NombrePromotor);
                var lencabezado        = string.Format("Estimado(a): {0}, ", lboletosPorPomotor[0].NombrePromotor);
                var lconsolidado       = new StringBuilder();
                var lclientesPromotor  = lboletosPorPomotor.GroupBy(p => new { p.IdCliente }).Select(s => s.Key.IdCliente).ToList();
                lclientesPromotor.ForEach(lcliente =>
                {
                    var lboletosPorCliente = lboletosDeudaPendiente.Where(boleto => boleto.IdCliente == lcliente).ToList();
                    lreporteFactory        = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorCliente);
                    var ltabla             = lreporteFactory.ConstruirTablaReporte();
                    lconsolidado.AppendLine(string.Format("<span class='textContenidoNegrita'> AGENCIA : {0} DK : {1}  </span>", lboletosPorCliente[0].NombreCliente, lboletosPorCliente[0].IdCliente));
                    lconsolidado.AppendLine(string.Format("<br>{0}<br>", ltabla));
                });

                var lcorreoBody = lreporteFactory.ConstruirCorreo(lencabezado, mensaje.ToString(), lconsolidado.ToString());

                var lscorreo = new GestorCorreo
                {
                    EmailFrom    = lcorreoFrom,
                    EmailTo      = lboletosPorPomotor[0].CorreoPromotor,
                    EmailCC      = (string.IsNullOrEmpty(lboletosPorPomotor[0].CorreoJefePromotor) ? string.Empty : lboletosPorPomotor[0].CorreoJefePromotor),
                    EmailDisplay = lcorreoDisplay,
                    EmailBody    = lcorreoBody,
                    EmailSubject = lcorreoAsunto
                };
                lscorreo.Enviar();
            });
        }
コード例 #6
0
        public void ProcesoEnvioNOAnulados(List <BoletoRobotDTO> boletosNoAnulados)
        {
            display = string.Format("{0} - Robot Anulaciones Avisos", Configuracion.Gds);
            asunto  = string.Format("El Robot de Anulaciones {0} NO PUDO ANULAR boletos pendientes de pago.", Configuracion.Gds);
            mensaje = new StringBuilder();
            mensaje.Append(string.Format("El robot de Anulaciones {0} NO PUDO ANULAR los siguientes boletos. Verificar los mensajes de error devueltos por el GDS : ", Configuracion.Gds));

            var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, boletosNoAnulados);
            var lcorreoBody    = factoryReporte.ConstruirCorreo("", mensaje.ToString());
            var lcorreoFrom    = string.Format("{0}[email protected]", Configuracion.Gds).ToLower();

            var lscorreo = new GestorCorreo
            {
                EmailFrom    = lcorreoFrom,
                EmailTo      = Configuracion.correo_EmailCoordConsolidador,
                EmailCC      = Configuracion.correo_EmailCounterTurno + ";" + Configuracion.correo_EmailSupervisorCounterIA,
                EmailBCC     = Configuracion.correo_EmailRobotAlertas + ";" + Configuracion.correo_EmailNotificacion,
                EmailDisplay = display,
                EmailBody    = lcorreoBody,
                EmailSubject = asunto
            };

            lscorreo.Enviar();
        }