Пример #1
0
        public static void NotificarCancelacionReunion(int idReunion, string subject)
        {
            Reunion reunion = ReunionMapper.GetReunion(idReunion);

            var usuarios = SeguridadComponent.GetUsuariosByOperaciones(new List <string>()
            {
                Operaciones.REUNIONES_NOTIFICACIONES
            });

            usuarios.Add(reunion.Encargado);

            IList <string> emailsTo = usuarios.Select(m => m.Email).Distinct().ToList();
            string         html     = MapearTemplateHTML(reunion, subject, ConfigurationHelper.DirectorioMailTemplateCancelacionReunion);

            MailSender.Send(emailsTo, subject, html, true);
        }
Пример #2
0
        public static void NotificarActualizacionFechasCulto()
        {
            var usuarios = SeguridadComponent.GetUsuariosByOperaciones(new List <string>()
            {
                Operaciones.REUNIONES_FECHAS_NOTIFICACIONES
            });

            var proximas = GetProximasFechas(DateTime.Now, DateTime.Now.AddMonths(2));

            if (proximas.Count == 0)
            {
                return;
            }

            foreach (var item in proximas.Select(m => m.Encargado).Distinct())
            {
                usuarios.Add(item);
            }

            IList <string> emailsTo = usuarios.Select(m => m.Email).Distinct().ToList();


            Dictionary <string, string> mapper = new Dictionary <string, string>();
            StringBuilder builder = new StringBuilder();

            foreach (var item in proximas)
            {
                mapper = new Dictionary <string, string>();
                mapper.Add("{FECHA_ITEM}", item.Fecha.ToString("dd/MM/yyyy"));
                mapper.Add("{ENCARGADO_ITEM}", item.Encargado.FullNameUser);
                mapper.Add("{TEMA_ITEM}", item.Tema);
                builder.Append(EmailTemplateHelper.FillSimpleTemplate(
                                   ConfigurationHelper.DirectorioMailTemplateActualizacionEncargadosCultos_ITEM, mapper));
            }

            mapper = new Dictionary <string, string>();
            mapper.Add("{linkListado}", string.Format("{0}/Reunion/ProximasFechas", ConfigurationHelper.SiteRoot));
            mapper.Add("{items}", builder.ToString());
            string template = EmailTemplateHelper.FillTemplate("Próximas fechas y encargados de cultos",
                                                               ConfigurationHelper.DirectorioMailTemplateActualizacionEncargadosCultos, mapper);

            MailSender.Send(emailsTo, "Próximas fechas y encargados de cultos", template, true);
        }
Пример #3
0
        public static void NotificarModificacionReunion(int idReunion, string subject)
        {
            Reunion reunion = ReunionMapper.GetReunion(idReunion);

            FileContentResult resultData = GenerarArchivos(reunion, "ExportarCancionesXML-ExportarReunionPDF-ExportarItemsPDF-ExportarCancionesPDF");

            var usuarios = SeguridadComponent.GetUsuariosByOperaciones(new List <string>()
            {
                Operaciones.REUNIONES_NOTIFICACIONES
            });

            usuarios.Add(reunion.Encargado);

            IList <string> emailsTo = usuarios.Select(m => m.Email).Distinct().ToList();
            MemoryStream   stream   = new MemoryStream(resultData.FileContents);
            string         html     = MapearTemplateHTML(reunion, subject, ConfigurationHelper.DirectorioMailTemplateModificacionReunion);

            Attachment zip = new Attachment(stream, resultData.FileDownloadName, "application/octet-stream");

            MailSender.Send(emailsTo, subject, html, true, new Attachment[] { zip });
        }