private void DataAssignment() { installment = new LoanInstallment(); installment.IdLoan = loan.IdLoan; installment.Date = dtpData.Value.Date; installment.InstallmentAmount = Convert.ToSingle(tbKwota.Text.Replace('.', ',')); //oznacza że wpłata własna nie będzie odciagana od wypłaty installment.IsOwnRepeyment = true; }
public void AddLoanInstallment(LoanInstallment loanInstallment, int userId, string userName, int concernId) { var date = DateTime.Now; loanInstallment.ConcernId = concernId; loanInstallment.CreatorId = userId; loanInstallment.CreationDate = date; loanInstallment.ModificationDate = date; loanInstallment.ModifierId = userId; _context.LoanInstallments.Add(loanInstallment); _context.SaveChanges(); }
public void UpdateLoanInstallment(LoanInstallment loanInstallment, int userId, string userName, int concernId, int id) { var getIoanInstallment = LoanInstallment(userId, userName, concernId, id); getIoanInstallment.Description = loanInstallment.Description; getIoanInstallment.LenderId = loanInstallment.LenderId; getIoanInstallment.InstallmentAmount = loanInstallment.InstallmentAmount; getIoanInstallment.InstallmentDate = loanInstallment.InstallmentDate; getIoanInstallment.ModificationDate = DateTime.Now; getIoanInstallment.ModifierId = userId; _context.SaveChanges(); }
public ResultDto PayInstallment(LoanInstallmentDto installmentDto) { var result = new ResultDto(); var loan = _loanRepository.GetSingle(installmentDto.LoanId, t => t.BankAccount); if (!loan.Repayment && loan.InstallmentsLeft > 0) { decimal penalty = 0m; if (loan.NextInstallmentDate <= DateTime.Today) { penalty = loan.InstallmentAmount * 1.10m - loan.InstallmentAmount; loan.LoanAmountLeft += penalty; } var installment = new LoanInstallment() { InstallmentAmount = loan.InstallmentAmount + penalty, LoanId = loan.Id, PaidOn = DateTime.Now }; var isValid = _bankAccountService.TakeCash(installment.InstallmentAmount, loan.BankAccountId); if (isValid) { loan.InstallmentsLeft--; loan.LoanAmountLeft -= installment.InstallmentAmount; loan.NextInstallmentDate = loan.NextInstallmentDate.Value.AddDays(1); if (loan.InstallmentsLeft == 0 && loan.LoanAmountLeft == 0) { loan.Repayment = true; loan.RepaymentDate = DateTime.Now; } _loanRepository.Update(loan); _loanInstallmentRepository.Create(installment); result.Success = true; result.Message = "Payment has been successful!"; } else { result.Message = "There was a problem with paying installment"; } } else { result.Message = "You cannot pay the installment for this loan. Check date of your next installment or contact support."; } return(result); }
/// <summary> /// Konstruktor zmiany daty, kwoty raty pożyczki /// </summary> /// <param name="dod"></param> /// <param name="isAmountChange">czy edycja kwoty: true/false</param> /// <param name="co">z-zaliczka</param> /// <param name="isDateChange">czy edycja daty: true/false</param> public ChangeAmountOrDateForm(LoanInstallment li, bool isAmountChange, bool isDateChange) { InitializeComponent(); //pasek tytułowy this.Text = DaneFirmy.NazwaProgramu + "Edycja raty"; //ikona this.Icon = Properties.Resources.logo_firmy; this.loanInstallment = li; if (isDateChange) { dtpDate.Enabled = true; dtpDate.Value = li.Date; } if (isAmountChange) { tbAmount.Enabled = true; TbAmountChange = li.InstallmentAmount; } }