public ClientWindow(ICreditBusinessComponent creditBusinessComponent, ICreditTypeBusinessComponent creditTypeBusinessComponent, IClientBusinessComponent clientBusinessComponent, IRequestBusinessComponent requestBusinessComponent, int userId, IKernel ninjectKernel) { _creditTypeBusinessComponent = creditTypeBusinessComponent; _creditBusinessComponent = creditBusinessComponent; _clientBusinessComponent = clientBusinessComponent; _requestBusinessComponent = requestBusinessComponent; _userId = userId; this._ninjectKernel = ninjectKernel; InitializeComponent(); CreditSalary.MaxLength = RequestValidation.SalaryMaxLength; CreditAmount.MaxLength = RequestValidation.AmountMaxLength; FillCTypeListView(); FillRequestListView(); FillMyCreditsListView(); IList <CreditType> ctype = _creditTypeBusinessComponent.GetAllActiveCreditTypes().ToList(); foreach (var ct in ctype) { CreditCTypeBox.Items.Add(ct.Name); } CreditCTypeBox.SelectedIndex = 0; CTypeListView.ItemsSource = CTypetDataList; RequestListView.ItemsSource = RequestDataList; MyCreditListView.ItemsSource = MyCreditDataList; CTypeListView.SelectionMode = SelectionMode.Single; RequestListView.SelectionMode = SelectionMode.Single; MyCreditListView.SelectionMode = SelectionMode.Single; // RequestViewNote.IsEnabled = false; }
public OperatorWindow(IClientBusinessComponent clientBusinessComponent, IRequestBusinessComponent requestBusinessComponent, IPaymentBusinessComponent paymentBusinessComponent, ICreditBusinessComponent creditBusinessComponent, int operatorId, IKernel ninjectKernel) { _clientBusinessComponent = clientBusinessComponent; _requestBusinessComponent = requestBusinessComponent; _paymentBusinessComponent = paymentBusinessComponent; _creditBusinessComponent = creditBusinessComponent; _operatorId = operatorId; this._ninjectKernel = ninjectKernel; InitializeComponent(); RepaymentPassportNo.MaxLength = OperatorValidation.PassportNoMaxLength; AllowCreditPassportNo.MaxLength = OperatorValidation.PassportNoMaxLength; RepaymentToPay.MaxLength = OperatorValidation.ToPayMaxLength; RequestRequestId.MaxLength = OperatorValidation.RequestIdMaxLength; RequestListView.ItemsSource = RequestDataList; RepaymentListView.ItemsSource = RepaymentDataList; AllowCreditListView.ItemsSource = AllowCreditDataList; RequestListView.SelectionMode = SelectionMode.Single; RepaymentListView.SelectionMode = SelectionMode.Single; AllowCreditListView.SelectionMode = SelectionMode.Single; RepaymentOpen.IsEnabled = false; RequestReject.IsEnabled = false; RequestSendRequest.IsEnabled = false; RepaymentSubmit.IsEnabled = false; }
public ClientWindow(ICreditBusinessComponent creditBusinessComponent, ICreditTypeBusinessComponent creditTypeBusinessComponent, IClientBusinessComponent clientBusinessComponent, IRequestBusinessComponent requestBusinessComponent, int userId, IKernel ninjectKernel) { _creditTypeBusinessComponent = creditTypeBusinessComponent; _creditBusinessComponent = creditBusinessComponent; _clientBusinessComponent = clientBusinessComponent; _requestBusinessComponent = requestBusinessComponent; _userId = userId; this._ninjectKernel = ninjectKernel; InitializeComponent(); CreditSalary.MaxLength = RequestValidation.SalaryMaxLength; CreditAmount.MaxLength = RequestValidation.AmountMaxLength; FillCTypeListView(); FillRequestListView(); FillMyCreditsListView(); IList<CreditType> ctype = _creditTypeBusinessComponent.GetAllActiveCreditTypes().ToList(); foreach(var ct in ctype) CreditCTypeBox.Items.Add(ct.Name); CreditCTypeBox.SelectedIndex = 0; CTypeListView.ItemsSource = CTypetDataList; RequestListView.ItemsSource = RequestDataList; MyCreditListView.ItemsSource = MyCreditDataList; CTypeListView.SelectionMode = SelectionMode.Single; RequestListView.SelectionMode = SelectionMode.Single; MyCreditListView.SelectionMode = SelectionMode.Single; // RequestViewNote.IsEnabled = false; }
public ClientCreditHistoryWindow(ICreditBusinessComponent creditBusinessComponent, IKernel ninjectKernel, int clientId) { this._creditBusinessComponent = creditBusinessComponent; this._ninjectKernel = ninjectKernel; this.clientId = clientId; InitializeComponent(); this.RefreshPage(); }
private void RepaymentSubmit_Click(object sender, RoutedEventArgs e) { if (Validate(false, true, false, false)) { if (decimal.Parse(RepaymentToPay.Text) > decimal.Parse(RepaymentToRepayTheLoan.Text)) { MessageBox.Show("Cannot pay more, than " + RepaymentToRepayTheLoan.Text); } else { MessageBoxResult messageBoxResult = MessageBox.Show( "Are you sure?", "Accept Confirmation", MessageBoxButton.YesNo); if (messageBoxResult == MessageBoxResult.Yes) { ContractNoCreditType cnct = (ContractNoCreditType)RepaymentListView.SelectedValue; Client client = _clientBusinessComponent.GetAll() .Where(x => x.PassportNo == RepaymentPassportNo.Text) .FirstOrDefault(); Credit credit = _creditBusinessComponent.GetAll() .Where(x => x.CreditId == Convert.ToInt32(cnct.ContractNO)) .FirstOrDefault(); var paymentAmount = Convert.ToDecimal(RepaymentToPay.Text); var fine = this.CountUpFine(); if (paymentAmount < fine) // хватило только на проценты { credit.PaidForFine += paymentAmount; } else { if (Math.Abs(paymentAmount - decimal.Parse(RepaymentToRepayTheLoan.Text)) >= 0.01m) { var paymentLeft = paymentAmount - fine; //уменьшаюощаяся сумма по которой будем смотреть насколько далеко можно отодвинуть дату/сумму нового долга credit.PaidForFine = 0; if (paymentLeft < credit.AmountToCountFineFromForFirstDelayedMonth) //хватило только на умиеньшение суммы с которой идет процент запервый месяц просрочки { credit.AmountToCountFineFromForFirstDelayedMonth -= paymentLeft; } else { paymentLeft -= credit.AmountToCountFineFromForFirstDelayedMonth; credit.CountFineFromThisDate = credit.CountFineFromThisDate.AddDays(30); while (paymentLeft >= credit.AmountOfPaymentPerMonth) { paymentLeft -= credit.AmountOfPaymentPerMonth; credit.CountFineFromThisDate = credit.CountFineFromThisDate.AddDays(30); } credit.AmountToCountFineFromForFirstDelayedMonth = credit.AmountOfPaymentPerMonth - paymentLeft; } credit.PaidForFine = this.CountUpFine(credit); } else { credit.IsRepaid = true; } } credit.AllreadyPaid += paymentAmount; _paymentBusinessComponent.Add( _operatorId, client.Requests.Where( x => x.Status == RequestStatus.CreditProvided && x.Credit.CreditId == Convert.ToInt32(cnct.ContractNO)) .FirstOrDefault() .Credit.CreditId, paymentAmount, DateTime.Now); _creditBusinessComponent.Update(credit); _creditBusinessComponent = _ninjectKernel.Get <ICreditBusinessComponent>(); // if not re-created will fail on 2nd update TabRepaymentClear(true); } } } }
private void RepaymentSubmit_Click(object sender, RoutedEventArgs e) { if (Validate(false,true,false, false)) { if (decimal.Parse(RepaymentToPay.Text) > decimal.Parse(RepaymentToRepayTheLoan.Text)) { MessageBox.Show("Cannot pay more, than " + RepaymentToRepayTheLoan.Text); } else { MessageBoxResult messageBoxResult = MessageBox.Show( "Are you sure?", "Accept Confirmation", MessageBoxButton.YesNo); if (messageBoxResult == MessageBoxResult.Yes) { ContractNoCreditType cnct = (ContractNoCreditType)RepaymentListView.SelectedValue; Client client = _clientBusinessComponent.GetAll() .Where(x => x.PassportNo == RepaymentPassportNo.Text) .FirstOrDefault(); Credit credit = _creditBusinessComponent.GetAll() .Where(x => x.CreditId == Convert.ToInt32(cnct.ContractNO)) .FirstOrDefault(); var paymentAmount = Convert.ToDecimal(RepaymentToPay.Text); var fine = this.CountUpFine(); if (paymentAmount < fine) // хватило только на проценты { credit.PaidForFine += paymentAmount; } else { if (Math.Abs(paymentAmount - decimal.Parse(RepaymentToRepayTheLoan.Text)) >= 0.01m) { var paymentLeft = paymentAmount - fine; //уменьшаюощаяся сумма по которой будем смотреть насколько далеко можно отодвинуть дату/сумму нового долга credit.PaidForFine = 0; if (paymentLeft < credit.AmountToCountFineFromForFirstDelayedMonth) //хватило только на умиеньшение суммы с которой идет процент запервый месяц просрочки { credit.AmountToCountFineFromForFirstDelayedMonth -= paymentLeft; } else { paymentLeft -= credit.AmountToCountFineFromForFirstDelayedMonth; credit.CountFineFromThisDate = credit.CountFineFromThisDate.AddDays(30); while (paymentLeft >= credit.AmountOfPaymentPerMonth) { paymentLeft -= credit.AmountOfPaymentPerMonth; credit.CountFineFromThisDate = credit.CountFineFromThisDate.AddDays(30); } credit.AmountToCountFineFromForFirstDelayedMonth = credit.AmountOfPaymentPerMonth - paymentLeft; } credit.PaidForFine = this.CountUpFine(credit); } else { credit.IsRepaid = true; } } credit.AllreadyPaid += paymentAmount; _paymentBusinessComponent.Add( _operatorId, client.Requests.Where( x => x.Status == RequestStatus.CreditProvided && x.Credit.CreditId == Convert.ToInt32(cnct.ContractNO)) .FirstOrDefault() .Credit.CreditId, paymentAmount, DateTime.Now); _creditBusinessComponent.Update(credit); _creditBusinessComponent = _ninjectKernel.Get<ICreditBusinessComponent>(); // if not re-created will fail on 2nd update TabRepaymentClear(true); } } } }