public OOB.ResultadoEntidad <OOB.LibVenta.PosOffline.Reporte.Pago.Resumen.Ficha> Reporte_Pago_Resumen(OOB.LibVenta.PosOffline.Reporte.Pago.Filtro filtro)
        {
            var rt = new OOB.ResultadoEntidad <OOB.LibVenta.PosOffline.Reporte.Pago.Resumen.Ficha>();

            var filtroDTO = new DtoLibPosOffLine.Reporte.Pago.Filtro();

            filtroDTO.IdOperador = filtro.IdOperador;

            var r01 = MyData.Reporte_Pago_Resumen(filtroDTO);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                rt.Mensaje = r01.Mensaje;
                rt.Result  = OOB.Enumerados.EnumResult.isError;
                return(rt);
            }

            var list = new List <OOB.LibVenta.PosOffline.Reporte.Pago.Resumen.Detalle>();

            if (r01.Entidad != null)
            {
                if (r01.Entidad.detalle != null)
                {
                    if (r01.Entidad.detalle.Count > 0)
                    {
                        list = r01.Entidad.detalle.Select(s =>
                        {
                            var pag = new OOB.LibVenta.PosOffline.Reporte.Pago.Resumen.Detalle()
                            {
                                codigo         = s.codigo,
                                descripcion    = s.descripcion,
                                importe        = s.importe,
                                lote           = s.lote,
                                montoRecibido  = s.montoRecibido,
                                referencia     = s.referencia,
                                tasa           = s.tasa,
                                tipoMedioCobro = (OOB.LibVenta.PosOffline.Reporte.Pago.Enumerados.enumTipoMedioCobro)s.tipoMedioCobro,
                            };
                            return(pag);
                        }).ToList();
                    }
                }
            }
            var reg = new OOB.LibVenta.PosOffline.Reporte.Pago.Resumen.Ficha()
            {
                MontoNCredito  = r01.Entidad.montoNCredito,
                MontoCambioDar = r01.Entidad.montoCambioDar,
                Detalle        = list,
            };

            rt.Entidad = reg;

            return(rt);
        }
