示例#1
0
 void ICatalogo.Buscar()
 {
     StoreResultados.Cargar((
                                from o in SesionActual.Instance.getContexto <IglesiaEntities>().AlabanzaCancion
                                where
                                (o.Id == (filtroId.Number > 0 ? filtroId.Number : o.Id)) &&
                                (o.Titulo.Contains(filtroTitulo.Text)) &&
                                (o.Artista.Contains(filtroArtista.Text)) &&
                                (o.Disco.Contains(filtroDisco.Text)) &&
                                (o.TituloAlternativo.Contains(filtroTituloAlternativo.Text)) &&
                                (o.ArtistaAlternativo.Contains(filtroArtistaAlternativo.Text)) &&
                                (o.DiscoAlternativo.Contains(filtroDiscoAlternativo.Text)) &&
                                (o.Liga.Contains(filtroLiga.Text)) &&
                                (o.LigaAlternativa.Contains(filtroLigaAlternativa.Text)) &&
                                (o.Tono.Contains(filtroTono.Text)) &&
                                (o.Letra.Contains(filtroLetra.Text))
                                select new
     {
         Id = o.Id,
         Titulo = o.Titulo,
         Artista = o.Artista,
         Disco = o.Disco,
         TituloAlternativo = o.TituloAlternativo,
         ArtistaAlternativo = o.ArtistaAlternativo,
         DiscoAlternativo = o.DiscoAlternativo,
         Liga = o.Liga,
         LigaAlternativa = o.LigaAlternativa,
         Tono = o.Tono
     }));
 }
示例#2
0
        void ICatalogo.Buscar()
        {
            List <int> idsDiasDeLaSemana = filtroDiaDeLaSemana.ObtenerIds();
            List <int> idsHorasDelDia    = filtroHoraDelDia.ObtenerIds();
            List <int> idsCiclos         = filtroCiclo.ObtenerIds();

            StoreResultados.Cargar((
                                       from o in SesionActual.Instance.getContexto <IglesiaEntities>().FoliGrupo
                                       where
                                       (o.Id == (filtroId.Number > 0 ? filtroId.Number : o.Id)) &&
                                       (o.Descripcion.Contains(filtroDescripcion.Text)) &&
                                       (o.Fecha_Inicio_Modulo1 == (filtroFechaInicioModulo1.SelectedDate.Year > 1900 ? filtroFechaInicioModulo1.SelectedDate : o.Fecha_Inicio_Modulo1)) &&
                                       (o.Fecha_Inicio_Modulo2 == (filtroFechaInicioModulo2.SelectedDate.Year > 1900 ? filtroFechaInicioModulo2.SelectedDate : o.Fecha_Inicio_Modulo2)) &&
                                       (o.Fecha_Inicio_Modulo3 == (filtroFechaInicioModulo3.SelectedDate.Year > 1900 ? filtroFechaInicioModulo3.SelectedDate : o.Fecha_Inicio_Modulo3)) &&
                                       (o.Fecha_Inicio_Modulo4 == (filtroFechaInicioModulo4.SelectedDate.Year > 1900 ? filtroFechaInicioModulo4.SelectedDate : o.Fecha_Inicio_Modulo4)) &&
                                       (o.Fecha_Fin == (filtroFechaFin.SelectedDate.Year > 1900 ? filtroFechaFin.SelectedDate : o.Fecha_Fin)) &&
                                       (idsDiasDeLaSemana.Contains(o.DiaSemanaId) || (idsDiasDeLaSemana.Count == 0)) &&
                                       (idsHorasDelDia.Contains(o.HoraDiaId) || (idsHorasDelDia.Count == 0)) &&
                                       (idsCiclos.Contains(o.CicloId) || (idsCiclos.Count == 0)) &&
                                       (o.Borrado == false) //Registros NO borrados
                                       select new {
                Id = o.Id,
                Descripcion = o.Descripcion,
                FechaInicioMod1 = o.Fecha_Inicio_Modulo1,
                FechaInicioMod2 = o.Fecha_Inicio_Modulo2,
                FechaInicioMod3 = o.Fecha_Inicio_Modulo3,
                FechaInicioMod4 = o.Fecha_Inicio_Modulo4,
                FechaFin = o.Fecha_Fin,
                DiaSemana = o.DiaSemana.Descripcion,
                HoraDia = o.HoraDia.Descripcion,
                Ciclo = o.Ciclo.Descripcion
            }));
        }
