public void Refresh(IAcreedor acreedor) { _oid_agente = acreedor.Oid; Oid = acreedor.Oid; _codigo = acreedor.Codigo; _nombre = acreedor.Nombre; _observaciones = acreedor.Observaciones; _pagado = 0; _efectos_devueltos = 0; _efectos_negociados = 0; _efectos_pendientes_vto = 0; PayrollList _nominas = null; foreach (Payment item in acreedor.Pagos) { if (item.EEstado == EEstado.Anulado) continue; if (item.OidAgente == 0 && item.ETipoPago == ETipoPago.Nomina) { if (_nominas == null) _nominas = PayrollList.GetListByEmpleado(acreedor.Oid, false); foreach (TransactionPayment pf in item.Operations) { if (_nominas.Contains(pf.OidOperation)) { if (item.EEstadoPago == EEstado.Pagado && item.Vencimiento <= DateTime.Now) _pagado += pf.Cantidad; else if (item.EEstadoPago == EEstado.Pagado && item.Vencimiento > DateTime.Now) _efectos_negociados += pf.Cantidad; else if (item.EEstadoPago != EEstado.Pagado && item.Vencimiento <= DateTime.Now) _efectos_devueltos += pf.Cantidad; else if (item.EEstadoPago != EEstado.Pagado && item.Vencimiento > DateTime.Now) _efectos_pendientes_vto += pf.Cantidad; } } } else { if (item.EEstadoPago == EEstado.Pagado && item.Vencimiento <= DateTime.Now) _pagado += item.Importe; else if (item.EEstadoPago == EEstado.Pagado && item.Vencimiento > DateTime.Now) _efectos_negociados += item.Importe; else if (item.EEstadoPago != EEstado.Pagado && item.Vencimiento <= DateTime.Now) _efectos_devueltos += item.Importe; else if (item.EEstadoPago != EEstado.Pagado && item.Vencimiento > DateTime.Now) _efectos_pendientes_vto += item.Importe; } } }
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); }