public JsonResult Buscar_Elementos(string texto, int page = 0) { texto = texto.ToLower(); EmpresaDTO empresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa); MovimientoBL movimientoBL = new MovimientoBL(); ComprobanteBL comprobanteBL = new ComprobanteBL(); MovimientoInvBL movimientoInvBL = new MovimientoInvBL(); List<MovimientoDTO> lstMovimientos = movimientoBL.getMovimientos_EnEmpresa(empresa.IdEmpresa); List<ComprobanteDTO> lstComprobantes = comprobanteBL.getComprobantesEnEmpresa(empresa.IdEmpresa); List<MovimientoInvDTO> lstMovimientoInv = movimientoInvBL.getMovimientoInvsEnEmpresa(empresa.IdEmpresa); List<sItem> ListaS1, ListaS2, ListaS3; ListaS1 = lstMovimientos.Where(x => (x.NroOperacion.ToLower() ?? "").Contains(texto)|| (x.Monto.ToString()).Contains(texto)|| (x.NombreCategoria.ToLower() ?? "").Contains(texto)|| x.nTipoDocumento.ToLower().Contains(texto)|| (x.NumeroDocumento.ToLower() ?? "").Contains(texto)|| x.NombreEntidadR.ToLower().Contains(texto) ).Select(x => new sItem { id = x.IdMovimiento, nombre = x.NroOperacion, monto = x.Monto, idElemento = 1, elemento = "Movimiento", tipo = x.IdCuentaBancaria.ToString(), //LibroBancario simboloMoneda = x.SimboloMoneda, s1 = x.NombreCategoria, s2 = x.nTipoDocumento, s3 = x.NumeroDocumento, s4 = x.NombreEntidadR }).ToList(); ListaS2 = lstComprobantes.Where(x => (x.NroDocumento).Contains(texto)|| (x.Monto.ToString()).Contains(texto)|| x.NombreTipoDocumento.ToLower().Contains(texto)|| x.NombreEntidad.ToLower().Contains(texto) ).Select(x => new sItem { id = x.IdComprobante, nombre = x.NroDocumento, monto = x.Monto, idElemento = 2, elemento = "Comprobante", tipo = x.IdTipoComprobante.ToString(), simboloMoneda = x.SimboloMoneda, s1 = x.NombreTipoDocumento, s2 = x.NombreEntidad }).ToList(); ListaS3 = lstMovimientoInv.Where(x => (x.NroDocumento.ToLower()).Contains(texto)|| (x.Cantidad.ToString()).Contains(texto)|| x.nItem.ToLower().Contains(texto)|| x.UnidadMedida.ToLower().Contains(texto)|| x.nForma.ToLower().Contains(texto)|| x.SerieLote.ToLower().Contains(texto) ).Select(x => new sItem { id = x.IdMovimientoInv, nombre = x.NroDocumento, monto = x.Cantidad, idElemento = 3, elemento = "Movimiento Inv.", tipo = x.IdTipoMovimientoInv.ToString(), s1 = x.nItem, s2 = x.UnidadMedida, s3 = x.nForma, s4 = x.SerieLote }).ToList(); ListaS1.AddRange(ListaS2); ListaS1.AddRange(ListaS3); InfoSItem elem = new InfoSItem(); elem.total_count = ListaS1.Count(); //elem.items = ListaS1.Skip(5 * page).Take(5).ToList(); elem.items = ListaS1; return Json(new { elem }, JsonRequestBehavior.AllowGet); }