public IEnumerable <object> Buscar(TipoDeObjeto tipoDeObjeto, string[] conceptosABuscar)
        {
            ManejadorDeCelulas manejadorCelulas = new ManejadorDeCelulas();
            int        usuarioId            = SesionActual.Instance.UsuarioId;
            List <int> idsCelulasPermitidas = manejadorCelulas.ObtenerCelulasPermitidasPorMiembroComoIds(usuarioId);
            List <int> idsCelulasSinLider   = manejadorCelulas.ObtenerCelulasSinLideresComoCelulas().Select(o => o.CelulaId).ToList <int>();

            switch (tipoDeObjeto)
            {
            case TipoDeObjeto.Celula:
            {
                return(Celula.Buscar(conceptosABuscar, idsCelulasPermitidas.Union(idsCelulasSinLider).ToList <int>()).Select(o => new {
                        Id = o.CelulaId,
                        Descripcion = o.Descripcion,
                        RowColor = idsCelulasSinLider.Contains(o.CelulaId) ? "red" : string.Empty
                    }));
            }

            case TipoDeObjeto.Miembro:
            {
                return(Miembro.Buscar(conceptosABuscar, idsCelulasPermitidas.ToList <int>()).Select(o => new
                    {
                        Id = o.MiembroId,
                        Descripcion = o.Primer_Nombre + " " + o.Segundo_Nombre + " " + o.Apellido_Paterno + " " + o.Apellido_Materno + " (" + o.Email + ")"
                    }));
            }

            case TipoDeObjeto.AlabanzaMiembro:
            {
                return(AlabanzaMiembro.Buscar(conceptosABuscar).Select(o => new
                    {
                        Id = o.Id,
                        Descripcion = o.Miembro.Primer_Nombre + " " + o.Miembro.Segundo_Nombre + " " + o.Miembro.Apellido_Paterno + " " + o.Miembro.Apellido_Materno + " (" + o.Miembro.Email + ")"
                    }));
            }

            default: {
                return(new List <EntityObject>());
            }
            }
        }