예제 #1
0
        /// <summary>
        /// Обработка нажатия кнопки Пополнить счёт
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void XBtnTopUpAnAccount_Click(object sender, RoutedEventArgs e)
        {
            decimal sum;

            try
            {
                sum = Convert.ToDecimal(Interaction.InputBox("Введите сумму к зачислению на счёт.", "Пополнение счёта."));
                (XListOrg.SelectedValue as Organization).logFile.Add
                    ($"{DateTime.Now.ToLongDateString()} {DateTime.Now.ToLongTimeString()} Депозит пополнен на {sum} руб.");

                //(XListOrg.SelectedValue as Organization) += sum; - вот так не работает?????
                //DataBase.Org[0] += sum; - вот так работает

                // Вот метод расширения
                (XListOrg.SelectedValue as Organization).DepositUp(sum);
                // Вместо строчки ниже
                //(XListOrg.SelectedValue as Organization).Depositing((XListOrg.SelectedValue as Organization).Deposit, sum);
                BankLog?.Invoke((XListOrg.SelectedValue as Organization), $"Депозит пополнен на {sum} руб.");
            }
            catch (Exception ex)
            {
                MessageBox.Show($"{ex.Message}\nЛибо вы вводите правильные данные, либо ищете другую работу! Ю Ноу?", "WTF", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            XListOrg.Items.Refresh();
            XTbDeposit.Text = (XListOrg.SelectedValue as Organization).Deposit.ToString("# ### ###");
        }
예제 #2
0
        /// <summary>
        /// Обработка нажатия кнопки Снять со счёта
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void XBtnPersonWithdraw_Click(object sender, RoutedEventArgs e)
        {
            decimal sum;

            try
            {
                sum = Convert.ToDecimal(Interaction.InputBox("Введите сумму к снятию со счёта.", "Снятие со счёта."));
                if (sum > (XListPerson.SelectedValue as NaturalPerson).Deposit)
                {
                    throw new MoreThanSummaOfDepozitException("Сумма к снятию не может быть больше суммы депозита!!!");
                }
                (XListPerson.SelectedValue as NaturalPerson).logFile.Add
                    ($"{DateTime.Now.ToLongDateString()} {DateTime.Now.ToLongTimeString()} С депозита снято {sum} руб.");
                (XListPerson.SelectedValue as NaturalPerson).Withdrawal((XListPerson.SelectedValue as NaturalPerson).Deposit, sum);
                BankLog?.Invoke((XListPerson.SelectedValue as NaturalPerson), $"С депозита снято {sum} руб.");
            }
            catch (MoreThanSummaOfDepozitException ex)
            {
                MessageBox.Show($"{ex.Message}\nЛибо вы вводите правильные данные, либо ищете другую работу! Ю Ноу?", "WTF", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            catch (Exception ex)
            {
                MessageBox.Show($"{ex.Message}\nЛибо вы вводите правильные данные, либо ищете другую работу! Ю Ноу?", "WTF", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            XListPerson.Items.Refresh();
            XTbPersonDeposit.Text = (XListPerson.SelectedValue as NaturalPerson).Deposit.ToString("# ### ###");
        }
예제 #3
0
 // Кнопка начисления процентов
 private void ButtonDemo_Click(object sender, RoutedEventArgs e)
 {
     if (XTbInfoForPercents.Text != null)
     {
         XTbInfoForPercents.Text = default;
     }
     MessageBox.Show("Реализация начисления процентов - учебно - тренировочный режим, не учитывающий возможные снятия, пополнения и переводы по счёту.", "Инфомэйшн", MessageBoxButton.OK, MessageBoxImage.Question);
     try
     {
         if (DataBase.Org.Count == 0 || DataBase.Person.Count == 0)
         {
             throw new Exception("База не сгенерирована или не загружена.");
         }
         for (int i = 0; i < 12; i++)
         {
             foreach (var organizationOne in DataBase.Org)
             {
                 organizationOne.PercentYear(organizationOne.InterestRate, organizationOne.Deposit, organizationOne.StartDepositForPercents, organizationOne.CapitalizationPercents);
                 organizationOne.logFile.Add($"Some time Ежемесячное начисление процента на депозит. {organizationOne.Deposit.ToString("# ### ### .##")}");
                 if (i == 11)
                 {
                     organizationOne.StartDepositForPercents = organizationOne.Deposit;
                 }
             }
             foreach (var personOne in DataBase.Person)
             {
                 personOne.PercentYear(personOne.InterestRate, personOne.Deposit, personOne.StartDepositForPercents, personOne.CapitalizationPercents);
                 personOne.logFile.Add($"Some time Ежемесячное начисление процента на депозит {personOne.Deposit.ToString("# ### ### .##")}");
                 if (i == 11)
                 {
                     personOne.StartDepositForPercents = personOne.Deposit;
                 }
             }
         }
         XTbInfoForPercents.Text = "Операция выполнена успешно.";
         BankLog?.Invoke(DataBase.Org[0], "Операция начисления процентов клиентам прошла успешно.");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "WTF", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
예제 #4
0
        /// <summary>
        /// Обработка нажатия кнопки Пополнить счёт
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void XBtnPersonTopUpAnAccount_Click(object sender, RoutedEventArgs e)
        {
            decimal sum;

            try
            {
                sum = Convert.ToDecimal(Interaction.InputBox("Введите сумму к зачислению на счёт.", "Пополнение счёта."));
                (XListPerson.SelectedValue as NaturalPerson).logFile.Add
                    ($"{DateTime.Now.ToLongDateString()} {DateTime.Now.ToLongTimeString()} Депозит пополнен на {sum} руб.");
                (XListPerson.SelectedValue as NaturalPerson).Depositing((XListPerson.SelectedValue as NaturalPerson).Deposit, sum);
                BankLog?.Invoke((XListPerson.SelectedValue as NaturalPerson), $"Депозит пополнен на {sum} руб.");
            }
            catch (Exception ex)
            {
                MessageBox.Show($"{ex.Message}\nЛибо вы вводите правильные данные, либо ищете другую работу! Ю Ноу?", "WTF", MessageBoxButton.OK, MessageBoxImage.Error);
            }

            XListPerson.Items.Refresh();
            XTbPersonDeposit.Text = (XListPerson.SelectedValue as NaturalPerson).Deposit.ToString("# ### ###");
        }
예제 #5
0
        // Нажатие кнопки Осуществить перевод
        private void XBtnTransfer_Click(object sender, RoutedEventArgs e)
        {
            decimal sumTransfer;

            try
            {
                // Ввод в текст бокс сумму перевода
                sumTransfer = Convert.ToDecimal(XTextBoxSumOfTransfer.Text);

                if (sumTransfer <= 0)
                {
                    XTextBoxSumOfTransfer.Text = default;
                    throw new SummaEqualsOrLessZeroException("Cумма к снятию не может быть равна или меньше 0.");
                }
                if (sumTransfer > (XComboStart.SelectedValue as Client).Deposit)
                {
                    XTextBoxSumOfTransfer.Text = default;
                    throw new MoreThanSummaOfDepozitException("Сумма к снятию не может быть больше суммы депозита!!!");
                }
                DataBase.Clients[0].Deposit = DataBase.Clients[0].Deposit - sumTransfer;
                DataBase.Clients[0].logFile.Add
                    ($"{DateTime.Now.ToLongDateString()} {DateTime.Now.ToLongTimeString()} С депозита осуществлён перевод на {sumTransfer} руб.");

                BankLog?.Invoke(DataBase.Clients[0], $"С депозита осуществлён перевод на {sumTransfer} руб.");


                DataBase.Clients[1].Deposit = DataBase.Clients[1].Deposit + sumTransfer;
                DataBase.Clients[1].logFile.Add
                    ($"{DateTime.Now.ToLongDateString()} {DateTime.Now.ToLongTimeString()} На депозит начислен перевод на {sumTransfer} руб.");

                BankLog?.Invoke(DataBase.Clients[1], $"На депозит начислен перевод на {sumTransfer} руб.");

                XTextBoxSumOfTransfer.Text = default;
                sumTransfer = 0;
                XListOrg.Items.Refresh();
                XListPerson.Items.Refresh();

                // Вывод в текст блок в карточке клиента сумму депозита после операции
                if ((XListOrg.SelectedValue) != null && XListOrg.SelectedValue as Organization == XComboStart.SelectedValue as Organization)
                {
                    XTbDeposit.Text = (XComboStart.SelectedValue as Organization).Deposit.ToString("# ### ###");
                }
                if ((XListOrg.SelectedValue) != null && XListOrg.SelectedValue as Organization == XComboEnd.SelectedValue as Organization)
                {
                    XTbDeposit.Text = (XComboEnd.SelectedValue as Organization).Deposit.ToString("# ### ###");
                }
                if ((XListPerson.SelectedValue) != null && XListPerson.SelectedValue as NaturalPerson == XComboStart.SelectedValue as NaturalPerson)
                {
                    XTbPersonDeposit.Text = (XComboStart.SelectedValue as NaturalPerson).Deposit.ToString("# ### ###");
                }
                if ((XListPerson.SelectedValue) != null && XListPerson.SelectedValue as NaturalPerson == XComboEnd.SelectedValue as NaturalPerson)
                {
                    XTbPersonDeposit.Text = (XComboEnd.SelectedValue as NaturalPerson).Deposit.ToString("# ### ###");
                }

                XTextResultTrunsfer.Text = "Перевод осуществлён успешно.";
            }
            catch (SummaEqualsOrLessZeroException ex)
            {
                MessageBox.Show($"{ex.Message}\nЛибо вы вводите правильные данные, либо ищете другую работу! Ю Ноу?", "WTF", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            catch (MoreThanSummaOfDepozitException ex)
            {
                MessageBox.Show($"{ex.Message}\nЛибо вы вводите правильные данные, либо ищете другую работу! Ю Ноу?", "WTF", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            catch (Exception ex)
            {
                XTextBoxSumOfTransfer.Text = default;
                MessageBox.Show($"{ex.Message}\nЛибо вы вводите правильные данные, либо ищете другую работу! Ю Ноу?", "WTF", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }