Exemple #1
0
        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;
        }
Exemple #2
0
        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 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;
        }
Exemple #4
0
        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();
        }
Exemple #6
0
        public ClientCreditHistoryWindow(ICreditBusinessComponent creditBusinessComponent, IKernel ninjectKernel, int clientId)
        {
            this._creditBusinessComponent = creditBusinessComponent;
            this._ninjectKernel           = ninjectKernel;
            this.clientId = clientId;

            InitializeComponent();

            this.RefreshPage();
        }
Exemple #7
0
        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);
                    }
                }
            }
        }