public OOB.Resultado.Lista <OOB.Reportes.Pos.PagoResumen.Ficha> ReportePos_PagoResumen(OOB.Reportes.Pos.Filtro filtro)
        {
            var rt = new OOB.Resultado.Lista <OOB.Reportes.Pos.PagoResumen.Ficha>();

            var filtroDTO = new DtoLibPos.Reportes.POS.Filtro();

            filtroDTO.IdCierre = filtro.idCierre;
            var r01 = MyData.ReportePos_PagoDetalle(filtroDTO);

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

            var list = new List <OOB.Reportes.Pos.PagoResumen.Ficha>();

            if (r01.Lista != null)
            {
                if (r01.Lista.Count > 0)
                {
                    list = r01.Lista.Where(w => w.estatus.Trim().ToUpper() == "0").Select(s =>
                    {
                        var rg = new OOB.Reportes.Pos.PagoResumen.Ficha()
                        {
                            loteCntDivisa = s.loteCntDivisa,
                            montoRecibido = s.montoRecibido,
                            mpCodigo      = s.medioPagoCodigo,
                            mpDescripcion = s.medioPagoDesc,
                            refTasaDivisa = s.referenciaTasa,
                        };
                        return(rg);
                    }).ToList();
                }
            }
            rt.ListaD = list;

            return(rt);
        }
 public DtoLib.ResultadoEntidad <DtoLibPos.Reportes.POS.PagoResumen.Ficha> ReportePos_PagoResumen(DtoLibPos.Reportes.POS.Filtro filtro)
 {
     return(ServiceProv.ReportePos_PagoResumen(filtro));
 }
 public DtoLib.ResultadoLista <DtoLibPos.Reportes.POS.PagoDetalle.Ficha> ReportePos_PagoDetalle(DtoLibPos.Reportes.POS.Filtro filtro)
 {
     return(ServiceProv.ReportePos_PagoDetalle(filtro));
 }
        public DtoLib.ResultadoEntidad <DtoLibPos.Reportes.POS.PagoResumen.Ficha> ReportePos_PagoResumen(DtoLibPos.Reportes.POS.Filtro filtro)
        {
            var result = new DtoLib.ResultadoEntidad <DtoLibPos.Reportes.POS.PagoResumen.Ficha>();

            return(result);
        }
        public DtoLib.ResultadoLista <DtoLibPos.Reportes.POS.PagoDetalle.Ficha> ReportePos_PagoDetalle(DtoLibPos.Reportes.POS.Filtro filtro)
        {
            var result = new DtoLib.ResultadoLista <DtoLibPos.Reportes.POS.PagoDetalle.Ficha>();

            try
            {
                using (var cnn = new PosEntities(_cnPos.ConnectionString))
                {
                    var p1   = new MySql.Data.MySqlClient.MySqlParameter();
                    var list = new List <DtoLibPos.Reportes.POS.PagoDetalle.Ficha>();
                    var sql  = @"SELECT  r.auto as autoRecibo,
                                mp.codigo as medioPagoCodigo, 
                                mp.medio as medioPagoDesc,
                                mp.lote as loteCntDivisa,
                                mp.referencia as referenciaTasa, 
                                mp.monto_recibido as montoRecibido,
                                d.fecha as documentoFecha, 
                                d.tipo_documento as documentoTipo, 
                                d.documento as documentoNro,
                                r.cliente as clienteNombre, 
                                r.ci_rif as clienteCiRif,
                                r.direccion as clienteDir,
                                r.telefono as clienteTelf,
                                r.hora as hora,
                                r.importe as importe,   
                                r.cambio as cambioDar,
                                r.estatus_anulado as estatus
                                from cxc_medio_pago as mp
                                join cxc_recibos as r on mp.auto_recibo=r.auto
                                join cxc_documentos as d on mp.auto_recibo=d.auto_cxc_recibo
                                where mp.cierre=@idCierre";
                    p1.ParameterName = "idCierre";
                    p1.Value         = filtro.IdCierre;
                    list             = cnn.Database.SqlQuery <DtoLibPos.Reportes.POS.PagoDetalle.Ficha>(sql, p1).ToList();
                    result.Lista     = list;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
        public OOB.Resultado.Lista <OOB.Reportes.Pos.PagoDetalle.Ficha> ReportePos_PagoDetalle(OOB.Reportes.Pos.Filtro filtro)
        {
            var rt = new OOB.Resultado.Lista <OOB.Reportes.Pos.PagoDetalle.Ficha>();

            var filtroDTO = new DtoLibPos.Reportes.POS.Filtro();

            filtroDTO.IdCierre = filtro.idCierre;
            var r01 = MyData.ReportePos_PagoDetalle(filtroDTO);

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

            var list = new List <OOB.Reportes.Pos.PagoDetalle.Ficha>();

            if (r01.Lista != null)
            {
                if (r01.Lista.Count > 0)
                {
                    var gf = r01.Lista.GroupBy(g =>
                                               new
                    {
                        g.autoRecibo, g.documentoNro, g.documentoFecha, g.documentoTipo, g.hora, g.clienteNombre,
                        g.clienteCiRif, g.clienteDir, g.clienteTelf, g.cambioDar, g.estatus, g.importe
                    }).Select(s => new { key = s.Key, data = s.ToList() }).ToList();

                    foreach (var it in gf)
                    {
                        var nf = new OOB.Reportes.Pos.PagoDetalle.Ficha()
                        {
                            cliCiRif     = it.key.clienteCiRif,
                            cliDir       = it.key.clienteDir,
                            cliNombre    = it.key.clienteNombre,
                            cliTelf      = it.key.clienteTelf,
                            docCambioDar = it.key.cambioDar,
                            docEstatus   = it.key.estatus,
                            docFecha     = it.key.documentoFecha,
                            docHora      = it.key.hora,
                            docMonto     = it.key.importe,
                            docNumero    = it.key.documentoNro,
                            docTipo      = it.key.documentoTipo,
                            idRecibo     = it.key.autoRecibo,
                        };
                        var lp = new List <OOB.Reportes.Pos.PagoDetalle.Detalle>();
                        foreach (var p in it.data)
                        {
                            var np = new OOB.Reportes.Pos.PagoDetalle.Detalle()
                            {
                                loteCntDivisa  = p.loteCntDivisa,
                                medioPagCodigo = p.medioPagoCodigo,
                                medioPagDesc   = p.medioPagoDesc,
                                montoRecibido  = p.montoRecibido,
                                refTasaDivisa  = p.referenciaTasa,
                            };
                            lp.Add(np);
                        }
                        nf.pagos = lp;
                        list.Add(nf);
                    }
                }
            }
            rt.ListaD = list;

            return(rt);
        }