Exemplo n.º 1
0
        public IActionResult RecibosCaja_Detelle3_GetList(CajaParameterModel p)
        {
            var usr = this.GetServiceUser();

            var reporte = from iec in db.IngresosEgresosCaja
                          join c in db.Caja on iec.CajaId equals c.Id
                          join pf in db.Profile on iec.Username equals pf.Username
                          where iec.EstadoId == (int)IngresosEgresosBancoEstados.Registrado
                          select new {
                Usuario = pf.Nombre + " " + pf.Apellido,
                Caja    = c.Description,
                Fecha   = iec.FechaProceso,
                iec.Id
            };


            if (p.all)
            {
                return(Json(reporte.ToArray()));
            }
            else
            {
                return(Json(reporte.Where(r => r.Fecha >= p.Desde && r.Fecha <= p.Hasta).ToArray()));
            }
        }
        public IActionResult GetList(CajaParameterModel p)
        {
            var user = this.GetServiceUser();

            var CtaContable = DbIpsa.BancosCuentas.Select(bc => new
            {
                bc.BancoCuenta,
                bc.Descripcion
            }).ToArray();

            PaginationResult <IEnumerable <BancoViewModel> > result = new PaginationResult <IEnumerable <BancoViewModel> >();
            var query = db.IngresosEgresosBanco
                        .Include(c => c.Estado)
                        .Include(c => c.TipoMovimiento)
                        .Include(c => c.TipoMoneda)
                        .Include(c => c.Caja)
                        .Select(c => new BancoViewModel
            {
                Id                  = c.Id,
                FechaRegistro       = c.FechaRegistro,
                Monto               = c.Monto,
                TipoMonedaId        = c.TipoMonedaId,
                TipoMoneda          = c.TipoMoneda.Descripcion,
                CuentaContableBanco = CtaContable.Where(cc => cc.BancoCuenta == c.BancoCuenta).FirstOrDefault().Descripcion,
                TipoMovimientoId    = c.TipoMovimientoId,
                TipoMovimiento      = c.TipoMovimiento.Descripcion,
                Concepto            = c.Concepto,
                FechaProceso        = c.FechaProceso,
                Username            = c.Username,
                CajaId              = c.CajaId,
                Caja                = c.Caja.Description,
                EstadoId            = c.EstadoId,
                Estado              = c.Estado.Descripcion,
                TipoCambio          = c.TipoCambio,
                MotivoAnulado       = c.MotivoAnulado,
                TipoDocumentoId     = c.TipoDocumentoId,
                TipoDocumento       = c.TipoDocumento.Descripcion,
                Referencia          = c.Referencia
            });

            var strim = query.ToString();

            if (p.searchByNum)
            {
                query = query.Where(x => x.Referencia == p.Referencia);
                if (!user.roles.Contains((int)Roles.Administrador))
                {
                    query = query.Where(x => x.CajaId == user.cajaid);
                }

                result.Count  = query.Count();
                result.Result = query.ToArray();
            }
            else
            {
                query = query.Where(x => x.FechaProceso >= p.Desde && x.FechaProceso <= p.Hasta);

                if (!user.roles.Contains((int)Roles.Administrador))
                {
                    query = query.Where(x => x.CajaId == user.cajaid);
                }
                else
                {
                    if (p.caja.HasValue)
                    {
                        query = query.Where(x => x.CajaId == p.caja.Value);
                    }
                }

                if (p.estado.HasValue)
                {
                    query = query.Where(x => x.EstadoId == p.estado);
                }

                if (p.tipoDoc.HasValue)
                {
                    query = query.Where(x => x.TipoDocumentoId == p.tipoDoc);
                }

                //result.Count = query.Count();
                result.Result = query.OrderByDescending(q => q.FechaProceso).ToArray(); //query??[]//.OrderByDescending(q => q.FechaProceso)
                //.Skip((p.Page - 1) * p.Rows)
                //.Take(p.Rows)
            }

            return(Json(result));
        }
Exemplo n.º 3
0
        public IActionResult GetList(CajaParameterModel p)
        {
            var user = this.GetServiceUser();
            PaginationResult <IEnumerable <CajaViewModel> > result = new PaginationResult <IEnumerable <CajaViewModel> >();
            var query = db.IngresosEgresosCaja
                        .Include(c => c.TipoIngreso)
                        .Include(c => c.TipoMovimiento)
                        .Include(c => c.TipoMoneda)
                        .Include(c => c.Estado)
                        .Include(c => c.Caja)
                        .Select(c => new CajaViewModel
            {
                Id             = c.Id,
                TipoMovimiento = c.TipoMovimiento.Descripcion,
                NumRecibo      = c.NumRecibo,
                EstadoId       = c.EstadoId,
                Estado         = c.Estado.Descripcion,
                FechaProceso   = c.FechaProceso,
                Total          = c.Total,
                Beneficiario   = c.Beneficiario,
                Concepto       = c.Concepto,
                NoOrdenPago    = c.NoOrdenPago,
                TipoIngreso    = c.TipoIngreso.Descripcion,
                TipoMoneda     = c.TipoMoneda.Descripcion,
                Username       = c.Username,
                FechaCreacion  = c.FechaRegistro,
                CentroCosto    = "IPSA Central",
                CajaId         = c.CajaId,
                Caja           = c.Caja.Description,
                NoSerie        = string.IsNullOrEmpty(c.NoSerie)?"":c.NoSerie
            });

            if (p.searchByNum)
            {
                query = query.Where(x => x.NumRecibo == p.numRecibo.PadLeft(10, '0'));
                if (!user.roles.Contains((int)Roles.Administrador))
                {
                    query = query.Where(x => x.CajaId == user.cajaid);
                }

                result.Count = query.Count();
                var strim = query.ToString();
                result.Result = query.ToArray();
            }
            else
            {
                query = query.Where(x => x.FechaProceso >= p.Desde && x.FechaProceso <= p.Hasta);

                if (!user.roles.Contains((int)Roles.Administrador))
                {
                    query = query.Where(x => x.CajaId == user.cajaid);
                }
                else
                {
                    if (p.caja.HasValue)
                    {
                        query = query.Where(x => x.CajaId == p.caja.Value);
                    }
                }

                if (p.estado.HasValue)
                {
                    query = query.Where(x => x.EstadoId == p.estado);
                }

                result.Count  = query.Count();
                result.Result = query.OrderByDescending(q => q.FechaProceso)
                                .Skip((p.Page - 1) * p.Rows)
                                .Take(p.Rows).ToArray();
            }

            return(Json(result));
        }
