C # Рассчитать ежемесячные платежи и показать отверстие Даты возможности оплаты в форме Windows - PullRequest
0 голосов
/ 04 марта 2019

Я создал простой расчет кредита без амортизации, но я не смог показать детали LoanPayment в dataGridView

Letsay сегодня 2019-03-04 И время кредита начинает тикать ... У меня есть эти данные:

decimal LoanAmount = Convert.ToDecimal(txtLoanAmount.Text.Trim());
decimal period = Convert.ToDecimal(txtYears.Text.Trim()); // Years
decimal rate = Convert.ToDecimal(txtRate.Text.Trim());

Letsay период составляет 5 лет

Поскольку сегодня 2019-03-04, тогда я должен рассчитать те дни в том же месяце, который я имею в виду между 2019-03-04 и 2019-03-31.Я хочу, чтобы Клиент окупал каждый месяц последней даты.Я имею в виду, что первая выплата будет 2019-03-31, вторая - 2019-04-30, третья - 2019-05-31 и т. Д. До тех пор, пока LoanAmount не станет равным 0 (ziro).

int days = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
DateTime mydate = DateTime.Now;
int day = Convert.ToInt32(mydate.Day.ToString());
int restOfdays = days - day; // This givs me offcourse 27 Days

Так что теперь я могу рассчитать для этих дней между 2019-03-04 и 2019-03-31

decimal Days = period * 12 * 30; // Years in days
decimal RateByDays = rate / (100*12*30); // Rate for day
decimal LoanByDays = LoanAmount / Days; //Loan amount divided with days
decimal payAmountByDays = LoanAmount*RateByDays +LoanByDays;
decimal payAmountByMonths = Decimal.Round(payAmountByDays * 30);
decimal payRestOfMonthDays = Decimal.Round(payDays*restdays); // between 2019-03-04 and 2019-03-31

Letsay LoanAmount составляет 500000, ставка составляет 3% и период 2 года, что я хочу показать наdataGridПосмотреть все платежные плоскости с начала Даты займа до тех пор, пока все деньги не будут возвращены. Я имею в виду, что LoanAmount имеет значение ziro, поэтому клиент знает, сколько и когда или когда он / она заплатит.Список за период оплаты.Вот так.

Date        AmountToPay
2019-03-31  19875 // this is for those between days , 27 days
2019-04-30  22083
2019-05-31  22083
2019-06-30  22083
And so on until 2 years
2021-02 or 03 depends when LoanAmount will be ziro.

Я пытаюсь сделать это, но я знаю, что я не прав

public class PaymentTimeTable
{
   public DateTime payDate { get; set; }
   public decimal AmountToPayByMonth { get; set; } 
   public int TermOfYears { get; set; } 
}

public void Calculate(DateTime DateOfPay, decimal amountToPayByMonth, int term)
 {
    int paymentOpportunity = term * 12; // How many times or how many months will customer pay
     List<PaymentTimeTable> payList = new List<PaymentTimeTable>();

      for(int i = 0; i < paymentOpportunity; i++)
          {
                    // I dont know how to formulate here too .....
          }

  }

Я знаю, что усложнил это больше, чем следовало, но яне знаю как.Пожалуйста, помогите!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...