protected void cmdBuscarConcepto_Click(object sender, DirectEventArgs e) { ManejadorDeBusquedas manejadorDeBuscador = new ManejadorDeBusquedas(); IEnumerable <object> resultados = manejadorDeBuscador.Buscar(_tipoDeObjeto, registroConceptoABuscar.Text.Trim().Split(' ')); 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(); numeroDeResultados = numeroDeResultadosMax; } StoreObjetosEncontrados.Cargar(resultados.Take(numeroDeResultadosMax)); registroNumeroDeResultados.Text = string.Format("{0} Resultados", numeroDeResultados); } }
protected void cmdBuscarConcepto_Click(object sender, DirectEventArgs e) { 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>(); //Obtemenos todos los conceptos a buscar (separados por espacios) string[] conceptosABuscar = registroConceptoABuscar.Text.Trim().Split(' '); //Guarda los resultados obtenidos de las busquedas IQueryable <object> resultados = null; switch (tipoDeBusqueda) { case ManejadorDeBusquedas.TipoDeObjeto.Celula: { var busqueda = Celula.BuscarV1(conceptosABuscar, idsCelulasPermitidas.Union(idsCelulasSinLider).ToList <int>()); //Dentro de las celulas permitidas para el usuario actual... o aquellas celulas sin lider asignado (para poderlas ASGINAR) resultados = (( from o in SesionActual.Instance.getContexto <IglesiaEntities>().Celula.Where(busqueda) orderby o.Descripcion select new { Id = o.CelulaId, Descripcion = o.Descripcion, RowColor = idsCelulasSinLider.Contains(o.CelulaId) ? "red" : string.Empty })).AsExpandable(); break; } case ManejadorDeBusquedas.TipoDeObjeto.Miembro: { var busqueda = Miembro.BuscarV1(conceptosABuscar, idsCelulasPermitidas.ToList <int>()); //Dentro de las celulas permitidas para el usuario actual... o el mismo usuario actual resultados = (( from o in SesionActual.Instance.getContexto <IglesiaEntities>().Miembro.Where(busqueda) orderby o.Primer_Nombre, o.Segundo_Nombre, o.Apellido_Paterno, o.Apellido_Materno select new { Id = o.MiembroId, Descripcion = o.Primer_Nombre + " " + o.Segundo_Nombre + " " + o.Apellido_Paterno + " " + o.Apellido_Materno + " (" + o.Email + ")" })).AsExpandable(); 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(); numeroDeResultados = numeroDeResultadosMax; } StoreObjetosEncontrados.Cargar(resultados.Take(numeroDeResultadosMax)); registroNumeroDeResultados.Text = string.Format("{0} Resultados", numeroDeResultados); } //Ponemos el foco el el grid... GridDeListadoDeObjetos.Focus(); }