Ejemplo n.º 2
0
        public DtoLib.ResultadoEntidad <DtoLibPosOffLine.Reporte.Pago.Resumen.Ficha> Reporte_Pago_Resumen(DtoLibPosOffLine.Reporte.Pago.Filtro filtro)
        {
            var result = new DtoLib.ResultadoEntidad <DtoLibPosOffLine.Reporte.Pago.Resumen.Ficha>();

            try
            {
                using (var cnn = new LibEntitySqLitePosOffLine.LeonuxPosOffLineEntities(_cnn.ConnectionString))
                {
                    var idOp = filtro.IdOperador;

                    var lCredito = cnn.Venta.
                                   Where(w => w.idOperador == idOp && w.estatusActivo == 1 && w.tipoDocumento == 3).ToList();
                    var nCredito = 0.0m;
                    if (lCredito.Count > 0)
                    {
                        nCredito = lCredito.Sum(s => s.montoTotal);
                    }

                    var lCambioDar = cnn.Venta.
                                     Where(w => w.idOperador == idOp && w.estatusActivo == 1).ToList();
                    var nCambioDar = 0.0m;
                    if (lCambioDar.Count > 0)
                    {
                        nCambioDar = lCambioDar.Sum(s => s.cambioDar);
                    }

                    var mov = cnn.Venta.
                              Join(cnn.VentaPago, v => v.id, vp => vp.idVenta, (v, vp) => new { v, vp }).
                              Where(w => w.v.idOperador == idOp && w.v.estatusActivo == 1 && w.v.tipoDocumento == 1).
                              ToList();

                    var list = new List <DtoLibPosOffLine.Reporte.Pago.Resumen.Detalle>();
                    if (mov != null)
                    {
                        if (mov.Count > 0)
                        {
                            list = mov.Select(s =>
                            {
                                var nr = new DtoLibPosOffLine.Reporte.Pago.Resumen.Detalle()
                                {
                                    codigo         = s.vp.codioMedioCobro,
                                    descripcion    = s.vp.descripMedioCobro,
                                    importe        = s.vp.importe,
                                    lote           = s.vp.lote,
                                    montoRecibido  = s.vp.montoRecibido,
                                    referencia     = s.vp.referencia,
                                    tasa           = s.vp.tasa,
                                    tipoMedioCobro = (DtoLibPosOffLine.Reporte.Pago.Enumerados.enumTipoMedioCobro)s.vp.tipoMedioCobro,
                                };

                                return(nr);
                            }).ToList();
                        }
                    }

                    var reg = new DtoLibPosOffLine.Reporte.Pago.Resumen.Ficha()
                    {
                        montoNCredito  = nCredito,
                        montoCambioDar = nCambioDar,
                        detalle        = list,
                    };
                    result.Entidad = reg;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
Ejemplo n.º 3
0
        public DtoLib.ResultadoLista <DtoLibPosOffLine.Reporte.Pago.Detalle.Ficha> Reporte_Pago_Detalle(DtoLibPosOffLine.Reporte.Pago.Filtro filtro)
        {
            var result = new DtoLib.ResultadoLista <DtoLibPosOffLine.Reporte.Pago.Detalle.Ficha>();

            try
            {
                using (var cnn = new LibEntitySqLitePosOffLine.LeonuxPosOffLineEntities(_cnn.ConnectionString))
                {
                    var idOp = filtro.IdOperador;
                    var mov  = cnn.Venta.
                               GroupJoin(cnn.VentaPago, v => v.id, vp => vp.idVenta, (v, vp) => new { v, vp }).
                               Where(w => w.v.idOperador == idOp).
                               ToList();

                    var list = new List <DtoLibPosOffLine.Reporte.Pago.Detalle.Ficha>();
                    if (mov != null)
                    {
                        if (mov.Count > 0)
                        {
                            list = mov.Select(s =>
                            {
                                var _estatus = DtoLibPosOffLine.Reporte.Pago.Enumerados.enumEstatus.Activo;
                                if (s.v.estatusActivo != 1)
                                {
                                    _estatus = DtoLibPosOffLine.Reporte.Pago.Enumerados.enumEstatus.Anulado;
                                }
                                var _tipoDoc = DtoLibPosOffLine.Reporte.Pago.Enumerados.enumTipoDocumento.Factura;
                                if (s.v.tipoDocumento != 1)
                                {
                                    _tipoDoc = DtoLibPosOffLine.Reporte.Pago.Enumerados.enumTipoDocumento.NotaCredito;
                                }

                                var lp = new List <DtoLibPosOffLine.Reporte.Pago.Detalle.Pago>();
                                lp     = s.vp.Select(sp =>
                                {
                                    var pg = new DtoLibPosOffLine.Reporte.Pago.Detalle.Pago()
                                    {
                                        codigo         = sp.codioMedioCobro,
                                        descripcion    = sp.descripMedioCobro,
                                        importe        = sp.importe,
                                        lote           = sp.lote,
                                        montoRecibido  = sp.montoRecibido,
                                        referencia     = sp.referencia,
                                        tasa           = sp.tasa,
                                        tipoMedioCobro = (DtoLibPosOffLine.Reporte.Pago.Enumerados.enumTipoMedioCobro)sp.tipoMedioCobro,
                                    };

                                    return(pg);
                                }).ToList();

                                var nr = new DtoLibPosOffLine.Reporte.Pago.Detalle.Ficha()
                                {
                                    id                 = (int)s.v.id,
                                    aplica             = s.v.aplica,
                                    ciRif              = s.v.ciRif,
                                    dirFiscal          = s.v.dirFiscal,
                                    documento          = s.v.documento,
                                    estatus            = _estatus,
                                    fecha              = DateTime.Parse(s.v.fecha),
                                    hora               = s.v.hora,
                                    signo              = (int)s.v.signo,
                                    monto              = s.v.montoTotal,
                                    nombreRazaonSocial = s.v.nombreRazonSocial,
                                    telefono           = s.v.telefono,
                                    tipoDoc            = _tipoDoc,
                                    cambioDar          = s.v.cambioDar,
                                };
                                nr.pagos = lp;

                                return(nr);
                            }).ToList();
                        }
                    }
                    result.Lista = list;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
 public DtoLib.ResultadoEntidad <DtoLibPosOffLine.Reporte.Pago.Resumen.Ficha> Reporte_Pago_Resumen(DtoLibPosOffLine.Reporte.Pago.Filtro filtro)
 {
     return(ServiceProv.Reporte_Pago_Resumen(filtro));
 }
 public DtoLib.ResultadoLista <DtoLibPosOffLine.Reporte.Pago.Detalle.Ficha> Reporte_Pago_Detalle(DtoLibPosOffLine.Reporte.Pago.Filtro filtro)
 {
     return(ServiceProv.Reporte_Pago_Detalle(filtro));
 }
        public OOB.ResultadoLista <OOB.LibVenta.PosOffline.Reporte.Pago.Detalle.Ficha> Reporte_Pago_Detalle(OOB.LibVenta.PosOffline.Reporte.Pago.Filtro filtro)
        {
            var rt = new OOB.ResultadoLista <OOB.LibVenta.PosOffline.Reporte.Pago.Detalle.Ficha>();

            var filtroDTO = new DtoLibPosOffLine.Reporte.Pago.Filtro();

            filtroDTO.IdOperador = filtro.IdOperador;

            var r01 = MyData.Reporte_Pago_Detalle(filtroDTO);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                rt.Mensaje = r01.Mensaje;
                rt.Result  = OOB.Enumerados.EnumResult.isError;
                return(rt);
            }

            var list = new List <OOB.LibVenta.PosOffline.Reporte.Pago.Detalle.Ficha>();

            if (r01.Lista != null)
            {
                if (r01.Lista.Count > 0)
                {
                    list = r01.Lista.Select(s =>
                    {
                        var listPag = s.pagos.Select(p =>
                        {
                            var pag = new OOB.LibVenta.PosOffline.Reporte.Pago.Detalle.Pago()
                            {
                                codigo         = p.codigo,
                                descripcion    = p.descripcion,
                                importe        = p.importe,
                                lote           = p.lote,
                                montoRecibido  = p.montoRecibido,
                                referencia     = p.referencia,
                                tasa           = p.tasa,
                                tipoMedioCobro = (OOB.LibVenta.PosOffline.Reporte.Pago.Enumerados.enumTipoMedioCobro)p.tipoMedioCobro,
                            };
                            return(pag);
                        }).ToList();

                        var nr = new OOB.LibVenta.PosOffline.Reporte.Pago.Detalle.Ficha()
                        {
                            id                 = s.id,
                            aplica             = s.aplica,
                            ciRif              = s.ciRif,
                            dirFiscal          = s.dirFiscal,
                            documento          = s.documento,
                            estatus            = (OOB.LibVenta.PosOffline.Reporte.Pago.Enumerados.enumEstatus)s.estatus,
                            fecha              = s.fecha,
                            hora               = s.hora,
                            monto              = s.monto,
                            nombreRazaonSocial = s.nombreRazaonSocial,
                            signo              = s.signo,
                            telefono           = s.telefono,
                            tipoDoc            = (OOB.LibVenta.PosOffline.Reporte.Pago.Enumerados.enumTipoDocumento)s.tipoDoc,
                            cambioDar          = s.cambioDar,
                        };
                        nr.pagos = listPag;
                        return(nr);
                    }).ToList();
                }
            }
            rt.Lista = list;

            return(rt);
        }