예제 #1
0
        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);
        }