示例#3
0
 void ICatalogo.Buscar()
 {
     StoreResultados.Cargar((
                                from o in SesionActual.Instance.getContexto <IglesiaEntities>().Rol
                                where
                                (o.RolId == (filtroId.Number > 0 ? filtroId.Number : o.RolId)) &&
                                (o.Descripcion.Contains(filtroDescripcion.Text))
                                orderby o.Descripcion
                                select new {
         Id = o.RolId,
         Descripcion = o.Descripcion,
     }));
 }
示例#4
0
        void ICatalogo.Buscar()
        {
            List <int> idsHorasDelDiaInicio = filtroHoraDelDiaInicio.ObtenerIds();
            List <int> idsHorasDelDiaFin    = filtroHoraDelDiaInicio.ObtenerIds();

            StoreResultados.Cargar(manejadorDeAlabanza.BuscarEventos(filtroId.Number == Double.MinValue ? -1 : Convert.ToInt32(filtroId.Number), filtroDescripcion.Text, filtroFecha.SelectedDate, idsHorasDelDiaInicio, idsHorasDelDiaFin).Select(o =>
                                                                                                                                                                                                                                                   new
            {
                Id          = o.Id,
                Descripcion = o.Descripcion,
                Fecha       = o.Fecha,
                HoraInicio  = o.HoraDiaInicio.Descripcion,
                HoraFin     = o.HoraDiaFin.Descripcion
            }));
        }
        void ICatalogo.Buscar()
        {
            List <int> idsCategorias = filtroCategoria.ObtenerIds();

            StoreResultados.Cargar((
                                       from o in SesionActual.Instance.getContexto <IglesiaEntities>().Paso
                                       where
                                       (o.PasoId == (filtroId.Number > 0 ? filtroId.Number : o.PasoId)) &&
                                       (idsCategorias.Contains(o.PasoCategoriaId) || (idsCategorias.Count == 0)) &&
                                       (o.Descripcion.Contains(filtroDescripcion.Text)) &&
                                       (o.Borrado == false) //Registros NO borrados
                                       select new {
                Id = o.PasoId,
                Descripcion = o.Descripcion,
                Categoria = o.PasoCategoria.Descripcion
            }));
        }
示例#6
0
 void ICatalogo.Buscar()
 {
     StoreResultados.Cargar((
                                from o in SesionActual.Instance.getContexto <IglesiaEntities>().Ciclo
                                where
                                (o.CicloId == (filtroId.Number > 0 ? filtroId.Number : o.CicloId)) &&
                                (o.Descripcion.Contains(filtroDescripcion.Text)) &&
                                (o.Fecha_Inicio == (filtroFechaInicio.SelectedDate.Year > 1900 ? filtroFechaInicio.SelectedDate : o.Fecha_Inicio)) &&
                                (o.Fecha_Max == (filtroFechaMax.SelectedDate.Year > 1900 ? filtroFechaMax.SelectedDate : o.Fecha_Max)) &&
                                (o.Fecha_Fin == (filtroFechaFin.SelectedDate.Year > 1900 ? filtroFechaFin.SelectedDate : o.Fecha_Fin)) &&
                                (o.Borrado == false) //Registros NO borrados
                                select new {
         Id = o.CicloId,
         Descripcion = o.Descripcion,
         FechaInicio = o.Fecha_Inicio,
         FechaMax = o.Fecha_Max,
         FechaFin = o.Fecha_Fin
     }));
 }
