Example #1
0
        /// <summary>
        /// Выполнение операции сохранения
        /// </summary>
        public void Run()
        {
            // заглушка
            IBankCredit credit = new Credits();

            switch (Client) // создание в зависимости от типа
            {
            case Clients c:
            {
                credit = ClientsFactory.GetCredit("кр", Sum, Loan, (Client as Clients).Id, VipBonus, Target);

                break;
            }

            case Firms c:
            {
                credit = ClientsFactory.GetCredit("л", Sum, Loan, (Client as Firms).Id, VipBonus, Target);
                break;
            }
            }
            Injection.Save(credit, new RepositoryReal(App.context)); // Выполнение логики для сохранения из объекта класса
            //Injection.Save(credit,App.context); // Выполнение логики для сохранения из объекта класса

            // выполнение логики путем зауска делегата

            creditHandler?.Invoke(credit);
        }
Example #2
0
        /// <summary>
        /// Добавление через entity
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnAddEntity_Click(object sender, RoutedEventArgs e)
        {
            //некоторые поля не должны быть пустыми
            if (string.IsNullOrEmpty(txtName.Text) || string.IsNullOrEmpty(txtDeposit.Text))
            {
                MessageBox.Show("Поля имя и депозит не должны быть пустыми");
                return;
            }

            // тип клиент или фирма
            if (Type)
            {
                int  tax = Convert.ToInt32(cbTaxes.SelectedItem.ToString().Split('%')[0]); // получить % по вкладу из строк в APP.ефчуыы
                bool vip;                                                                  // вип или нет
                int  depBonus = 0;                                                         // бонус зависит от вип
                if (chVip.IsChecked == true)
                {
                    vip      = true;
                    depBonus = Convert.ToInt32(txtBonus.Text);
                }
                else
                {
                    vip = false;
                }


                //var cl1 = new Clients()  // создаем экземпляр
                //{
                //    Name = txtName.Text,
                //    LastName = txtLastName.Text,
                //    Balance = Convert.ToInt32(txtDeposit.Text),
                //    Deposit = Convert.ToInt32(txtDeposit.Text),
                //    Tax = tax,
                //    Vip = vip,
                //    DepositBonus = depBonus,
                //    Comment = txtComment.Text
                //};

                var cl1 = ClientsFactory.GetClient("к", Convert.ToInt32(txtDeposit.Text), txtName.Text, txtLastName.Text, tax, vip, depBonus, txtComment.Text);
                try
                {
                    App.context.Clients.Add(cl1 as Clients);  // добавить в БД
                    App.context.SaveChanges();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("ошибка обращения к БД " + ex.Message);
                }
            }
            else
            {
                int tax = Convert.ToInt32(cbTaxes.SelectedItem.ToString().Split('%')[0]);        //    // получить % по вкладу из строк в APP.ефчуыы

                //var f1 = new Firms()  // экземпляр на основе введенных данных
                //{
                //    Name = txtName.Text,
                //    Balance = Convert.ToInt32(txtDeposit.Text),
                //    Deposit = Convert.ToInt32(txtDeposit.Text),
                //    Tax = tax,
                //    Adress = txtComment.Text
                //};

                var f1 = ClientsFactory.GetClient("ф", Convert.ToInt32(txtDeposit.Text), txtName.Text, "", tax, false, 0, txtComment.Text);
                try {
                    App.context.Firms.Add(f1 as Firms);  // добавить в БД
                    App.context.SaveChanges();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("ошибка обращения к БД " + ex.Message);
                }
            }

            MessageBox.Show("Добавлено");
            this.Close();
        }