From a044cb76807317c61634dbb5f28c0c40fe8c5149 Mon Sep 17 00:00:00 2001 From: danila Date: Wed, 4 Dec 2024 01:06:36 +0400 Subject: [PATCH] ///// --- ShoeStore/ShoeStore/Entities/Store.cs | 8 +- ShoeStore/ShoeStore/FormStorage.Designer.cs | 15 +- ShoeStore/ShoeStore/FormStorage.cs | 74 +++++++- ShoeStore/ShoeStore/FormStorage.resx | 4 +- .../ShoeStore/Forms/FormFactory.Designer.cs | 80 ++++---- ShoeStore/ShoeStore/Forms/FormFactory.cs | 71 ++++++- ShoeStore/ShoeStore/Forms/FormFactory.resx | 4 +- .../ShoeStore/Forms/FormFactorys.Designer.cs | 124 +++++++++++++ ShoeStore/ShoeStore/Forms/FormFactorys.cs | 117 ++++++++++++ ShoeStore/ShoeStore/Forms/FormFactorys.resx | 120 ++++++++++++ .../ShoeStore/Forms/FormShoes.Designer.cs | 144 +++++++++++++++ ShoeStore/ShoeStore/Forms/FormShoes.cs | 118 ++++++++++++ ShoeStore/ShoeStore/Forms/FormShoes.resx | 120 ++++++++++++ .../Forms/FormShoesReplenishment.Designer.cs | 152 +++++++++++++++ .../ShoeStore/Forms/FormShoesReplenishment.cs | 84 +++++++++ .../Forms/FormShoesReplenishment.resx | 123 +++++++++++++ .../Forms/FormShoesReplenishments.Designer.cs | 115 ++++++++++++ .../Forms/FormShoesReplenishments.cs | 100 ++++++++++ .../Forms/FormShoesReplenishments.resx | 120 ++++++++++++ .../ShoeStore/Forms/FormShoesSale.Designer.cs | 173 ++++++++++++++++++ ShoeStore/ShoeStore/Forms/FormShoesSale.cs | 68 +++++++ ShoeStore/ShoeStore/Forms/FormShoesSale.resx | 120 ++++++++++++ .../Forms/FormShoesSales.Designer.cs | 98 ++++++++++ ShoeStore/ShoeStore/Forms/FormShoesSales.cs | 63 +++++++ ShoeStore/ShoeStore/Forms/FormShoesSales.resx | 120 ++++++++++++ .../ShoeStore/Forms/FormShoess.Designer.cs | 129 +++++++++++++ ShoeStore/ShoeStore/Forms/FormShoess.cs | 127 +++++++++++++ ShoeStore/ShoeStore/Forms/FormShoess.resx | 120 ++++++++++++ .../ShoeStore/Forms/FormStore.Designer.cs | 42 +++-- ShoeStore/ShoeStore/Forms/FormStore.cs | 2 + ShoeStore/ShoeStore/Forms/FormStore.resx | 4 +- .../ShoeStore/Forms/FormStores.Designer.cs | 68 +++---- ShoeStore/ShoeStore/Forms/FormStores.cs | 6 + ShoeStore/ShoeStore/Forms/FormStores.resx | 4 +- .../Implementations/FactoryRepository.cs | 2 +- 35 files changed, 2725 insertions(+), 114 deletions(-) create mode 100644 ShoeStore/ShoeStore/Forms/FormFactorys.Designer.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormFactorys.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormFactorys.resx create mode 100644 ShoeStore/ShoeStore/Forms/FormShoes.Designer.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoes.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoes.resx create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesReplenishment.Designer.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesReplenishment.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesReplenishment.resx create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesReplenishments.Designer.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesReplenishments.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesReplenishments.resx create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesSale.Designer.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesSale.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesSale.resx create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesSales.Designer.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesSales.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoesSales.resx create mode 100644 ShoeStore/ShoeStore/Forms/FormShoess.Designer.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoess.cs create mode 100644 ShoeStore/ShoeStore/Forms/FormShoess.resx diff --git a/ShoeStore/ShoeStore/Entities/Store.cs b/ShoeStore/ShoeStore/Entities/Store.cs index 829191b..b3ec043 100644 --- a/ShoeStore/ShoeStore/Entities/Store.cs +++ b/ShoeStore/ShoeStore/Entities/Store.cs @@ -13,14 +13,14 @@ public class Store public string StoreName { get; private set; } = string.Empty; public int Employees { get; private set; } public double Visitors { get; private set; } - public static Store CreateEntity(int id, string StoreType, string - StoreName, int employees, double visitors) + public static Store CreateEntity(int id, string storeType, string + storeName, int employees, double visitors) { return new Store { Id = id, - StoreType = StoreType ?? string.Empty, - StoreName = StoreName ?? string.Empty, + StoreType = storeType ?? string.Empty, + StoreName = storeName ?? string.Empty, Employees = employees, Visitors = visitors }; diff --git a/ShoeStore/ShoeStore/FormStorage.Designer.cs b/ShoeStore/ShoeStore/FormStorage.Designer.cs index df3790d..142f6c7 100644 --- a/ShoeStore/ShoeStore/FormStorage.Designer.cs +++ b/ShoeStore/ShoeStore/FormStorage.Designer.cs @@ -59,20 +59,23 @@ // фабрикиToolStripMenuItem // фабрикиToolStripMenuItem.Name = "фабрикиToolStripMenuItem"; - фабрикиToolStripMenuItem.Size = new Size(130, 22); + фабрикиToolStripMenuItem.Size = new Size(180, 22); фабрикиToolStripMenuItem.Text = "Фабрики"; + фабрикиToolStripMenuItem.Click += фабрикиToolStripMenuItem_Click; // // магазиныToolStripMenuItem // магазиныToolStripMenuItem.Name = "магазиныToolStripMenuItem"; - магазиныToolStripMenuItem.Size = new Size(130, 22); + магазиныToolStripMenuItem.Size = new Size(180, 22); магазиныToolStripMenuItem.Text = "Магазины"; + магазиныToolStripMenuItem.Click += магазиныToolStripMenuItem_Click; // // обувьToolStripMenuItem // обувьToolStripMenuItem.Name = "обувьToolStripMenuItem"; - обувьToolStripMenuItem.Size = new Size(130, 22); + обувьToolStripMenuItem.Size = new Size(180, 22); обувьToolStripMenuItem.Text = "Обувь"; + обувьToolStripMenuItem.Click += обувьToolStripMenuItem_Click; // // операцииToolStripMenuItem // @@ -84,14 +87,16 @@ // продажаОбувиToolStripMenuItem // продажаОбувиToolStripMenuItem.Name = "продажаОбувиToolStripMenuItem"; - продажаОбувиToolStripMenuItem.Size = new Size(160, 22); + продажаОбувиToolStripMenuItem.Size = new Size(180, 22); продажаОбувиToolStripMenuItem.Text = "Продажа обуви"; + продажаОбувиToolStripMenuItem.Click += продажаОбувиToolStripMenuItem_Click; // // закупкаОбувиToolStripMenuItem // закупкаОбувиToolStripMenuItem.Name = "закупкаОбувиToolStripMenuItem"; - закупкаОбувиToolStripMenuItem.Size = new Size(160, 22); + закупкаОбувиToolStripMenuItem.Size = new Size(180, 22); закупкаОбувиToolStripMenuItem.Text = "Закупка обуви"; + закупкаОбувиToolStripMenuItem.Click += закупкаОбувиToolStripMenuItem_Click; // // отчетыToolStripMenuItem // diff --git a/ShoeStore/ShoeStore/FormStorage.cs b/ShoeStore/ShoeStore/FormStorage.cs index a177f76..e5dcf4a 100644 --- a/ShoeStore/ShoeStore/FormStorage.cs +++ b/ShoeStore/ShoeStore/FormStorage.cs @@ -1,10 +1,82 @@ +using ShoeStore.Forms; +using Unity; + namespace ShoeStore { public partial class FormStorage : Form { - public FormStorage() + private readonly IUnityContainer _container; public FormStorage(IUnityContainer container) { InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + } + + private void ToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ToolStripMenuItem_Click(object sender, EventArgs e) + { + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } } } } diff --git a/ShoeStore/ShoeStore/FormStorage.resx b/ShoeStore/ShoeStore/FormStorage.resx index a0623c8..b48baf1 100644 --- a/ShoeStore/ShoeStore/FormStorage.resx +++ b/ShoeStore/ShoeStore/FormStorage.resx @@ -1,7 +1,7 @@  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoes.Designer.cs b/ShoeStore/ShoeStore/Forms/FormShoes.Designer.cs new file mode 100644 index 0000000..f5880a0 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoes.Designer.cs @@ -0,0 +1,144 @@ +namespace ShoeStore.Forms +{ + partial class FormShoes + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + checkedListBoxShoesType = new CheckedListBox(); + textBoxName = new TextBox(); + textBoxDescription = new TextBox(); + ButtonSave = new Button(); + ButtonCancel = new Button(); + label1 = new Label(); + label2 = new Label(); + label3 = new Label(); + SuspendLayout(); + // + // checkedListBoxShoesType + // + checkedListBoxShoesType.FormattingEnabled = true; + checkedListBoxShoesType.Location = new Point(84, 21); + checkedListBoxShoesType.Name = "checkedListBoxShoesType"; + checkedListBoxShoesType.Size = new Size(198, 94); + checkedListBoxShoesType.TabIndex = 0; + // + // textBoxName + // + textBoxName.Location = new Point(84, 136); + textBoxName.Multiline = true; + textBoxName.Name = "textBoxName"; + textBoxName.Size = new Size(198, 18); + textBoxName.TabIndex = 1; + // + // textBoxDescription + // + textBoxDescription.Location = new Point(84, 179); + textBoxDescription.Multiline = true; + textBoxDescription.Name = "textBoxDescription"; + textBoxDescription.Size = new Size(198, 82); + textBoxDescription.TabIndex = 2; + // + // ButtonSave + // + ButtonSave.Location = new Point(84, 289); + ButtonSave.Name = "ButtonSave"; + ButtonSave.Size = new Size(81, 23); + ButtonSave.TabIndex = 3; + ButtonSave.Text = "Сохранить"; + ButtonSave.UseVisualStyleBackColor = true; + ButtonSave.Click += ButtonSave_Click; + // + // ButtonCancel + // + ButtonCancel.Location = new Point(203, 289); + ButtonCancel.Name = "ButtonCancel"; + ButtonCancel.Size = new Size(79, 23); + ButtonCancel.TabIndex = 4; + ButtonCancel.Text = "Отмена"; + ButtonCancel.UseVisualStyleBackColor = true; + ButtonCancel.Click += ButtonCancel_Click; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(12, 21); + label1.Name = "label1"; + label1.Size = new Size(66, 15); + label1.TabIndex = 5; + label1.Text = "Тип обуви:"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(12, 139); + label2.Name = "label2"; + label2.Size = new Size(62, 15); + label2.TabIndex = 6; + label2.Text = "Название:"; + // + // label3 + // + label3.AutoSize = true; + label3.Location = new Point(12, 182); + label3.Name = "label3"; + label3.Size = new Size(65, 15); + label3.TabIndex = 7; + label3.Text = "Описание:"; + label3.Click += label3_Click; + // + // FormShoes + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(321, 344); + Controls.Add(label3); + Controls.Add(label2); + Controls.Add(label1); + Controls.Add(ButtonCancel); + Controls.Add(ButtonSave); + Controls.Add(textBoxDescription); + Controls.Add(textBoxName); + Controls.Add(checkedListBoxShoesType); + Name = "FormShoes"; + Text = "FormShoes"; + Load += FormShoes_Load; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private CheckedListBox checkedListBoxShoesType; + private TextBox textBoxName; + private TextBox textBoxDescription; + private Button ButtonSave; + private Button ButtonCancel; + private Label label1; + private Label label2; + private Label label3; + } +} \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoes.cs b/ShoeStore/ShoeStore/Forms/FormShoes.cs new file mode 100644 index 0000000..347700f --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoes.cs @@ -0,0 +1,118 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Microsoft.VisualBasic.FileIO; +using ShoeStore.Entities; +using ShoeStore.Entities.Enums; +using ShoeStore.Repositories; + +namespace ShoeStore.Forms +{ + public partial class FormShoes : Form + { + private readonly IShoesRepository _shoesRepository; + private int? _shoesId; + public int Id + { + set + { + try + { + var shoes = _shoesRepository.ReadShoesById(value); + if (shoes == null) + { + throw new + InvalidDataException(nameof(shoes)); + } + foreach (ShoesType elem in + Enum.GetValues(typeof(ShoesType))) + { + if ((elem & shoes.ShoesType) != 0) + { + checkedListBoxShoesType.SetItemChecked(checkedListBoxShoesType.Items.IndexOf( + elem), true); + } + } + textBoxName.Text = shoes.Name; + textBoxDescription.Text = shoes.Description; + _shoesId = value; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + } + public FormShoes(IShoesRepository shoesRepository) + { + InitializeComponent(); + _shoesRepository = shoesRepository ?? + throw new ArgumentNullException(nameof(shoesRepository)); + foreach (var elem in Enum.GetValues(typeof(ShoesType))) + { + checkedListBoxShoesType.Items.Add(elem); + } + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrWhiteSpace(textBoxName.Text) || + string.IsNullOrWhiteSpace(textBoxDescription.Text) || + checkedListBoxShoesType.CheckedItems.Count == 0) + { + throw new Exception("Имеются незаполненные поля"); + } + if (_shoesId.HasValue) + { + _shoesRepository.UpdateShoes(CreateShoes(_shoesId.Value)); + } + else + { + _shoesRepository.CreateShoes(CreateShoes(0)); + } + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => + Close(); + private Shoes CreateShoes(int id) + { + ShoesType shoesType = ShoesType.None; + foreach (var elem in checkedListBoxShoesType.CheckedItems) + { + shoesType |= (ShoesType)elem; + } + return Shoes.CreateEntity(id, shoesType, textBoxName.Text, + textBoxDescription.Text); + } + + + private void FormShoes_Load(object sender, EventArgs e) + { + + } + + private void label3_Click(object sender, EventArgs e) + { + + } + + private void ButtonCancel_Click_1(object sender, EventArgs e) + { + + } + } +} diff --git a/ShoeStore/ShoeStore/Forms/FormShoes.resx b/ShoeStore/ShoeStore/Forms/FormShoes.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoes.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoesReplenishment.Designer.cs b/ShoeStore/ShoeStore/Forms/FormShoesReplenishment.Designer.cs new file mode 100644 index 0000000..68360d2 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesReplenishment.Designer.cs @@ -0,0 +1,152 @@ +namespace ShoeStore.Forms +{ + partial class FormShoesReplenishment + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + label2 = new Label(); + comboBoxFactory = new ComboBox(); + groupBox1 = new GroupBox(); + dataGridViewShoess = new DataGridView(); + ColumnShoes = new DataGridViewComboBoxColumn(); + Column2 = new DataGridViewTextBoxColumn(); + ButtonSave = new Button(); + ButtonCancel = new Button(); + groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridViewShoess).BeginInit(); + SuspendLayout(); + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(15, 30); + label2.Name = "label2"; + label2.Size = new Size(58, 15); + label2.TabIndex = 6; + label2.Text = "Фабрика:"; + // + // comboBoxFactory + // + comboBoxFactory.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxFactory.FormattingEnabled = true; + comboBoxFactory.Location = new Point(79, 27); + comboBoxFactory.Name = "comboBoxFactory"; + comboBoxFactory.Size = new Size(263, 23); + comboBoxFactory.TabIndex = 5; + // + // groupBox1 + // + groupBox1.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + groupBox1.Controls.Add(dataGridViewShoess); + groupBox1.Location = new Point(12, 86); + groupBox1.Name = "groupBox1"; + groupBox1.Size = new Size(329, 280); + groupBox1.TabIndex = 7; + groupBox1.TabStop = false; + groupBox1.Text = "groupBox1"; + // + // dataGridViewShoess + // + dataGridViewShoess.AllowUserToResizeColumns = false; + dataGridViewShoess.AllowUserToResizeRows = false; + dataGridViewShoess.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewShoess.Columns.AddRange(new DataGridViewColumn[] { ColumnShoes, Column2 }); + dataGridViewShoess.Dock = DockStyle.Fill; + dataGridViewShoess.Location = new Point(3, 19); + dataGridViewShoess.MultiSelect = false; + dataGridViewShoess.Name = "dataGridViewShoess"; + dataGridViewShoess.RowHeadersVisible = false; + dataGridViewShoess.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridViewShoess.Size = new Size(323, 258); + dataGridViewShoess.TabIndex = 8; + dataGridViewShoess.CellContentClick += dataGridViewShoess_CellContentClick; + // + // ColumnShoes + // + ColumnShoes.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; + ColumnShoes.HeaderText = "Обувь"; + ColumnShoes.Name = "ColumnShoes"; + // + // Column2 + // + Column2.HeaderText = "Количество"; + Column2.Name = "Column2"; + Column2.Width = 114; + // + // ButtonSave + // + ButtonSave.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + ButtonSave.Location = new Point(35, 398); + ButtonSave.Name = "ButtonSave"; + ButtonSave.Size = new Size(97, 36); + ButtonSave.TabIndex = 8; + ButtonSave.Text = "Сохранить"; + ButtonSave.UseVisualStyleBackColor = true; + ButtonSave.Click += ButtonSave_Click; + // + // ButtonCancel + // + ButtonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + ButtonCancel.Location = new Point(216, 398); + ButtonCancel.Name = "ButtonCancel"; + ButtonCancel.Size = new Size(97, 36); + ButtonCancel.TabIndex = 9; + ButtonCancel.Text = "Отмена"; + ButtonCancel.UseVisualStyleBackColor = true; + ButtonCancel.Click += ButtonCancel_Click; + // + // FormShoesReplenishment + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(353, 465); + Controls.Add(ButtonCancel); + Controls.Add(ButtonSave); + Controls.Add(groupBox1); + Controls.Add(label2); + Controls.Add(comboBoxFactory); + Name = "FormShoesReplenishment"; + Text = "FormShoesReplenishment"; + Load += FormShoesReplenishment_Load; + groupBox1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridViewShoess).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label label2; + private ComboBox comboBoxFactory; + private GroupBox groupBox1; + private DataGridView dataGridViewShoess; + private Button ButtonSave; + private Button ButtonCancel; + private DataGridViewComboBoxColumn ColumnShoes; + private DataGridViewTextBoxColumn Column2; + } +} \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoesReplenishment.cs b/ShoeStore/ShoeStore/Forms/FormShoesReplenishment.cs new file mode 100644 index 0000000..c96d521 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesReplenishment.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using ShoeStore.Entities; +using ShoeStore.Repositories; + +namespace ShoeStore.Forms +{ + public partial class FormShoesReplenishment : Form + { + private readonly IShoesReplenishmentRepository _shoesReplenishmentRepository; + public FormShoesReplenishment(IShoesReplenishmentRepository shoesReplenishmentRepository, + IFactoryRepository factoryRepository, + IShoesRepository shoesRepository) + { + InitializeComponent(); + _shoesReplenishmentRepository = shoesReplenishmentRepository ?? + throw new + ArgumentNullException(nameof(shoesReplenishmentRepository)); + comboBoxFactory.DataSource = + factoryRepository.ReadFactorys(); + comboBoxFactory.DisplayMember = "FirstName"; + comboBoxFactory.ValueMember = "Id"; + ColumnShoes.DataSource = shoesRepository.ReadShoess(); + ColumnShoes.DisplayMember = "Name"; + ColumnShoes.ValueMember = "Id"; + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (dataGridViewShoess.RowCount < 1 || comboBoxFactory.SelectedIndex < 0) + { + throw new Exception("Имеются незаполненные поля"); + } + _shoesReplenishmentRepository.CreateShoesReplenishment(ShoesReplenishment.CreateOpeartion(0, + (int)comboBoxFactory.SelectedValue!, + CreateListShoesShoesReplenishmentsFromDataGrid())); + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => + Close(); + private List + CreateListShoesShoesReplenishmentsFromDataGrid() + { + var list = new List(); + foreach (DataGridViewRow row in dataGridViewShoess.Rows) + { + if (row.Cells["ColumnShoes"].Value == null || + row.Cells["ColumnCount"].Value == null) + { + continue; + } + list.Add(ShoesShoesReplenishment.CreateElement(0, + Convert.ToInt32(row.Cells["ColumnShoes"].Value), + Convert.ToInt32(row.Cells["ColumnCount"].Value))); + } + return list; + + } + private void dataGridViewShoess_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + + } + private void FormShoesReplenishment_Load(object sender, EventArgs e) + { + + } + + + } +} diff --git a/ShoeStore/ShoeStore/Forms/FormShoesReplenishment.resx b/ShoeStore/ShoeStore/Forms/FormShoesReplenishment.resx new file mode 100644 index 0000000..dcdbaf8 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesReplenishment.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoesReplenishments.Designer.cs b/ShoeStore/ShoeStore/Forms/FormShoesReplenishments.Designer.cs new file mode 100644 index 0000000..dee96c2 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesReplenishments.Designer.cs @@ -0,0 +1,115 @@ + +namespace ShoeStore.Forms +{ + partial class FormShoesReplenishments + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel1 = new Panel(); + ButtonDel = new Button(); + ButtonAdd = new Button(); + dataGridViewData = new DataGridView(); + panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + SuspendLayout(); + // + // panel1 + // + panel1.Controls.Add(ButtonDel); + panel1.Controls.Add(ButtonAdd); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(970, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(122, 450); + panel1.TabIndex = 0; + // + // ButtonDel + // + ButtonDel.BackgroundImage = Properties.Resources.Gradelink_cross_1; + ButtonDel.BackgroundImageLayout = ImageLayout.Stretch; + ButtonDel.Location = new Point(16, 193); + ButtonDel.Name = "ButtonDel"; + ButtonDel.Size = new Size(85, 78); + ButtonDel.TabIndex = 2; + ButtonDel.UseVisualStyleBackColor = true; + ButtonDel.Click += ButtonDel_Click; + // + // ButtonAdd + // + ButtonAdd.BackgroundImage = Properties.Resources.Ambox_plus_svg; + ButtonAdd.BackgroundImageLayout = ImageLayout.Stretch; + ButtonAdd.Location = new Point(16, 27); + ButtonAdd.Name = "ButtonAdd"; + ButtonAdd.Size = new Size(85, 77); + ButtonAdd.TabIndex = 0; + ButtonAdd.UseVisualStyleBackColor = true; + ButtonAdd.Click += ButtonAdd_Click; + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridViewData.Size = new Size(970, 450); + dataGridViewData.TabIndex = 1; + dataGridViewData.CellContentClick += dataGridViewData_CellContentClick; + // + // FormShoesReplenishments + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(1092, 450); + Controls.Add(dataGridViewData); + Controls.Add(panel1); + Name = "FormShoesReplenishments"; + StartPosition = FormStartPosition.CenterParent; + Text = "Магазины"; + Load += FormShoesReplenishments_Load; + panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + ResumeLayout(false); + } + + + + #endregion + + private Panel panel1; + private Button ButtonDel; + private Button ButtonAdd; + private DataGridView dataGridViewData; + } +} \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoesReplenishments.cs b/ShoeStore/ShoeStore/Forms/FormShoesReplenishments.cs new file mode 100644 index 0000000..29eaac0 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesReplenishments.cs @@ -0,0 +1,100 @@ +using ShoeStore.Repositories; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Unity; + +namespace ShoeStore.Forms +{ + public partial class FormShoesReplenishments : Form + { + private readonly IUnityContainer _container; + private readonly IShoesReplenishmentRepository + _shoesReplenishmentRepository; + public FormShoesReplenishments(IUnityContainer container, + IShoesReplenishmentRepository shoesReplenishmentRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _shoesReplenishmentRepository = shoesReplenishmentRepository ?? + throw new + ArgumentNullException(nameof(shoesReplenishmentRepository)); + } + private void FormShoesReplenishments_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonDel_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", + MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _shoesReplenishmentRepository.DeleteShoesReplenishment(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при удалении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = + _shoesReplenishmentRepository.ReadShoesReplenishment(); + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridViewData.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = + Convert.ToInt32(dataGridViewData.SelectedRows[0].Cells["Id"].Value); + return true; + } + private void dataGridViewData_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + throw new NotImplementedException(); + } + + + } + +} diff --git a/ShoeStore/ShoeStore/Forms/FormShoesReplenishments.resx b/ShoeStore/ShoeStore/Forms/FormShoesReplenishments.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesReplenishments.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoesSale.Designer.cs b/ShoeStore/ShoeStore/Forms/FormShoesSale.Designer.cs new file mode 100644 index 0000000..5e3d285 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesSale.Designer.cs @@ -0,0 +1,173 @@ +namespace ShoeStore.Forms +{ + partial class FormShoesSale + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + comboBoxFactory = new ComboBox(); + comboBoxShoes = new ComboBox(); + comboBoxStore = new ComboBox(); + label1 = new Label(); + label2 = new Label(); + label3 = new Label(); + label4 = new Label(); + ButtonSave = new Button(); + ButtonCancel = new Button(); + numericUpDownSpecificity = new NumericUpDown(); + ((System.ComponentModel.ISupportInitialize)numericUpDownSpecificity).BeginInit(); + SuspendLayout(); + // + // comboBoxFactory + // + comboBoxFactory.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxFactory.FormattingEnabled = true; + comboBoxFactory.Location = new Point(114, 36); + comboBoxFactory.Name = "comboBoxFactory"; + comboBoxFactory.Size = new Size(211, 23); + comboBoxFactory.TabIndex = 0; + // + // comboBoxShoes + // + comboBoxShoes.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxShoes.FormattingEnabled = true; + comboBoxShoes.Location = new Point(114, 86); + comboBoxShoes.Name = "comboBoxShoes"; + comboBoxShoes.Size = new Size(211, 23); + comboBoxShoes.TabIndex = 1; + // + // comboBoxStore + // + comboBoxStore.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxStore.FormattingEnabled = true; + comboBoxStore.Location = new Point(114, 134); + comboBoxStore.Name = "comboBoxStore"; + comboBoxStore.Size = new Size(211, 23); + comboBoxStore.TabIndex = 2; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(33, 39); + label1.Name = "label1"; + label1.Size = new Size(44, 15); + label1.TabIndex = 3; + label1.Text = "Обувь:"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(33, 89); + label2.Name = "label2"; + label2.Size = new Size(58, 15); + label2.TabIndex = 4; + label2.Text = "Фабрика:"; + // + // label3 + // + label3.AutoSize = true; + label3.Location = new Point(33, 137); + label3.Name = "label3"; + label3.Size = new Size(57, 15); + label3.TabIndex = 5; + label3.Text = "Магазин:"; + // + // label4 + // + label4.AutoSize = true; + label4.Location = new Point(33, 181); + label4.Name = "label4"; + label4.Size = new Size(75, 15); + label4.TabIndex = 6; + label4.Text = "Количество:"; + // + // ButtonSave + // + ButtonSave.Location = new Point(64, 233); + ButtonSave.Name = "ButtonSave"; + ButtonSave.Size = new Size(75, 23); + ButtonSave.TabIndex = 7; + ButtonSave.Text = "Сохранить"; + ButtonSave.UseVisualStyleBackColor = true; + ButtonSave.Click += ButtonSave_Click; + // + // ButtonCancel + // + ButtonCancel.Location = new Point(219, 233); + ButtonCancel.Name = "ButtonCancel"; + ButtonCancel.Size = new Size(75, 23); + ButtonCancel.TabIndex = 8; + ButtonCancel.Text = "Отмена"; + ButtonCancel.UseVisualStyleBackColor = true; + ButtonCancel.Click += ButtonCancel_Click; + // + // numericUpDownSpecificity + // + numericUpDownSpecificity.Location = new Point(114, 179); + numericUpDownSpecificity.Maximum = new decimal(new int[] { 20, 0, 0, 0 }); + numericUpDownSpecificity.Minimum = new decimal(new int[] { 1, 0, 0, 0 }); + numericUpDownSpecificity.Name = "numericUpDownSpecificity"; + numericUpDownSpecificity.Size = new Size(104, 23); + numericUpDownSpecificity.TabIndex = 9; + numericUpDownSpecificity.Value = new decimal(new int[] { 1, 0, 0, 0 }); + // + // FormShoesSale + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(349, 293); + Controls.Add(numericUpDownSpecificity); + Controls.Add(ButtonCancel); + Controls.Add(ButtonSave); + Controls.Add(label4); + Controls.Add(label3); + Controls.Add(label2); + Controls.Add(label1); + Controls.Add(comboBoxStore); + Controls.Add(comboBoxShoes); + Controls.Add(comboBoxFactory); + Name = "FormShoesSale"; + Text = "FormShoesSale"; + Load += FormShoesSale_Load; + ((System.ComponentModel.ISupportInitialize)numericUpDownSpecificity).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private ComboBox comboBoxFactory; + private ComboBox comboBoxShoes; + private ComboBox comboBoxStore; + private Label label1; + private Label label2; + private Label label3; + private Label label4; + private Button ButtonSave; + private Button ButtonCancel; + private NumericUpDown numericUpDownSpecificity; + } +} \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoesSale.cs b/ShoeStore/ShoeStore/Forms/FormShoesSale.cs new file mode 100644 index 0000000..024ee8c --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesSale.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using ShoeStore.Entities; +using ShoeStore.Repositories; + +namespace ShoeStore.Forms +{ + public partial class FormShoesSale : Form + { + private readonly IShoesSaleRepository _shoesSaleRepository; + public FormShoesSale(IShoesSaleRepository shoesSaleRepository, IShoesRepository shoesRepository, IFactoryRepository factoryRepository, IStoreRepository storeRepository) + { + InitializeComponent(); + _shoesSaleRepository = shoesSaleRepository ?? + throw new + ArgumentNullException(nameof(shoesSaleRepository)); + comboBoxFactory.DataSource = factoryRepository.ReadFactorys(); + comboBoxFactory.DisplayMember = "FactoryName"; + comboBoxFactory.ValueMember = "Id"; + comboBoxShoes.DataSource = shoesRepository.ReadShoess(); + comboBoxShoes.DisplayMember = "Name"; + comboBoxShoes.ValueMember = "Id"; + comboBoxStore.DataSource = storeRepository.ReadStores(); + comboBoxStore.DisplayMember = "StoreName"; + comboBoxStore.ValueMember = "Id"; + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (comboBoxShoes.SelectedIndex < 0 || + comboBoxFactory.SelectedIndex < 0 || + comboBoxStore.SelectedIndex < 0) + { + throw new Exception("Имеются незаполненные поля"); + } + _shoesSaleRepository.CreateShoesSale(ShoesSale.CreateOpeartion( + 0, + (int)comboBoxShoes.SelectedValue!, + (int)comboBoxFactory.SelectedValue!, + (int)comboBoxStore.SelectedValue!, + Convert.ToInt32(numericUpDownSpecificity.Value))); + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => + Close(); + private void FormShoesSale_Load(object sender, EventArgs e) + { + + } + + + } +} + diff --git a/ShoeStore/ShoeStore/Forms/FormShoesSale.resx b/ShoeStore/ShoeStore/Forms/FormShoesSale.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesSale.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoesSales.Designer.cs b/ShoeStore/ShoeStore/Forms/FormShoesSales.Designer.cs new file mode 100644 index 0000000..c6f96e7 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesSales.Designer.cs @@ -0,0 +1,98 @@ +namespace ShoeStore.Forms +{ + partial class FormShoesSales + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel1 = new Panel(); + ButtonAdd = new Button(); + dataGridViewData = new DataGridView(); + panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + SuspendLayout(); + // + // panel1 + // + panel1.Controls.Add(ButtonAdd); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(970, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(122, 450); + panel1.TabIndex = 0; + // + // ButtonAdd + // + ButtonAdd.BackgroundImage = Properties.Resources.Ambox_plus_svg; + ButtonAdd.BackgroundImageLayout = ImageLayout.Stretch; + ButtonAdd.Location = new Point(16, 27); + ButtonAdd.Name = "ButtonAdd"; + ButtonAdd.Size = new Size(85, 77); + ButtonAdd.TabIndex = 0; + ButtonAdd.UseVisualStyleBackColor = true; + ButtonAdd.Click += ButtonAdd_Click; + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridViewData.Size = new Size(970, 450); + dataGridViewData.TabIndex = 1; + dataGridViewData.CellContentClick += dataGridViewData_CellContentClick; + // + // FormShoesSales + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(1092, 450); + Controls.Add(dataGridViewData); + Controls.Add(panel1); + Name = "FormShoesSales"; + StartPosition = FormStartPosition.CenterParent; + Text = "Фабрики"; + Load += FormShoesSales_Load; + panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel panel1; + private Button ButtonAdd; + private DataGridView dataGridViewData; + } +} \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoesSales.cs b/ShoeStore/ShoeStore/Forms/FormShoesSales.cs new file mode 100644 index 0000000..5dd40f4 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesSales.cs @@ -0,0 +1,63 @@ +using ShoeStore.Repositories; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Unity; + +namespace ShoeStore.Forms +{ + public partial class FormShoesSales : Form + { + private readonly IUnityContainer _container; + private readonly IShoesSaleRepository _ShoesSaleRepository; + public FormShoesSales(IUnityContainer container, + IShoesSaleRepository ShoesSaleRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _ShoesSaleRepository = ShoesSaleRepository ?? + throw new + ArgumentNullException(nameof(ShoesSaleRepository)); + } + private void FormShoesSales_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = + _ShoesSaleRepository.ReadShoesSales(); + + private void dataGridViewData_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + + } + + + } +} diff --git a/ShoeStore/ShoeStore/Forms/FormShoesSales.resx b/ShoeStore/ShoeStore/Forms/FormShoesSales.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoesSales.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoess.Designer.cs b/ShoeStore/ShoeStore/Forms/FormShoess.Designer.cs new file mode 100644 index 0000000..30dc6c5 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoess.Designer.cs @@ -0,0 +1,129 @@ + +namespace ShoeStore.Forms +{ + partial class FormShoess + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel1 = new Panel(); + ButtonDel = new Button(); + ButtonUpd = new Button(); + ButtonAdd = new Button(); + dataGridViewData = new DataGridView(); + panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + SuspendLayout(); + // + // panel1 + // + panel1.Controls.Add(ButtonDel); + panel1.Controls.Add(ButtonUpd); + panel1.Controls.Add(ButtonAdd); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(970, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(122, 450); + panel1.TabIndex = 0; + panel1.Paint += panel1_Paint; + // + // ButtonDel + // + ButtonDel.BackgroundImage = Properties.Resources.Gradelink_cross_1; + ButtonDel.BackgroundImageLayout = ImageLayout.Stretch; + ButtonDel.Location = new Point(16, 193); + ButtonDel.Name = "ButtonDel"; + ButtonDel.Size = new Size(85, 78); + ButtonDel.TabIndex = 2; + ButtonDel.UseVisualStyleBackColor = true; + ButtonDel.Click += ButtonDel_Click; + // + // ButtonUpd + // + ButtonUpd.BackgroundImage = Properties.Resources.Simpleicons_Business_pencil_striped_symbol_for_interface_edit_buttons_svg; + ButtonUpd.BackgroundImageLayout = ImageLayout.Stretch; + ButtonUpd.Location = new Point(16, 110); + ButtonUpd.Name = "ButtonUpd"; + ButtonUpd.Size = new Size(85, 77); + ButtonUpd.TabIndex = 1; + ButtonUpd.UseVisualStyleBackColor = true; + ButtonUpd.Click += ButtonUpd_Click; + // + // ButtonAdd + // + ButtonAdd.BackgroundImage = Properties.Resources.Ambox_plus_svg; + ButtonAdd.BackgroundImageLayout = ImageLayout.Stretch; + ButtonAdd.Location = new Point(16, 27); + ButtonAdd.Name = "ButtonAdd"; + ButtonAdd.Size = new Size(85, 77); + ButtonAdd.TabIndex = 0; + ButtonAdd.UseVisualStyleBackColor = true; + ButtonAdd.Click += ButtonAdd_Click; + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridViewData.Size = new Size(970, 450); + dataGridViewData.TabIndex = 1; + dataGridViewData.CellContentClick += dataGridViewData_CellContentClick; + // + // FormShoess + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(1092, 450); + Controls.Add(dataGridViewData); + Controls.Add(panel1); + Name = "FormShoess"; + StartPosition = FormStartPosition.CenterParent; + Text = "Обувь"; + Load += FormStores_Load; + panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + ResumeLayout(false); + } + + + #endregion + + private Panel panel1; + private Button ButtonDel; + private Button ButtonUpd; + private Button ButtonAdd; + private DataGridView dataGridViewData; + } +} \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormShoess.cs b/ShoeStore/ShoeStore/Forms/FormShoess.cs new file mode 100644 index 0000000..1ba8fe3 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoess.cs @@ -0,0 +1,127 @@ +using ShoeStore.Repositories; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Unity; + +namespace ShoeStore.Forms +{ + public partial class FormShoess : Form + { + private readonly IUnityContainer _container; + private readonly IShoesRepository _shoesRepository; + public FormShoess(IUnityContainer container, IShoesRepository + shoesRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _shoesRepository = shoesRepository ?? + throw new ArgumentNullException(nameof(shoesRepository)); + } + private void FormShoess_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonUpd_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + try + { + var form = _container.Resolve(); + form.Id = findId; + form.ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при изменении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonDel_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", + MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _shoesRepository.DeleteShoes(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при удалении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = + _shoesRepository.ReadShoess(); + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridViewData.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = + Convert.ToInt32(dataGridViewData.SelectedRows[0].Cells["Id"].Value); + return true; + } + + private void dataGridViewData_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + + } + + private void panel1_Paint(object sender, PaintEventArgs e) + { + + } + private void FormStores_Load(object sender, EventArgs e) + { + + } + + + } + +} diff --git a/ShoeStore/ShoeStore/Forms/FormShoess.resx b/ShoeStore/ShoeStore/Forms/FormShoess.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ShoeStore/ShoeStore/Forms/FormShoess.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormStore.Designer.cs b/ShoeStore/ShoeStore/Forms/FormStore.Designer.cs index 1bbe695..231371f 100644 --- a/ShoeStore/ShoeStore/Forms/FormStore.Designer.cs +++ b/ShoeStore/ShoeStore/Forms/FormStore.Designer.cs @@ -37,8 +37,8 @@ numericUpDownEmployees = new NumericUpDown(); label5 = new Label(); numericUpDownVisitors = new NumericUpDown(); - button1 = new Button(); - button2 = new Button(); + ButtonSave = new Button(); + ButtonCancel = new Button(); ((System.ComponentModel.ISupportInitialize)numericUpDownEmployees).BeginInit(); ((System.ComponentModel.ISupportInitialize)numericUpDownVisitors).BeginInit(); SuspendLayout(); @@ -119,31 +119,33 @@ numericUpDownVisitors.Size = new Size(60, 23); numericUpDownVisitors.TabIndex = 9; // - // button1 + // ButtonSave // - button1.Location = new Point(39, 234); - button1.Name = "button1"; - button1.Size = new Size(125, 23); - button1.TabIndex = 10; - button1.Text = "Сохраить"; - button1.UseVisualStyleBackColor = true; + ButtonSave.Location = new Point(39, 234); + ButtonSave.Name = "ButtonSave"; + ButtonSave.Size = new Size(125, 23); + ButtonSave.TabIndex = 10; + ButtonSave.Text = "Сохраить"; + ButtonSave.UseVisualStyleBackColor = true; + ButtonSave.Click += ButtonSave_Click; // - // button2 + // ButtonCancel // - button2.Location = new Point(214, 234); - button2.Name = "button2"; - button2.Size = new Size(125, 23); - button2.TabIndex = 11; - button2.Text = "Отмена"; - button2.UseVisualStyleBackColor = true; + ButtonCancel.Location = new Point(214, 234); + ButtonCancel.Name = "ButtonCancel"; + ButtonCancel.Size = new Size(125, 23); + ButtonCancel.TabIndex = 11; + ButtonCancel.Text = "Отмена"; + ButtonCancel.UseVisualStyleBackColor = true; + ButtonCancel.Click += ButtonCancel_Click; // // FormStore // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(392, 304); - Controls.Add(button2); - Controls.Add(button1); + Controls.Add(ButtonCancel); + Controls.Add(ButtonSave); Controls.Add(numericUpDownVisitors); Controls.Add(label5); Controls.Add(numericUpDownEmployees); @@ -174,7 +176,7 @@ private NumericUpDown numericUpDownEmployees; private Label label5; private NumericUpDown numericUpDownVisitors; - private Button button1; - private Button button2; + private Button ButtonSave; + private Button ButtonCancel; } } \ No newline at end of file diff --git a/ShoeStore/ShoeStore/Forms/FormStore.cs b/ShoeStore/ShoeStore/Forms/FormStore.cs index 64d6397..2df542e 100644 --- a/ShoeStore/ShoeStore/Forms/FormStore.cs +++ b/ShoeStore/ShoeStore/Forms/FormStore.cs @@ -84,4 +84,6 @@ public partial class FormStore : Form { } + + } diff --git a/ShoeStore/ShoeStore/Forms/FormStore.resx b/ShoeStore/ShoeStore/Forms/FormStore.resx index af32865..8b2ff64 100644 --- a/ShoeStore/ShoeStore/Forms/FormStore.resx +++ b/ShoeStore/ShoeStore/Forms/FormStore.resx @@ -1,7 +1,7 @@