protected override void GetFormSourceData(object[] parameters) { if (parameters[0] == null) { _loan = (Loan)parameters[2]; _entity = Payment.New(_loan.GetInfo(false)); _entity.BeginEdit(); _entity.Oid = -1; _loans = LoanList.NewList(_loan); PaymentList pagos = PaymentList.GetListByPrestamo(_loans[0], false); _loans[0].TotalPagado = 0; _loans[0].Asignado = 0; foreach (PaymentInfo pago in pagos) { if (pago.EEstado == moleQule.Base.EEstado.Anulado) { continue; } _loans[0].TotalPagado += pago.Importe; } _loans[0].Pendiente = _loans[0].Importe - _loans[0].TotalPagado; _loans[0].PendienteAsignar = _loans[0].Pendiente; } else { _entity = (Payment)parameters[0]; _entity.BeginEdit(); _entity.Oid = -1; _loans = LoanList.GetPendientesList(_entity.GetInfo(false)); } //Asociamos los gastos previamente vinculados foreach (TransactionPayment item in _entity.Operations) { LoanInfo prestamo = _loans.GetItem(item.OidOperation); prestamo.Vincula(); } }