示例#7
0
        void ICatalogo.Buscar()
        {
            List <int> idsDiaDeLaSemana = filtroDiaDeLaSemana.ObtenerIds();
            List <int> idsHoraDelDia    = filtroHoraDelDia.ObtenerIds();

            StoreResultados.Cargar((
                                       from o in SesionActual.Instance.getContexto <IglesiaEntities>().Culto
                                       where
                                       (o.CultoId == (filtroId.Number > 0 ? filtroId.Number : o.CultoId)) &&
                                       (idsDiaDeLaSemana.Contains(o.DiaSemanaId) || (idsDiaDeLaSemana.Count == 0)) &&
                                       (idsHoraDelDia.Contains(o.HoraDiaId) || (idsHoraDelDia.Count == 0)) &&
                                       (o.Descripcion.Contains(filtroDescripcion.Text)) &&
                                       (o.Borrado == false) //Registros NO borrados
                                       orderby o.Descripcion
                                       select new {
                Id = o.CultoId,
                Descripcion = o.Descripcion,
                DiaSemanaDesc = o.DiaSemana.Descripcion,
                HoraDiaDesc = o.HoraDia.Descripcion
            }));
        }
        void ICatalogo.Buscar()
        {
            ManejadorDeCelulas manejadorCelulas = new ManejadorDeCelulas();

            List <int> idsDiasDeLaSemana    = filtroDiaDeLaSemana.ObtenerIds();
            List <int> idsHorasDelDia       = filtroHoraDelDia.ObtenerIds();
            List <int> idCategorias         = filtroCategoria.ObtenerIds();
            int        idMunicipio          = filtroMunicipio.ObtenerId();
            List <int> idsCelulasPermitidas = manejadorCelulas.ObtenerCelulasPermitidasPorMiembroComoIds(SesionActual.Instance.UsuarioId);
            List <int> idsCelulasSinLider   = manejadorCelulas.ObtenerCelulasSinLideresComoCelulas().Select(o => o.CelulaId).ToList <int>();

            StoreResultados.Cargar((
                                       from o in SesionActual.Instance.getContexto <IglesiaEntities>().Celula
                                       where
                                       ((o.CelulaId == (filtroId.Number > 0 ? filtroId.Number : o.CelulaId)) &&
                                        ((o.Descripcion.Contains(filtroDescripcion.Text)) || (o.Descripcion == null)) &&
                                        (idsDiasDeLaSemana.Contains(o.DiaSemanaId) || (idsDiasDeLaSemana.Count == 0)) &&
                                        (idsHorasDelDia.Contains(o.HoraDiaId) || (idsHorasDelDia.Count == 0)) &&
                                        (idCategorias.Contains(o.CategoriaId) || (idCategorias.Count == 0)) &&
                                        (o.UbicacionMunicipioId == (idMunicipio > 0 ? idMunicipio : o.UbicacionMunicipioId)) &&
                                        ((o.Colonia.Contains(filtroColonia.Text)) || (o.Colonia == null)) &&
                                        ((o.Direccion.Contains(filtroDireccion.Text)) || (o.Direccion == null)) &&
                                        (o.Borrado == false) &&                                                                 //Registros NO borrados
                                        (idsCelulasPermitidas.Contains(o.CelulaId) || idsCelulasSinLider.Contains(o.CelulaId))) //Dentro de las celulas permitidas para el usuario actual... o aquellas celulas sin lider asignado (para poderlas BORRAR)
                                       orderby
                                       o.Descripcion
                                       select new {
                Id = o.CelulaId,
                Descripcion = o.Descripcion,
                DiaSemanaDesc = o.DiaSemana.Descripcion,
                HoraDiaDesc = o.HoraDia.Descripcion,
                Municipio = o.UbicacionMunicipio.Descripcion,
                Colonia = o.Colonia,
                Direccion = o.Direccion,
                Categoria = o.CelulaCategoria.Descripcion,
                Coordenadas = o.Coordenadas,
                RowColor = idsCelulasSinLider.Contains(o.CelulaId) ? "red" : string.Empty
            }));
        }
