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); }
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); }
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 }); }