public static void Save(Reunion reunion) { SaveData(reunion); ReunionMapper.EliminarItemsReunion(reunion.Id); foreach (var item in reunion.ItemsReunion) { switch (item.GetTipo()) { case TipoItemReunion.PASAJE: { var pasaje = (Pasaje)item; item.SetId(reunion.ItemsReunion.IndexOf(item)); BibliaMapper.CrearPasaje(pasaje, reunion.Id); } break; case TipoItemReunion.ITEM_LIBRE: { item.SetId(reunion.ItemsReunion.IndexOf(item)); ReunionMapper.CrearItemLibre(item as ItemLibre, reunion.Id); } break; default: break; } ReunionMapper.AgregarItemReunion(item, reunion.ItemsReunion.IndexOf(item), reunion.Id); } NotificarModificacionReunion(reunion.Id, string.Format("Se ha modificado el culto para el dia {0}", reunion.FechaCulto.ToString("D", CultureInfo.CurrentCulture))); }
public static void SaveData(Reunion reunion) { ReunionMapper.Save(reunion); if (reunion.Estado == Reunion.EstadoENUM.CANCELADO) { NotificarCancelacionReunion(reunion.Id, string.Format("Se ha cancelado el culto para el dia {0}", reunion.FechaCulto.ToString("D", CultureInfo.CurrentCulture))); } }
public static ListCollection <ProximaFecha> GetProximasFechas(Query query) { ListCollection <ProximaFecha> proximasFechas = new ListCollection <ProximaFecha>(); IList <ProximaFecha> result = ReunionMapper.GetProximasFechas(query); int total = ReunionMapper.GetTotalProximasFechas(query); proximasFechas.AddRange(result); proximasFechas.Total = total; return(proximasFechas); }
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 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 }); }
public static void ActualizarFechaCulto(ProximaFecha proxima) { ReunionMapper.ActualizarFechaCulto(proxima); }
public static int CrearFechaCulto(ProximaFecha proxima) { int id = ReunionMapper.CrearFechaCulto(proxima); return(id); }
public static void EliminarProximaFecha(int id) { ReunionMapper.EliminarProximaFecha(id); }
public static Reunion GetReunion(int idReunion) { Reunion reunion = ReunionMapper.GetReunion(idReunion); return(reunion); }
public static ListCollection <Reunion> GetReuniones(Query query) { ListCollection <Reunion> reuniones = new ListCollection <Reunion>(); var list = new List <Rule>(); List <string> queryText = new List <string>(); if (query.Filters != null) { for (int i = 0; i < query.Filters.Count; i++) { var item = query.Filters[i]; if (item.Field.Equals("IdEstado")) { var value = int.Parse(item.Value.Replace("'", string.Empty)); if ((Reunion.EstadoENUM)value == Reunion.EstadoENUM.FINALIZADO) { list.Add(item); if (item.Op.Equals(Query.Comparator.EQUALS)) { queryText.Add(string.Format(" (FechaCulto <= '{0}' AND IdEstado = {1})", DateTime.Today.ToString("yyyyMMdd"), (int)Reunion.EstadoENUM.CREADO)); } else { queryText.Add(string.Format(" (FechaCulto > '{0}' AND IdEstado = {1} OR IdEstado <> {1})", DateTime.Today.ToString("yyyyMMdd"), (int)Reunion.EstadoENUM.CREADO)); } } if ((Reunion.EstadoENUM)value == Reunion.EstadoENUM.CREADO) { list.Add(item); if (item.Op.Equals(Query.Comparator.EQUALS)) { queryText.Add(string.Format(" (FechaCulto >= '{0}' AND IdEstado = {1})", DateTime.Today.ToString("yyyyMMdd"), (int)Reunion.EstadoENUM.CREADO)); } else { queryText.Add(string.Format(" (FechaCulto < '{0}' AND IdEstado = {1} OR IdEstado <> {1})", DateTime.Today.ToString("yyyyMMdd"), (int)Reunion.EstadoENUM.CREADO)); } } } } } foreach (var item in list) { query.Filters.Remove(item); } string queryTextExtra = string.Empty; foreach (var text in queryText) { if (queryTextExtra.Equals(string.Empty)) { queryTextExtra = text; } else { queryTextExtra += " AND " + text; } } query.QueryText = queryTextExtra; IList <Reunion> result = ReunionMapper.GetReuniones(query); int total = ReunionMapper.GetTotalReuniones(query); reuniones.AddRange(result); reuniones.Total = total; return(reuniones); }