private object toModel(DebitEntity debit) { string type = debit.fkdebit_type.type; if (type == "P") { PaymentDebit result = new PaymentDebit(); result.id = debit.id; result.initialDate = debit.initialDate; result.detail = debit.description; result.employee = debit.employeeId; result.total = debit.totalAmount; result.remainingAmount = debit.remainingAmount; result.paymentsMade = (long)debit.paysMade; result.missingPayments = (long)debit.remainingPays; result.interestRate = (double)debit.fkdebit_type.interestRate; result.type = debit.debitTypeId; result.typeName = debit.fkdebit_type.name; result.pastDays = debit.pastDays; return result; } else if (type == "A") { AmortizationDebit result = new AmortizationDebit(); result.id = debit.id; result.initialDate = debit.initialDate; result.detail = debit.description; result.employee = debit.employeeId; result.total = debit.totalAmount; result.remainingAmount = debit.remainingAmount; result.paymentsMade = debit.paysMade; result.missingPayments = debit.remainingPays; result.interestRate = debit.fkdebit_type.interestRate; result.type = debit.debitTypeId; result.typeName = debit.fkdebit_type.name; result.pastDays = debit.pastDays; result.period = debit.period; return result; } else { return new Debit() { id = debit.id, employee = debit.employeeId, amount = debit.totalAmount, detail = debit.description, type = debit.debitTypeId, typeName = debit.fkdebit_type.name, pastDays = debit.pastDays, period = debit.period }; } }
private static long payments(AmortizationDebit d, long workedDays) { return Math.Min(((workedDays + d.pastDays) / d.period), d.missingPayments); }
public AmortizationDebit selectAmortizationDebit(long idDebit) { AmortizationDebit result = new AmortizationDebit(); try { using (var repository = new MainRepository(new AppContext("PostgresConnection"))) { DebitEntity debit = repository.Debits.Get(idDebit); if (debit != null && debit.active) { result = (AmortizationDebit)toModel(debit); } else { throw validateException(App_LocalResoures.Errors.inexistentDebit); } } } catch (Exception e) { throw validateException(e); } return result; }