/// <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); }
/// <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(); }