예제 #1
0
        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)));
        }
예제 #2
0
 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)));
     }
 }
예제 #3
0
        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);
        }
예제 #4
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);
        }
예제 #5
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 });
        }
예제 #6
0
 public static void ActualizarFechaCulto(ProximaFecha proxima)
 {
     ReunionMapper.ActualizarFechaCulto(proxima);
 }
예제 #7
0
        public static int CrearFechaCulto(ProximaFecha proxima)
        {
            int id = ReunionMapper.CrearFechaCulto(proxima);

            return(id);
        }
예제 #8
0
 public static void EliminarProximaFecha(int id)
 {
     ReunionMapper.EliminarProximaFecha(id);
 }
예제 #9
0
        public static Reunion GetReunion(int idReunion)
        {
            Reunion reunion = ReunionMapper.GetReunion(idReunion);

            return(reunion);
        }
예제 #10
0
        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);
        }