Esempio n. 1
0
 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
         };
     }
 }
Esempio n. 2
0
 private static long payments(AmortizationDebit d, long workedDays)
 {
     return Math.Min(((workedDays + d.pastDays) / d.period), d.missingPayments);
 }
Esempio n. 3
0
 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;
 }