Exemplo n.º 4
0
        public IActionResult RecibosCaja_Detelle2_GetList(CajaParameterModel p)
        {
            var usr = this.GetServiceUser();

            var servicios = new MaestroContableServices(DbIpsa).ObtenerServicios();

            //var servicios = DbIpsa.MaestroContable
            //    .Where(mc => mc.TipoCta == 4 || mc.Cuenta.StartsWith("1101") || mc.Cuenta.StartsWith("1108") || mc.Cuenta.StartsWith("1105"))
            //    .ToArray();


            var reporteMinutas = from iec in db.IngresosEgresosCaja
                                 join iecr in db.IngresosEgresosCajaReferencias on iec.Id equals iecr.ReciboId
                                 join c in db.Caja on iec.CajaId equals c.Id
                                 join m in db.TipoMoneda on iec.TipoMonedaId.Value equals m.Id
                                 where iec.FechaProceso >= p.Desde && iec.FechaProceso <= p.Hasta &&
                                 iec.EstadoId == (int)IngresosEgresosBancoEstados.Registrado
                                 select new ReporteMinutaVsServicio {
                NumRecibo        = iec.NumRecibo,
                FechaProceso     = iec.FechaProceso,
                Caja             = c.Description,
                CajaId           = c.Id,
                Beneficiario     = iec.Beneficiario,
                Moneda           = m.Descripcion,
                MinutaReferencia = iecr.Referencia,
                MinutaFecha      = iecr.Fecha,
                MontoDolar       = Math.Round((iec.TipoMonedaId == (short)TipoMonedaParamFilter.Dolar?iecr.Total:iecr.Total / iecr.TipoCambio), 2),
                MontoCordoba     = Math.Round((iec.TipoMonedaId == (short)TipoMonedaParamFilter.Cordoba?iecr.Total:iecr.Total * iecr.TipoCambio), 2),
            };
            var reporteServicios = from iec in db.IngresosEgresosCaja
                                   join iecd in db.IngresosEgresosCajaDetalle on iec.Id equals iecd.ReciboId
                                   join c in db.Caja on iec.CajaId equals c.Id
                                   join m in db.TipoMoneda on iec.TipoMonedaId.Value equals m.Id
                                   where iec.FechaProceso >= p.Desde && iec.FechaProceso <= p.Hasta &&
                                   iec.EstadoId == (int)IngresosEgresosBancoEstados.Registrado
                                   select new ReporteMinutaVsServicio {
                NumRecibo        = iec.NumRecibo,
                FechaProceso     = iec.FechaProceso,
                Caja             = c.Description,
                CajaId           = c.Id,
                Beneficiario     = iec.Beneficiario,
                Moneda           = m.Descripcion,
                ServicioNombre   = servicios.Where(s => s.CtaContable == iecd.CtaContable).FirstOrDefault().Nombre,
                ServicioPrecio   = iecd.Precio,
                ServicioCantidad = iecd.Cantidad,
                ServicioTotal    = iecd.Montodolar,
                MinutaFecha      = iec.FechaProceso
            };

            if (p.caja.Value > 0)
            {
                reporteMinutas = from rm in reporteMinutas
                                 where rm.CajaId == p.caja.Value
                                 select rm;

                reporteServicios = from rs in reporteServicios
                                   where rs.CajaId == p.caja.Value
                                   select rs;
            }


            var allReporteMinutas   = reporteMinutas.ToArray();
            var allReporteServicios = reporteServicios.ToArray();

            var MinutasYServicios = allReporteMinutas.Concat(allReporteServicios);

            //var reporteAgrupado = from t in MinutasYServicios
            //            group t by t.NumRecibo into g
            //            select new ReporteMinutaVsServicio
            //            {
            //                    NumRecibo = g.Key,
            //                    MontoCordoba = g.Sum(x => x.MontoCordoba),
            //                    MontoDolar = g.Sum(x => x.MontoDolar),
            //                    ServicioTotal = g.Sum(x => x.ServicioTotal)
            //            };

            //var all = reporteAgrupado.ToArray().Concat(MinutasYServicios);

            //return Json(all);

            //Quitar la primera columna el resumen
            return(Json(MinutasYServicios));
        }