protected override void PrintPagoAction() { if (Pago == null) { return; } PaymentReportMng reportMng = new PaymentReportMng(AppContext.ActiveSchema); PagoNominaDetailRpt report = reportMng.GetNominaDetailReport(Pago, _entity, _payrolls); ShowReport(report); }
public PagoNominaDetailRpt GetNominaDetailReport(Payment item, IAcreedor empleado, PayrollList nominas) { if (item == null) { return(null); } PagoNominaDetailRpt doc = new PagoNominaDetailRpt(); List <PaymentPrint> pList = new List <PaymentPrint>(); List <TransactionPaymentPrint> pagosList = new List <TransactionPaymentPrint>(); foreach (TransactionPayment pagoFactura in item.Operations) { if (nominas.Contains(pagoFactura.OidOperation)) { pagosList.Add(TransactionPaymentPrint.New(pagoFactura.GetInfo(), nominas.GetItem(pagoFactura.OidOperation))); } } //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports if (pagosList.Count <= 0) { return(null); } pList.Add(PaymentPrint.New(item.GetInfo(false), empleado, false)); doc.SetDataSource(pList); doc.Subreports["Cuerpo"].SetDataSource(pagosList); doc.SetParameterValue("Empresa", Schema.Name); return(doc); }