private Product selectedProduct = null; //выбранный продукт #endregion Fields #region Constructors //КОНСТРУКТОРЫ КЛАССА //+-------------------------------------------------------------------+ /// <summary> /// Конструктор формы с параметрами /// </summary> /// <param name="categories">объект класса "товарные категории"</param> /// <param name="assortment">объект класса "ассортимент товаров"</param> public FormCreateAndEdit(Category categories, Assortment assortment) { this.InitializeComponent(); this.categories = categories; this.assortment = assortment; this.ComboBoxCategoryInitialization(); }
//создание товаров static Assortment SetAssortmentTestData(Category categories) { Assortment assortment = new Assortment(categories); // Категория №1: Экран Product screen1 = new Product("Экраны", "Очень хороший", "Супер характеристики","Экран Самсунг", 150); Product screen2 = new Product("Экраны", "нормальный", "неплохие характеристики", "Экран Филипс", 50); Product screen3 = new Product("Экраны", "плохой", "плохие характеристики", "Экран Хуавэй", 10); // Категория №2: Мышки Product mouse1 = new Product("Мышки", "Очень хорошая", "Супер характеристики", "Мышка Logitech", 150); Product mouse2 = new Product("Мышки", "нормальная", "неплохие характеристики", "Мышка Apple", 50); Product mouse3 = new Product("Мышки", "плохая", "плохие характеристики", "Мышка Corsair", 10); //добавление товаров в ассортмент магазина assortment.AddProduct(screen1); assortment.AddProduct(screen2); assortment.AddProduct(screen3); assortment.AddProduct(mouse1); assortment.AddProduct(mouse2); assortment.AddProduct(mouse3); return assortment; }
/// <summary> /// Конструктор с параметрами /// </summary> /// <param name="categories">информация о существующих товарных /// категориях, представленная объектом класса Category</param> /// <param name="assortment">Информация об ассортименте товаров, /// представленная объектом класса Аssortment</param> public FormOrder(Category categories = null, Assortment assortment = null) : this() { this.categories = categories; this.assortment = assortment; this.ComboBoxProductsInitialization(); }
//создание тестовых названий категорий товаров static Category SetCategoryTestData() { Category categories = new Category(); categories.Add("Экраны"); categories.Add("Мышки"); categories.Add("Принтеры"); return categories; }
/// <summary> /// Конструктор формы с параметрами /// </summary> /// <param name="categories">объект класса "товарные категории"</param> /// <param name="assortment">объект класса "ассортимент товаров"</param> /// <param name="product">продукт, информацию о котором необходимо /// откорректировать</param> public FormCreateAndEdit(Category categories, Assortment assortment, Product product) : this(categories, assortment) { this.selectedProduct = product; this.SetComboBoxCategoryStartIteam(); this.TextBoxNameInitialization(); this.TextBoxCharacteristicsInitialization(); this.TextBoxDescriptionInitialization(); this.TextBoxPriceInitialization(); }
/// <summary> /// Обработка нажатия кнопки "Создать". Добавляет информацию о /// новом товаре в ассортимент товаров. /// </summary> private void ButtonCreate(Object sender, EventArgs e) { this.formCreateAndEdit = new FormCreateAndEdit(this.categories, this.assortment); this.formCreateAndEdit.Owner = this; this.formCreateAndEdit.StartPosition = FormStartPosition.CenterParent; this.formCreateAndEdit.ShowDialog(this); if (this.formCreateAndEdit.DialogResult == DialogResult.OK) { this.selectedProduct = this.formCreateAndEdit.SelectedProduct; this.assortment = this.formCreateAndEdit.Assortment; this.categories = this.formCreateAndEdit.Categoties; this.comboBoxProducts.Items.Clear(); this.ComboBoxProductsInitialization(); this.comboBoxProducts.SelectedItem = this.selectedProduct.Name; this.textBoxPrice.Text = this.selectedProduct.Price.ToString(); } if (this.formCreateAndEdit != null) { this.formCreateAndEdit.Close(); this.formCreateAndEdit.Dispose(); this.formCreateAndEdit = null; } }
/// <summary> /// Обработка нажатия кнопки "Редактировать". Создает окно /// предоставляющее возможность редактировать информацию о выбранном /// товаре. /// </summary> private void ButtonEditClick(Object sender, EventArgs e) { if(this.selectedProduct == null ) { MessageBox.Show( text: "Операция редактирования " + "не может быть выполнена. Не выбрано имя товара, " + "информацию о котором необходимо отредактировать. " + "Выберите имя товара и повторите попытку.", caption: "Уведомление", buttons: MessageBoxButtons.OK, icon: MessageBoxIcon.Exclamation); } else { this.FormCreateAndEditInitialization(); if (this.formCreateAndEdit.DialogResult == DialogResult.OK) { this.selectedProduct = this.formCreateAndEdit.SelectedProduct; this.assortment = this.formCreateAndEdit.Assortment; this.categories = this.formCreateAndEdit.Categoties; this.comboBoxProducts.Items.Clear(); this.ComboBoxProductsInitialization(); this.comboBoxProducts.SelectedItem = this.selectedProduct.Name; this.textBoxPrice.Text = this.selectedProduct.Price.ToString(); this.textBoxTotalPrice.Text = "0.00"; totalOrderPrice = 0.00; this.listBoxOrderInfo.Items.Clear(); } if (this.formCreateAndEdit != null) { this.formCreateAndEdit.Close(); this.formCreateAndEdit.Dispose(); this.formCreateAndEdit = null; } } }