protected void BuscarButton_Click(object sender, EventArgs e) { Expression <Func <TiposAnalisis, bool> > filtro = x => true; RepositorioBase <TiposAnalisis> repositorio = new RepositorioBase <TiposAnalisis>(); List <TiposAnalisis> TiposAnalisis = new RepositorioBase <TiposAnalisis>().GetList(x => true); int id; switch (BuscarPorDropDownList.SelectedIndex) { case 0: filtro = x => true; break; case 1: //ID id = (FiltroTextBox.Text).ToInt(); filtro = x => x.TipoId == id; break; case 2: filtro = x => x.Descripcion.Contains(FiltroTextBox.Text); break; case 3: id = TiposAnalisis.Find(x => x.Descripcion.Contains(FiltroTextBox.Text)).TipoId; break; } DateTime fechaDesde = FechaDesdeTextBox.Text.ToDatetime(); DateTime FechaHasta = FechaHastaTextBox.Text.ToDatetime(); if (FechaCheckBox.Checked) { lista = repositorio.GetList(filtro).Where(x => x.FechaRegistro.Date >= fechaDesde.Date && x.FechaRegistro.Date <= FechaHasta.Date).ToList(); } else { lista = repositorio.GetList(filtro); } this.BindGrid(lista); }