示例#9
0
        void ICatalogo.Buscar()
        {
            List <int> idsGenero            = filtroGenero.ObtenerIds();
            int?       invitadoPorMiembroId = filtroInvitadoPorMiembro.ObtenerId(true);
            List <int> idsCulto             = filtroCulto.ObtenerIds();
            List <int> idsRazonDeVisita     = filtroRazonDeVisita.ObtenerIds();
            List <int> idsRazonParaCerrar   = filtroEstatus.ObtenerIds();
            List <int> idsCategorias        = filtroCategoria.ObtenerIds();
            int        idMunicipio          = filtroMunicipio.ObtenerId();
            List <int> idsEstadoCivil       = filtroEstadoCivil.ObtenerIds();
            int?       asignadaACelulaId    = filtroCelulaAsignada.ObtenerId(true);
            int?       asignadaAMiembroId   = filtroMiembroAsignada.ObtenerId(true);
            bool       verTodasLasBoletasDeConsolidacion = SesionActual.Instance.ValidarPermisoEspecial((int)PermisosEspeciales.VerTodasLasBoletasDeConsolidacion, false);
            List <int> idsCelulasPermitidas = manejadorCelulas.ObtenerCelulasPermitidasPorMiembroComoIds(SesionActual.Instance.UsuarioId);

            var query = (
                from o in SesionActual.Instance.getContexto <IglesiaEntities>().ConsolidacionBoleta
                where
                (o.Id == (filtroId.Number > 0 ? filtroId.Number : o.Id)) &&
                (o.Email.Contains(filtroEmail.Text)) &&
                (o.PrimerNombre.Contains(filtroPrimerNombre.Text)) &&
                (o.SegundoNombre.Contains(filtroSegundoNombre.Text)) &&
                (o.ApellidoPaterno.Contains(filtroApellidoPaterno.Text)) &&
                (o.ApellidoMaterno.Contains(filtroApellidoMaterno.Text)) &&
                (idsGenero.Contains(o.GeneroId) || (idsGenero.Count == 0)) &&
                ((o.InvitadoPorMiembroId == invitadoPorMiembroId) || (invitadoPorMiembroId == null)) &&
                (idsCulto.Contains(o.CultoId) || (idsCulto.Count == 0)) &&
                (idsRazonDeVisita.Contains(o.BoletaRazonVisitaId) || (idsRazonDeVisita.Count == 0)) &&
                (idsRazonParaCerrar.Contains(o.BoletaEstatusId.Value) || (idsRazonParaCerrar.Count == 0)) &&
                (idsCategorias.Contains(o.CategoriaBoletaId) || (idsCategorias.Count == 0)) &&
                (o.UbicacionMunicipioId == (idMunicipio > 0 ? idMunicipio : o.UbicacionMunicipioId)) &&
                ((o.Colonia.Contains(filtroColonia.Text)) || (o.Colonia == null)) &&
                ((o.Direccion.Contains(filtroDireccion.Text)) || (o.Direccion == null)) &&
                (idsEstadoCivil.Contains(o.EstadoCivilId) || (idsEstadoCivil.Count == 0)) &&
                ((o.AsignadaACelulaId == asignadaACelulaId) || (asignadaACelulaId == null)) &&
                ((o.AsignadaAMiembroId == asignadaAMiembroId) || (asignadaAMiembroId == null)) &&
                (((o.TelefonoCasa.Contains(filtroTel.Text)) || (o.TelefonoCasa == null)) ||
                 ((o.TelefonoMovil.Contains(filtroTel.Text)) || (o.TelefonoMovil == null)) ||
                 ((o.TelefonoTrabajo.Contains(filtroTel.Text)) || (o.TelefonoTrabajo == null)) &&
                 ((o.Observaciones.Contains(filtroObservaciones.Text)) || (o.Observaciones == null))) &&
                ((verTodasLasBoletasDeConsolidacion == true) || (idsCelulasPermitidas.Contains(o.AsignadaACelulaId.Value) || o.AsignadaAMiembroId.Value == SesionActual.Instance.UsuarioId)) &&
                (o.Borrado == false)     //Registros NO borrados
                orderby o.PrimerNombre, o.SegundoNombre, o.ApellidoPaterno, o.ApellidoMaterno
                select new
            {
                Boleta = o
            });


            // Agregamos los filtros complejos

            if (filtroFechaDeCulto.SelectedValue != null)
            {
                query = query.Where(o => o.Boleta.FechaDeCulto == filtroFechaDeCulto.SelectedDate);
            }

            if (filtroEdad.Value != null)
            {
                int edad = Convert.ToInt32(filtroEdad.Number);
                query = query.Where(o => o.Boleta.Edad == edad);
            }

            // Executamos el query, y luego modificamos ciertos campos
            StoreResultados.Cargar(query.AsEnumerable().Select(o => new
            {
                Id                   = o.Boleta.Id,
                Email                = o.Boleta.Email,
                PrimerNombre         = o.Boleta.PrimerNombre,
                SegundoNombre        = o.Boleta.SegundoNombre,
                ApellidoPaterno      = o.Boleta.ApellidoPaterno,
                ApellidoMaterno      = o.Boleta.ApellidoMaterno,
                Genero               = o.Boleta.Genero.Descripcion,
                Estatus              = ConsolidacionBoleta.Estatus.Lista().Where(x => x.Key == o.Boleta.BoletaEstatusId).FirstOrDefault().Value,
                InvitadoPorMiembroId = o.Boleta.InvitadoPorMiembroId,
                Culto                = o.Boleta.Culto.Descripcion,
                FechaDeCulto         = o.Boleta.FechaDeCulto,
                RazonDeVisita        = o.Boleta.ConsolidacionBoletaRazonVisita.Descripcion,
                Municipio            = o.Boleta.UbicacionMunicipio.Descripcion,
                Colonia              = o.Boleta.Colonia,
                Direccion            = o.Boleta.Direccion,
                Nacimiento           = o.Boleta.FechaDeNacimiento,
                Edad                 = o.Boleta.Edad,
                EstadoCivil          = o.Boleta.EstadoCivil.Descripcion,
                AsignadaACelula      = o.Boleta.AsignadaACelulaId,
                AsignadaAMiembro     = o.Boleta.AsignadaAMiembroId,
                TelCasa              = o.Boleta.TelefonoCasa,
                TelMovil             = o.Boleta.TelefonoMovil,
                TelTrabajo           = o.Boleta.TelefonoTrabajo,
                Observaciones        = o.Boleta.Observaciones,
                Categoria            = o.Boleta.ConsolidacionBoletaCategoria.Descripcion
            }));

            registroNumeroDeBoletas.Value = string.Format("Total de boletas: {0}", query.Count());
        }
        public void BuscarMiembros()
        {
            ManejadorDeCelulas manejadorCelulas = new ManejadorDeCelulas();
            int usuarioId = SesionActual.Instance.UsuarioId;

            List <int> idsCelulas                      = filtroCelula.ObtenerIds();
            List <int> idGeneros                       = filtroGenero.ObtenerIds();
            List <int> idsEstadosCiviles               = filtroEstadoCivil.ObtenerIds();
            int        idMunicipio                     = filtroMunicipio.ObtenerId();
            List <int> idsCelulasPermitidas            = manejadorCelulas.ObtenerCelulasPermitidasPorMiembroComoIds(usuarioId);
            List <int> idsCelulasSinLider              = manejadorCelulas.ObtenerCelulasSinLideresComoIds();
            List <int> idsCelulasEliminadasConMiembros = manejadorCelulas.ObtenerCelulasEliminadasConMiembrosComoIds();
            bool       registrosBorrados               = filtroBorrado.Checked;
            bool       registrosSinCelula              = filtroSinCelula.Checked;
            int?       conyugeId                       = filtroConyuge.ObtenerId(true);

            //Guarda los resultados obtenidos de las busquedas
            IQueryable <object> resultados = null;

            switch (tipoDeMiembro)
            {
            case TipoDeMiembroABuscar.Miembro:
            {
                resultados = (
                    from o in SesionActual.Instance.getContexto <IglesiaEntities>().Miembro
                    where
                    ((o.MiembroId == (filtroId.Number > 0 ? filtroId.Number : o.MiembroId)) &&
                     ((o.Primer_Nombre.Contains(filtroPrimerNombre.Text)) || (o.Primer_Nombre == null)) &&
                     ((o.Segundo_Nombre.Contains(filtroSegundoNombre.Text)) || (o.Segundo_Nombre == null)) &&
                     ((o.Apellido_Paterno.Contains(filtroApellidoPaterno.Text)) || (o.Apellido_Paterno == null)) &&
                     ((o.Apellido_Materno.Contains(filtroApellidoMaterno.Text)) || (o.Apellido_Materno == null)) &&
                     ((o.Email.Contains(filtroEmail.Text)) || (o.Email == null)) &&
                     (idsCelulas.Contains(o.CelulaId) || (idsCelulas.Count == 0)) &&
                     (idGeneros.Contains(o.GeneroId) || (idGeneros.Count == 0)) &&
                     (idsEstadosCiviles.Contains(o.EstadoCivilId) || (idsEstadosCiviles.Count == 0)) &&
                     (o.UbicacionMunicipioId == (idMunicipio > 0 ? idMunicipio : o.UbicacionMunicipioId)) &&
                     ((o.Colonia.Contains(filtroColonia.Text)) || (o.Colonia == null)) &&
                     ((o.Direccion.Contains(filtroDireccion.Text)) || (o.Direccion == null)) &&
                     (((o.Tel_Casa.Contains(filtroTel.Text)) || (o.Tel_Casa == null)) ||
                      ((o.Tel_Movil.Contains(filtroTel.Text)) || (o.Tel_Movil == null)) ||
                      ((o.Tel_Trabajo.Contains(filtroTel.Text)) || (o.Tel_Trabajo == null))) &&
                     (o.Fecha_Nacimiento == (filtroFechaDeNacimiento.SelectedDate > DateTime.MinValue ? filtroFechaDeNacimiento.SelectedDate : o.Fecha_Nacimiento)) &&
                     ((o.ConyugeId == conyugeId) || (conyugeId == null)) &&
                     (o.Borrado == registrosBorrados) &&
                     (((idsCelulasPermitidas.Contains(o.CelulaId)) && !registrosSinCelula) ||                                                        //Dentro de las celulas permitidas para el usuario actual
                      ((idsCelulasSinLider.Contains(o.CelulaId)) || (idsCelulasEliminadasConMiembros.Contains(o.CelulaId)) && registrosSinCelula) || //Dentro de los usuarios cuya celula no tiene lider
                      ((mostrarUsuarioActual) && (o.MiembroId == usuarioId))))                                                                       //El mismo usuario actual...
                    orderby o.Primer_Nombre ascending, o.Apellido_Paterno ascending
                    select new
                    {
                        GUID = o.MiembroId,
                        Id = o.MiembroId,
                        PrimerNombre = o.Primer_Nombre,
                        SegundoNombre = o.Segundo_Nombre,
                        ApellidoPaterno = o.Apellido_Paterno,
                        ApellidoMaterno = o.Apellido_Materno,
                        Email = o.Email,
                        Celula = (idsCelulasEliminadasConMiembros.Contains(o.CelulaId) ? string.Empty : o.Celula.Descripcion),
                        EstadoCivil = o.EstadoCivil.Descripcion,
                        Municipio = o.UbicacionMunicipio.Descripcion,
                        Colonia = o.Colonia,
                        TelCasa = o.Tel_Casa,
                        TelMovil = o.Tel_Movil,
                        TelTrabajo = o.Tel_Trabajo,
                        Nacimiento = o.Fecha_Nacimiento,
                        AsisteIglesia = o.AsisteIglesia,
                        Genero = o.Genero.Descripcion,
                        RowColor = (idsCelulasSinLider.Contains(o.CelulaId) || idsCelulasEliminadasConMiembros.Contains(o.CelulaId)) ? "red" : string.Empty
                    });
                break;
            }

            case TipoDeMiembroABuscar.ServidorCoordinador:
            {
                resultados = (
                    from o in SesionActual.Instance.getContexto <IglesiaEntities>().ServidorCoordinador
                    where
                    ((o.Miembro.MiembroId == (filtroId.Number > 0 ? filtroId.Number : o.Miembro.MiembroId)) &&
                     ((o.Miembro.Primer_Nombre.Contains(filtroPrimerNombre.Text)) || (o.Miembro.Primer_Nombre == null)) &&
                     ((o.Miembro.Segundo_Nombre.Contains(filtroSegundoNombre.Text)) || (o.Miembro.Segundo_Nombre == null)) &&
                     ((o.Miembro.Apellido_Paterno.Contains(filtroApellidoPaterno.Text)) || (o.Miembro.Apellido_Paterno == null)) &&
                     ((o.Miembro.Apellido_Materno.Contains(filtroApellidoMaterno.Text)) || (o.Miembro.Apellido_Materno == null)) &&
                     ((o.Miembro.Email.Contains(filtroEmail.Text)) || (o.Miembro.Email == null)) &&
                     (idsCelulas.Contains(o.Miembro.CelulaId) || (idsCelulas.Count == 0)) &&
                     (idGeneros.Contains(o.Miembro.GeneroId) || (idGeneros.Count == 0)) &&
                     (idsEstadosCiviles.Contains(o.Miembro.EstadoCivilId) || (idsEstadosCiviles.Count == 0)) &&
                     (o.Miembro.UbicacionMunicipioId == (idMunicipio > 0 ? idMunicipio : o.Miembro.UbicacionMunicipioId)) &&
                     ((o.Miembro.Colonia.Contains(filtroColonia.Text)) || (o.Miembro.Colonia == null)) &&
                     ((o.Miembro.Direccion.Contains(filtroDireccion.Text)) || (o.Miembro.Direccion == null)) &&
                     (((o.Miembro.Tel_Casa.Contains(filtroTel.Text)) || (o.Miembro.Tel_Casa == null)) ||
                      ((o.Miembro.Tel_Movil.Contains(filtroTel.Text)) || (o.Miembro.Tel_Movil == null)) ||
                      ((o.Miembro.Tel_Trabajo.Contains(filtroTel.Text)) || (o.Miembro.Tel_Trabajo == null))) &&
                     (o.Miembro.Fecha_Nacimiento == (filtroFechaDeNacimiento.SelectedDate > DateTime.MinValue ? filtroFechaDeNacimiento.SelectedDate : o.Miembro.Fecha_Nacimiento)) &&
                     (o.Miembro.Borrado == registrosBorrados) && //Registros NO borrados
                     (o.Borrado == false))                       //Registros NO borrados
                    orderby o.Miembro.Primer_Nombre ascending, o.Miembro.Apellido_Paterno ascending
                    select new
                    {
                        GUID = o.Id,
                        Id = o.Miembro.MiembroId,
                        PrimerNombre = o.Miembro.Primer_Nombre,
                        SegundoNombre = o.Miembro.Segundo_Nombre,
                        ApellidoPaterno = o.Miembro.Apellido_Paterno,
                        ApellidoMaterno = o.Miembro.Apellido_Materno,
                        Email = o.Miembro.Email,
                        Celula = o.Miembro.Celula.Descripcion,
                        EstadoCivil = o.Miembro.EstadoCivil.Descripcion,
                        Municipio = o.Miembro.UbicacionMunicipio.Descripcion,
                        Colonia = o.Miembro.Colonia,
                        TelCasa = o.Miembro.Tel_Casa,
                        TelMovil = o.Miembro.Tel_Movil,
                        TelTrabajo = o.Miembro.Tel_Trabajo,
                        Nacimiento = o.Miembro.Fecha_Nacimiento,
                        AsisteIglesia = o.Miembro.AsisteIglesia,
                        Genero = o.Miembro.Genero.Descripcion
                    });
                break;
            }

            case TipoDeMiembroABuscar.ServidorCapitan:
            {
                resultados = (
                    from o in SesionActual.Instance.getContexto <IglesiaEntities>().ServidorCapitan
                    where
                    ((o.Miembro.MiembroId == (filtroId.Number > 0 ? filtroId.Number : o.Miembro.MiembroId)) &&
                     ((o.Miembro.Primer_Nombre.Contains(filtroPrimerNombre.Text)) || (o.Miembro.Primer_Nombre == null)) &&
                     ((o.Miembro.Segundo_Nombre.Contains(filtroSegundoNombre.Text)) || (o.Miembro.Segundo_Nombre == null)) &&
                     ((o.Miembro.Apellido_Paterno.Contains(filtroApellidoPaterno.Text)) || (o.Miembro.Apellido_Paterno == null)) &&
                     ((o.Miembro.Apellido_Materno.Contains(filtroApellidoMaterno.Text)) || (o.Miembro.Apellido_Materno == null)) &&
                     ((o.Miembro.Email.Contains(filtroEmail.Text)) || (o.Miembro.Email == null)) &&
                     (idsCelulas.Contains(o.Miembro.CelulaId) || (idsCelulas.Count == 0)) &&
                     (idGeneros.Contains(o.Miembro.GeneroId) || (idGeneros.Count == 0)) &&
                     (idsEstadosCiviles.Contains(o.Miembro.EstadoCivilId) || (idsEstadosCiviles.Count == 0)) &&
                     (o.Miembro.UbicacionMunicipioId == (idMunicipio > 0 ? idMunicipio : o.Miembro.UbicacionMunicipioId)) &&
                     ((o.Miembro.Colonia.Contains(filtroColonia.Text)) || (o.Miembro.Colonia == null)) &&
                     ((o.Miembro.Direccion.Contains(filtroDireccion.Text)) || (o.Miembro.Direccion == null)) &&
                     (((o.Miembro.Tel_Casa.Contains(filtroTel.Text)) || (o.Miembro.Tel_Casa == null)) ||
                      ((o.Miembro.Tel_Movil.Contains(filtroTel.Text)) || (o.Miembro.Tel_Movil == null)) ||
                      ((o.Miembro.Tel_Trabajo.Contains(filtroTel.Text)) || (o.Miembro.Tel_Trabajo == null))) &&
                     (o.Miembro.Fecha_Nacimiento == (filtroFechaDeNacimiento.SelectedDate > DateTime.MinValue ? filtroFechaDeNacimiento.SelectedDate : o.Miembro.Fecha_Nacimiento)) &&
                     (o.Miembro.Borrado == registrosBorrados) && //Registros NO borrados
                     (o.Borrado == false))                       //Registros NO borrados
                    orderby o.Miembro.Primer_Nombre ascending, o.Miembro.Apellido_Paterno ascending
                    select new
                    {
                        GUID = o.Id,
                        Id = o.Miembro.MiembroId,
                        PrimerNombre = o.Miembro.Primer_Nombre,
                        SegundoNombre = o.Miembro.Segundo_Nombre,
                        ApellidoPaterno = o.Miembro.Apellido_Paterno,
                        ApellidoMaterno = o.Miembro.Apellido_Materno,
                        Email = o.Miembro.Email,
                        Celula = o.Miembro.Celula.Descripcion,
                        EstadoCivil = o.Miembro.EstadoCivil.Descripcion,
                        Municipio = o.Miembro.UbicacionMunicipio.Descripcion,
                        Colonia = o.Miembro.Colonia,
                        TelCasa = o.Miembro.Tel_Casa,
                        TelMovil = o.Miembro.Tel_Movil,
                        TelTrabajo = o.Miembro.Tel_Trabajo,
                        Nacimiento = o.Miembro.Fecha_Nacimiento,
                        AsisteIglesia = o.Miembro.AsisteIglesia,
                        Genero = o.Miembro.Genero.Descripcion
                    });
                break;
            }

            case TipoDeMiembroABuscar.AlabanzaMiembro:
            {
                resultados = (
                    from o in SesionActual.Instance.getContexto <IglesiaEntities>().AlabanzaMiembro
                    where
                    ((o.Miembro.MiembroId == (filtroId.Number > 0 ? filtroId.Number : o.Miembro.MiembroId)) &&
                     ((o.Miembro.Primer_Nombre.Contains(filtroPrimerNombre.Text)) || (o.Miembro.Primer_Nombre == null)) &&
                     ((o.Miembro.Segundo_Nombre.Contains(filtroSegundoNombre.Text)) || (o.Miembro.Segundo_Nombre == null)) &&
                     ((o.Miembro.Apellido_Paterno.Contains(filtroApellidoPaterno.Text)) || (o.Miembro.Apellido_Paterno == null)) &&
                     ((o.Miembro.Apellido_Materno.Contains(filtroApellidoMaterno.Text)) || (o.Miembro.Apellido_Materno == null)) &&
                     ((o.Miembro.Email.Contains(filtroEmail.Text)) || (o.Miembro.Email == null)) &&
                     (idsCelulas.Contains(o.Miembro.CelulaId) || (idsCelulas.Count == 0)) &&
                     (idGeneros.Contains(o.Miembro.GeneroId) || (idGeneros.Count == 0)) &&
                     (idsEstadosCiviles.Contains(o.Miembro.EstadoCivilId) || (idsEstadosCiviles.Count == 0)) &&
                     (o.Miembro.UbicacionMunicipioId == (idMunicipio > 0 ? idMunicipio : o.Miembro.UbicacionMunicipioId)) &&
                     ((o.Miembro.Colonia.Contains(filtroColonia.Text)) || (o.Miembro.Colonia == null)) &&
                     ((o.Miembro.Direccion.Contains(filtroDireccion.Text)) || (o.Miembro.Direccion == null)) &&
                     (((o.Miembro.Tel_Casa.Contains(filtroTel.Text)) || (o.Miembro.Tel_Casa == null)) ||
                      ((o.Miembro.Tel_Movil.Contains(filtroTel.Text)) || (o.Miembro.Tel_Movil == null)) ||
                      ((o.Miembro.Tel_Trabajo.Contains(filtroTel.Text)) || (o.Miembro.Tel_Trabajo == null))) &&
                     (o.Miembro.Fecha_Nacimiento == (filtroFechaDeNacimiento.SelectedDate > DateTime.MinValue ? filtroFechaDeNacimiento.SelectedDate : o.Miembro.Fecha_Nacimiento)) &&
                     (o.Miembro.Borrado == registrosBorrados) && //Registros NO borrados
                     (o.Borrado == false))                       //Registros NO borrados
                    orderby o.Miembro.Primer_Nombre ascending, o.Miembro.Apellido_Paterno ascending
                    select new
                    {
                        GUID = o.Id,
                        Id = o.Miembro.MiembroId,
                        PrimerNombre = o.Miembro.Primer_Nombre,
                        SegundoNombre = o.Miembro.Segundo_Nombre,
                        ApellidoPaterno = o.Miembro.Apellido_Paterno,
                        ApellidoMaterno = o.Miembro.Apellido_Materno,
                        Email = o.Miembro.Email,
                        Celula = o.Miembro.Celula.Descripcion,
                        EstadoCivil = o.Miembro.EstadoCivil.Descripcion,
                        Municipio = o.Miembro.UbicacionMunicipio.Descripcion,
                        Colonia = o.Miembro.Colonia,
                        TelCasa = o.Miembro.Tel_Casa,
                        TelMovil = o.Miembro.Tel_Movil,
                        TelTrabajo = o.Miembro.Tel_Trabajo,
                        Nacimiento = o.Miembro.Fecha_Nacimiento,
                        AsisteIglesia = o.Miembro.AsisteIglesia,
                        Genero = o.Miembro.Genero.Descripcion
                    });
                break;
            }
            }

            if (resultados != null)
            {
                //int numeroDeResultadosMax = 75; //Es el numero maximo de resultados a regresar al cliente...
                //int numeroDeResultados = resultados.Count();
                //if (numeroDeResultados > numeroDeResultadosMax) { X.Msg.Alert(Generales.nickNameDeLaApp, string.Format(Resources.Literales.LimiteDeResultadosExcedido, numeroDeResultados, numeroDeResultadosMax)).Show(); }
                //StoreResultados.Cargar(resultados.Take(numeroDeResultadosMax));
                StoreResultados.Cargar(resultados);
            }
        }