From 562f3e5d3a97da5ff038e4d6a3cbf4d79f9a9f99 Mon Sep 17 00:00:00 2001 From: Alenka Date: Wed, 27 Mar 2024 20:47:13 +0400 Subject: [PATCH] fix --- .../Models/IStoreModel.cs | 17 -- .../JewelryStore/FormMain.Designer.cs | 28 +-- .../JewelryStore/FormMain.cs | 20 -- .../JewelryStore/FormStore.Designer.cs | 198 ------------------ .../JewelryStore/FormStore.cs | 141 ------------- .../JewelryStore/FormStore.resx | 60 ------ .../FormStoreReplenishment.Designer.cs | 151 ------------- .../JewelryStore/FormStoreReplenishment.cs | 104 --------- .../JewelryStore/FormStoreReplenishment.resx | 60 ------ .../JewelryStore/FormStores.Designer.cs | 122 ----------- .../JewelryStore/FormStores.cs | 122 ----------- .../JewelryStore/FormStores.resx | 60 ------ .../JewelryStore/Program.cs | 6 - .../BusinessLogics/StoreLogic.cs | 183 ---------------- .../BindingModels/StoreBindingModel.cs | 22 -- .../BusinessLogicsContracts/IStoreLogic.cs | 22 -- .../SearchModels/StoreSearchModel.cs | 14 -- .../StoragesModels/IStoreStorage.cs | 21 -- .../ViewModels/StoreViewModel.cs | 25 --- .../DataListSingleton.cs | 2 - .../Implements/StoreStorage.cs | 123 ----------- .../JewelryStoreListImplement/Models/Store.cs | 59 ------ 22 files changed, 4 insertions(+), 1556 deletions(-) delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryShopDataModels/Models/IStoreModel.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.Designer.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.resx delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.Designer.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.resx delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.Designer.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.resx delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStoreBusinessLogic/BusinessLogics/StoreLogic.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/BindingModels/StoreBindingModel.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/BusinessLogicsContracts/IStoreLogic.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/SearchModels/StoreSearchModel.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/StoragesModels/IStoreStorage.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/ViewModels/StoreViewModel.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/Implements/StoreStorage.cs delete mode 100644 PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/Models/Store.cs diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryShopDataModels/Models/IStoreModel.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryShopDataModels/Models/IStoreModel.cs deleted file mode 100644 index ea34e71..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryShopDataModels/Models/IStoreModel.cs +++ /dev/null @@ -1,17 +0,0 @@ -using JewelryShopDataModels; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace JewelryStoreDataModels.Models -{ - public interface IStoreModel : IId - { - public string StoreName { get; } - public string StoreAdress { get; } - DateTime OpeningDate { get; } - Dictionary Jewels { get; } - } -} diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormMain.Designer.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormMain.Designer.cs index b594b98..e0e7277 100644 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormMain.Designer.cs +++ b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormMain.Designer.cs @@ -32,14 +32,12 @@ this.СправочникиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.КомпонентыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ИзделияToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.магазиныToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.dataGridView = new System.Windows.Forms.DataGridView(); this.buttonCreateOrder = new System.Windows.Forms.Button(); this.buttonTakeOrderInWork = new System.Windows.Forms.Button(); this.buttonOrderReady = new System.Windows.Forms.Button(); this.buttonIssuedOrder = new System.Windows.Forms.Button(); this.buttonRefresh = new System.Windows.Forms.Button(); - this.пополнениеМагазинаToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuStrip.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit(); this.SuspendLayout(); @@ -48,8 +46,7 @@ // this.menuStrip.ImageScalingSize = new System.Drawing.Size(24, 24); this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.СправочникиToolStripMenuItem, - this.пополнениеМагазинаToolStripMenuItem}); + this.СправочникиToolStripMenuItem}); this.menuStrip.Location = new System.Drawing.Point(0, 0); this.menuStrip.Name = "menuStrip"; this.menuStrip.Size = new System.Drawing.Size(1121, 33); @@ -60,8 +57,7 @@ // this.СправочникиToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.КомпонентыToolStripMenuItem, - this.ИзделияToolStripMenuItem, - this.магазиныToolStripMenuItem}); + this.ИзделияToolStripMenuItem}); this.СправочникиToolStripMenuItem.Name = "СправочникиToolStripMenuItem"; this.СправочникиToolStripMenuItem.Size = new System.Drawing.Size(139, 29); this.СправочникиToolStripMenuItem.Text = "Справочники"; @@ -69,24 +65,17 @@ // КомпонентыToolStripMenuItem // this.КомпонентыToolStripMenuItem.Name = "КомпонентыToolStripMenuItem"; - this.КомпонентыToolStripMenuItem.Size = new System.Drawing.Size(270, 34); + this.КомпонентыToolStripMenuItem.Size = new System.Drawing.Size(218, 34); this.КомпонентыToolStripMenuItem.Text = "Компоненты"; this.КомпонентыToolStripMenuItem.Click += new System.EventHandler(this.КомпонентыToolStripMenuItem_Click); // // ИзделияToolStripMenuItem // this.ИзделияToolStripMenuItem.Name = "ИзделияToolStripMenuItem"; - this.ИзделияToolStripMenuItem.Size = new System.Drawing.Size(270, 34); + this.ИзделияToolStripMenuItem.Size = new System.Drawing.Size(218, 34); this.ИзделияToolStripMenuItem.Text = "Изделия"; this.ИзделияToolStripMenuItem.Click += new System.EventHandler(this.ИзделияToolStripMenuItem_Click); // - // магазиныToolStripMenuItem - // - this.магазиныToolStripMenuItem.Name = "магазиныToolStripMenuItem"; - this.магазиныToolStripMenuItem.Size = new System.Drawing.Size(270, 34); - this.магазиныToolStripMenuItem.Text = "Магазины"; - this.магазиныToolStripMenuItem.Click += new System.EventHandler(this.МагазиныToolStripMenuItem_Click); - // // dataGridView // this.dataGridView.BackgroundColor = System.Drawing.SystemColors.Window; @@ -148,13 +137,6 @@ this.buttonRefresh.UseVisualStyleBackColor = true; this.buttonRefresh.Click += new System.EventHandler(this.ButtonRefresh_Click); // - // пополнениеМагазинаToolStripMenuItem - // - this.пополнениеМагазинаToolStripMenuItem.Name = "пополнениеМагазинаToolStripMenuItem"; - this.пополнениеМагазинаToolStripMenuItem.Size = new System.Drawing.Size(210, 29); - this.пополнениеМагазинаToolStripMenuItem.Text = "Пополнение магазина"; - this.пополнениеМагазинаToolStripMenuItem.Click += new System.EventHandler(this.ПополнениеМагазинаToolStripMenuItem_Click); - // // FormMain // this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 25F); @@ -190,7 +172,5 @@ private Button buttonOrderReady; private Button buttonIssuedOrder; private Button buttonRefresh; - private ToolStripMenuItem магазиныToolStripMenuItem; - private ToolStripMenuItem пополнениеМагазинаToolStripMenuItem; } } \ No newline at end of file diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormMain.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormMain.cs index 5a5f7d5..d35464d 100644 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormMain.cs +++ b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormMain.cs @@ -145,25 +145,5 @@ namespace JewelryStore { LoadData(); } - - private void МагазиныToolStripMenuItem_Click(object sender, EventArgs e) - { - var service = Program.ServiceProvider?.GetService(typeof(FormStores)); - - if (service is FormStores form) - { - form.ShowDialog(); - } - } - - private void ПополнениеМагазинаToolStripMenuItem_Click(object sender, EventArgs e) - { - var service = Program.ServiceProvider?.GetService(typeof(FormStoreReplenishment)); - - if (service is FormStoreReplenishment form) - { - form.ShowDialog(); - } - } } } \ No newline at end of file diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.Designer.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.Designer.cs deleted file mode 100644 index e206d60..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.Designer.cs +++ /dev/null @@ -1,198 +0,0 @@ -namespace JewelryStore -{ - partial class FormStore - { - /// - /// 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() - { - this.StoreNameLabel = new System.Windows.Forms.Label(); - this.StoreAdressLabel = new System.Windows.Forms.Label(); - this.OpeningDateLabel = new System.Windows.Forms.Label(); - this.NameTextBox = new System.Windows.Forms.TextBox(); - this.AdressTextBox = new System.Windows.Forms.TextBox(); - this.DataGridView = new System.Windows.Forms.DataGridView(); - this.JewelName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.JewelPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.JewelCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.SaveButton = new System.Windows.Forms.Button(); - this.ButtonCancel = new System.Windows.Forms.Button(); - this.OpeningDatePicker = new System.Windows.Forms.DateTimePicker(); - ((System.ComponentModel.ISupportInitialize)(this.DataGridView)).BeginInit(); - this.SuspendLayout(); - // - // StoreNameLabel - // - this.StoreNameLabel.AutoSize = true; - this.StoreNameLabel.Location = new System.Drawing.Point(17, 13); - this.StoreNameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.StoreNameLabel.Name = "StoreNameLabel"; - this.StoreNameLabel.Size = new System.Drawing.Size(179, 25); - this.StoreNameLabel.TabIndex = 0; - this.StoreNameLabel.Text = "Название магазина: "; - // - // StoreAdressLabel - // - this.StoreAdressLabel.AutoSize = true; - this.StoreAdressLabel.Location = new System.Drawing.Point(17, 54); - this.StoreAdressLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.StoreAdressLabel.Name = "StoreAdressLabel"; - this.StoreAdressLabel.Size = new System.Drawing.Size(151, 25); - this.StoreAdressLabel.TabIndex = 1; - this.StoreAdressLabel.Text = "Адрес магазина: "; - // - // OpeningDateLabel - // - this.OpeningDateLabel.AutoSize = true; - this.OpeningDateLabel.Location = new System.Drawing.Point(17, 99); - this.OpeningDateLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.OpeningDateLabel.Name = "OpeningDateLabel"; - this.OpeningDateLabel.Size = new System.Drawing.Size(140, 25); - this.OpeningDateLabel.TabIndex = 2; - this.OpeningDateLabel.Text = "Дата открытия: "; - // - // NameTextBox - // - this.NameTextBox.Location = new System.Drawing.Point(204, 10); - this.NameTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.NameTextBox.Name = "NameTextBox"; - this.NameTextBox.Size = new System.Drawing.Size(247, 31); - this.NameTextBox.TabIndex = 3; - // - // AdressTextBox - // - this.AdressTextBox.Location = new System.Drawing.Point(204, 51); - this.AdressTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.AdressTextBox.Name = "AdressTextBox"; - this.AdressTextBox.Size = new System.Drawing.Size(247, 31); - this.AdressTextBox.TabIndex = 4; - // - // DataGridView - // - this.DataGridView.BackgroundColor = System.Drawing.SystemColors.Window; - this.DataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.DataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { - this.JewelName, - this.JewelPrice, - this.JewelCount}); - this.DataGridView.Location = new System.Drawing.Point(13, 135); - this.DataGridView.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.DataGridView.Name = "DataGridView"; - this.DataGridView.RowHeadersWidth = 62; - this.DataGridView.RowTemplate.Height = 25; - this.DataGridView.Size = new System.Drawing.Size(802, 365); - this.DataGridView.TabIndex = 6; - // - // JewelName - // - this.JewelName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.JewelName.HeaderText = "Название изделия"; - this.JewelName.MinimumWidth = 8; - this.JewelName.Name = "JewelName"; - // - // JewelPrice - // - this.JewelPrice.HeaderText = "Цена"; - this.JewelPrice.MinimumWidth = 8; - this.JewelPrice.Name = "JewelPrice"; - this.JewelPrice.Width = 150; - // - // JewelCount - // - this.JewelCount.HeaderText = "Количество"; - this.JewelCount.MinimumWidth = 8; - this.JewelCount.Name = "JewelCount"; - this.JewelCount.Width = 150; - // - // SaveButton - // - this.SaveButton.Location = new System.Drawing.Point(531, 510); - this.SaveButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.SaveButton.Name = "SaveButton"; - this.SaveButton.Size = new System.Drawing.Size(138, 35); - this.SaveButton.TabIndex = 7; - this.SaveButton.Text = "Сохранить"; - this.SaveButton.UseVisualStyleBackColor = true; - this.SaveButton.Click += new System.EventHandler(this.SaveButton_Click); - // - // ButtonCancel - // - this.ButtonCancel.Location = new System.Drawing.Point(677, 510); - this.ButtonCancel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.ButtonCancel.Name = "ButtonCancel"; - this.ButtonCancel.Size = new System.Drawing.Size(138, 35); - this.ButtonCancel.TabIndex = 8; - this.ButtonCancel.Text = "Отменить"; - this.ButtonCancel.UseVisualStyleBackColor = true; - this.ButtonCancel.Click += new System.EventHandler(this.ButtonCancel_Click); - // - // OpeningDatePicker - // - this.OpeningDatePicker.Location = new System.Drawing.Point(204, 94); - this.OpeningDatePicker.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.OpeningDatePicker.Name = "OpeningDatePicker"; - this.OpeningDatePicker.Size = new System.Drawing.Size(247, 31); - this.OpeningDatePicker.TabIndex = 9; - // - // FormStore - // - this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 25F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(867, 560); - this.Controls.Add(this.OpeningDatePicker); - this.Controls.Add(this.ButtonCancel); - this.Controls.Add(this.SaveButton); - this.Controls.Add(this.DataGridView); - this.Controls.Add(this.AdressTextBox); - this.Controls.Add(this.NameTextBox); - this.Controls.Add(this.OpeningDateLabel); - this.Controls.Add(this.StoreAdressLabel); - this.Controls.Add(this.StoreNameLabel); - this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.Name = "FormStore"; - this.Text = "Изделия магазина"; - this.Load += new System.EventHandler(this.FormStore_Load); - ((System.ComponentModel.ISupportInitialize)(this.DataGridView)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private Label StoreNameLabel; - private Label StoreAdressLabel; - private Label OpeningDateLabel; - private TextBox NameTextBox; - private TextBox AdressTextBox; - private DataGridView DataGridView; - private Button SaveButton; - private Button ButtonCancel; - private DataGridViewTextBoxColumn JewelName; - private DataGridViewTextBoxColumn JewelPrice; - private DataGridViewTextBoxColumn JewelCount; - private DateTimePicker OpeningDatePicker; - } -} \ No newline at end of file diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.cs deleted file mode 100644 index ed123a8..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.cs +++ /dev/null @@ -1,141 +0,0 @@ -using JewelryStoreContracts.BindingModels; -using JewelryStoreContracts.BusinessLogicsContracts; -using JewelryStoreContracts.ViewModels; -using JewelryStoreDataModels.Models; -using Microsoft.Extensions.Logging; -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; - -namespace JewelryStore -{ - public partial class FormStore : Form - { - private readonly List? _listStores; - private readonly IStoreLogic _logic; - private readonly ILogger _logger; - public int Id { get; set; } - - public FormStore(ILogger logger, IStoreLogic logic) - { - InitializeComponent(); - _logger = logger; - _listStores = logic.ReadList(null); - _logic = logic; - } - - private IStoreModel? GetStore(int id) - { - if (_listStores == null) - { - return null; - } - foreach (var elem in _listStores) - { - if (elem.Id == id) - { - return elem; - } - } - return null; - } - - private void SaveButton_Click(object sender, EventArgs e) - { - if (string.IsNullOrEmpty(NameTextBox.Text)) - { - MessageBox.Show("Заполните название", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - if (string.IsNullOrEmpty(AdressTextBox.Text)) - { - MessageBox.Show("Заполните адрес", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - _logger.LogInformation("Сохранение магазина"); - - try - { - DateTime.TryParse(OpeningDatePicker.Text, out var dateTime); - StoreBindingModel model = new() - { - StoreName = NameTextBox.Text, - StoreAdress = AdressTextBox.Text, - OpeningDate = dateTime - }; - var vmodel = GetStore(Id); - bool operationResult = false; - - if (vmodel != null) - { - model.Id = vmodel.Id; - operationResult = _logic.Update(model); - } - else - { - operationResult = _logic.Create(model); - } - - if (!operationResult) - { - throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); - } - - MessageBox.Show("Сохранение прошло успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); - DialogResult = DialogResult.OK; - Close(); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка сохранения магазина"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - private void ButtonCancel_Click(object sender, EventArgs e) - { - DialogResult = DialogResult.Cancel; - Close(); - } - - private void FormStore_Load(object sender, EventArgs e) - { - LoadData(); - } - private void LoadData(bool extendDate = true) - { - try - { - var model = GetStore(extendDate ? Id : Convert.ToInt32(NameTextBox.Text)); - if (model != null) - { - NameTextBox.Text = model.StoreName; - AdressTextBox.Text = model.StoreAdress; - OpeningDatePicker.Text = Convert.ToString(model.OpeningDate); - DataGridView.Rows.Clear(); - foreach (var el in model.Jewels.Values) - { - DataGridView.Rows.Add(new object[] { el.Item1.JewelName, el.Item1.Price, el.Item2 }); - } - } - _logger.LogInformation("Загрузка магазинов"); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка загрузки магазинов"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, - MessageBoxIcon.Error); - } - } - - - } -} diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.resx b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.resx deleted file mode 100644 index f298a7b..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStore.resx +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.Designer.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.Designer.cs deleted file mode 100644 index b8cdadd..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.Designer.cs +++ /dev/null @@ -1,151 +0,0 @@ -namespace JewelryStore -{ - partial class FormStoreReplenishment - { - /// - /// 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() - { - this.StoreNameLabel = new System.Windows.Forms.Label(); - this.JewelNameLabel = new System.Windows.Forms.Label(); - this.CountLabel = new System.Windows.Forms.Label(); - this.StoreNameComboBox = new System.Windows.Forms.ComboBox(); - this.JewelNameComboBox = new System.Windows.Forms.ComboBox(); - this.CountTextBox = new System.Windows.Forms.TextBox(); - this.SaveButton = new System.Windows.Forms.Button(); - this.ButtonCancel = new System.Windows.Forms.Button(); - this.SuspendLayout(); - // - // StoreNameLabel - // - this.StoreNameLabel.AutoSize = true; - this.StoreNameLabel.Location = new System.Drawing.Point(9, 9); - this.StoreNameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.StoreNameLabel.Name = "StoreNameLabel"; - this.StoreNameLabel.Size = new System.Drawing.Size(179, 25); - this.StoreNameLabel.TabIndex = 0; - this.StoreNameLabel.Text = "Название магазина: "; - // - // JewelNameLabel - // - this.JewelNameLabel.AutoSize = true; - this.JewelNameLabel.Location = new System.Drawing.Point(9, 58); - this.JewelNameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.JewelNameLabel.Name = "JewelNameLabel"; - this.JewelNameLabel.Size = new System.Drawing.Size(169, 25); - this.JewelNameLabel.TabIndex = 1; - this.JewelNameLabel.Text = "Название изделия: "; - // - // CountLabel - // - this.CountLabel.AutoSize = true; - this.CountLabel.Location = new System.Drawing.Point(9, 107); - this.CountLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.CountLabel.Name = "CountLabel"; - this.CountLabel.Size = new System.Drawing.Size(116, 25); - this.CountLabel.TabIndex = 2; - this.CountLabel.Text = "Количество: "; - // - // StoreNameComboBox - // - this.StoreNameComboBox.FormattingEnabled = true; - this.StoreNameComboBox.Location = new System.Drawing.Point(196, 6); - this.StoreNameComboBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.StoreNameComboBox.Name = "StoreNameComboBox"; - this.StoreNameComboBox.Size = new System.Drawing.Size(272, 33); - this.StoreNameComboBox.TabIndex = 3; - // - // JewelNameComboBox - // - this.JewelNameComboBox.FormattingEnabled = true; - this.JewelNameComboBox.Location = new System.Drawing.Point(196, 55); - this.JewelNameComboBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.JewelNameComboBox.Name = "JewelNameComboBox"; - this.JewelNameComboBox.Size = new System.Drawing.Size(272, 33); - this.JewelNameComboBox.TabIndex = 4; - // - // CountTextBox - // - this.CountTextBox.Location = new System.Drawing.Point(196, 104); - this.CountTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.CountTextBox.Name = "CountTextBox"; - this.CountTextBox.Size = new System.Drawing.Size(272, 31); - this.CountTextBox.TabIndex = 5; - // - // SaveButton - // - this.SaveButton.Location = new System.Drawing.Point(234, 145); - this.SaveButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.SaveButton.Name = "SaveButton"; - this.SaveButton.Size = new System.Drawing.Size(107, 38); - this.SaveButton.TabIndex = 6; - this.SaveButton.Text = "Сохранить"; - this.SaveButton.UseVisualStyleBackColor = true; - this.SaveButton.Click += new System.EventHandler(this.SaveButton_Click); - // - // ButtonCancel - // - this.ButtonCancel.Location = new System.Drawing.Point(361, 145); - this.ButtonCancel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.ButtonCancel.Name = "ButtonCancel"; - this.ButtonCancel.Size = new System.Drawing.Size(107, 38); - this.ButtonCancel.TabIndex = 7; - this.ButtonCancel.Text = "Отмена"; - this.ButtonCancel.UseVisualStyleBackColor = true; - this.ButtonCancel.Click += new System.EventHandler(this.ButtonCancel_Click); - // - // FormStoreReplenishment - // - this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 25F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(481, 200); - this.Controls.Add(this.ButtonCancel); - this.Controls.Add(this.SaveButton); - this.Controls.Add(this.CountTextBox); - this.Controls.Add(this.JewelNameComboBox); - this.Controls.Add(this.StoreNameComboBox); - this.Controls.Add(this.CountLabel); - this.Controls.Add(this.JewelNameLabel); - this.Controls.Add(this.StoreNameLabel); - this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.Name = "FormStoreReplenishment"; - this.Text = "Пополнение магазина"; - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private Label StoreNameLabel; - private Label JewelNameLabel; - private Label CountLabel; - private ComboBox StoreNameComboBox; - private ComboBox JewelNameComboBox; - private TextBox CountTextBox; - private Button SaveButton; - private Button ButtonCancel; - } -} \ No newline at end of file diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.cs deleted file mode 100644 index b478d0f..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.cs +++ /dev/null @@ -1,104 +0,0 @@ -using JewelryStoreContracts.BusinessLogicsContracts; -using JewelryStoreContracts.ViewModels; -using Microsoft.Extensions.Logging; -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; - -namespace JewelryStore -{ - public partial class FormStoreReplenishment : Form - { - private readonly ILogger _logger; - private readonly IStoreLogic _storeLogic; - private readonly IJewelLogic _jewelLogic; - private readonly List? _listStores; - private readonly List? _listJewels; - public FormStoreReplenishment(ILogger logger, IStoreLogic storeLogic, IJewelLogic jewelLogic) - { - InitializeComponent(); - _storeLogic = storeLogic; - _jewelLogic = jewelLogic; - _logger = logger; - _listStores = storeLogic.ReadList(null); - if (_listStores != null) - { - StoreNameComboBox.DisplayMember = "StoreName"; - StoreNameComboBox.ValueMember = "Id"; - StoreNameComboBox.DataSource = _listStores; - StoreNameComboBox.SelectedItem = null; - } - - _listJewels = jewelLogic.ReadList(null); - if (_listJewels != null) - { - JewelNameComboBox.DisplayMember = "JewelName"; - JewelNameComboBox.ValueMember = "Id"; - JewelNameComboBox.DataSource = _listJewels; - JewelNameComboBox.SelectedItem = null; - } - } - - private void SaveButton_Click(object sender, EventArgs e) - { - if (StoreNameComboBox.SelectedValue == null) - { - MessageBox.Show("Выберите магазин", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - if (JewelNameComboBox.SelectedValue == null) - { - MessageBox.Show("Выберите изделие", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - _logger.LogInformation("Добавление изделия в магазин"); - - try - { - var jewel = _jewelLogic.ReadElement(new() - { - Id = (int)JewelNameComboBox.SelectedValue - }); - - if (jewel == null) - { - throw new Exception("Не найдено изделие. Дополнительная информация в логах."); - } - - var resultOperation = _storeLogic.AddJewel( - model: new() { Id = (int)StoreNameComboBox.SelectedValue }, - jewel: jewel, - quantity: Convert.ToInt32(CountTextBox.Text) - ); - - if (!resultOperation) - { - throw new Exception("Ошибка при добавлении. Дополнительная информация в логах."); - } - - MessageBox.Show("Сохранение прошло успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); - DialogResult = DialogResult.OK; - Close(); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка сохранения изделия"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - private void ButtonCancel_Click(object sender, EventArgs e) - { - DialogResult = DialogResult.Cancel; - Close(); - } - } -} diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.resx b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.resx deleted file mode 100644 index f298a7b..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStoreReplenishment.resx +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.Designer.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.Designer.cs deleted file mode 100644 index 31a8bdf..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.Designer.cs +++ /dev/null @@ -1,122 +0,0 @@ -namespace JewelryStore -{ - partial class FormStores - { - /// - /// 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() - { - this.DataGridView = new System.Windows.Forms.DataGridView(); - this.AddButton = new System.Windows.Forms.Button(); - this.ChangeButton = new System.Windows.Forms.Button(); - this.DeleteButton = new System.Windows.Forms.Button(); - this.UpdateButton = new System.Windows.Forms.Button(); - ((System.ComponentModel.ISupportInitialize)(this.DataGridView)).BeginInit(); - this.SuspendLayout(); - // - // DataGridView - // - this.DataGridView.BackgroundColor = System.Drawing.SystemColors.Window; - this.DataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.DataGridView.Location = new System.Drawing.Point(1, 2); - this.DataGridView.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.DataGridView.Name = "DataGridView"; - this.DataGridView.RowHeadersWidth = 62; - this.DataGridView.RowTemplate.Height = 25; - this.DataGridView.Size = new System.Drawing.Size(768, 452); - this.DataGridView.TabIndex = 0; - // - // AddButton - // - this.AddButton.Location = new System.Drawing.Point(807, 52); - this.AddButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.AddButton.Name = "AddButton"; - this.AddButton.Size = new System.Drawing.Size(151, 38); - this.AddButton.TabIndex = 1; - this.AddButton.Text = "Добавить"; - this.AddButton.UseVisualStyleBackColor = true; - this.AddButton.Click += new System.EventHandler(this.AddButton_Click); - // - // ChangeButton - // - this.ChangeButton.Location = new System.Drawing.Point(807, 129); - this.ChangeButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.ChangeButton.Name = "ChangeButton"; - this.ChangeButton.Size = new System.Drawing.Size(151, 38); - this.ChangeButton.TabIndex = 2; - this.ChangeButton.Text = "Изменить"; - this.ChangeButton.UseVisualStyleBackColor = true; - this.ChangeButton.Click += new System.EventHandler(this.ChangeButton_Click); - // - // DeleteButton - // - this.DeleteButton.Location = new System.Drawing.Point(807, 203); - this.DeleteButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.DeleteButton.Name = "DeleteButton"; - this.DeleteButton.Size = new System.Drawing.Size(151, 38); - this.DeleteButton.TabIndex = 3; - this.DeleteButton.Text = "Удалить"; - this.DeleteButton.UseVisualStyleBackColor = true; - this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click); - // - // UpdateButton - // - this.UpdateButton.Location = new System.Drawing.Point(807, 277); - this.UpdateButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.UpdateButton.Name = "UpdateButton"; - this.UpdateButton.Size = new System.Drawing.Size(151, 35); - this.UpdateButton.TabIndex = 4; - this.UpdateButton.Text = "Обновить"; - this.UpdateButton.UseVisualStyleBackColor = true; - this.UpdateButton.Click += new System.EventHandler(this.UpdateButton_Click); - // - // FormStores - // - this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 25F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(988, 457); - this.Controls.Add(this.UpdateButton); - this.Controls.Add(this.DeleteButton); - this.Controls.Add(this.ChangeButton); - this.Controls.Add(this.AddButton); - this.Controls.Add(this.DataGridView); - this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.Name = "FormStores"; - this.Text = "Магазины"; - this.Load += new System.EventHandler(this.FormStores_Load); - ((System.ComponentModel.ISupportInitialize)(this.DataGridView)).EndInit(); - this.ResumeLayout(false); - - } - - #endregion - - private DataGridView DataGridView; - private Button AddButton; - private Button ChangeButton; - private Button DeleteButton; - private Button UpdateButton; - } -} \ No newline at end of file diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.cs deleted file mode 100644 index 8c84e6e..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.cs +++ /dev/null @@ -1,122 +0,0 @@ -using JewelryStoreContracts.BindingModels; -using JewelryStoreContracts.BusinessLogicsContracts; -using Microsoft.Extensions.Logging; -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; - -namespace JewelryStore -{ - public partial class FormStores : Form - { - private readonly ILogger _logger; - private readonly IStoreLogic _logic; - public FormStores(ILogger logger, IStoreLogic logic) - { - InitializeComponent(); - _logger = logger; - _logic = logic; - } - - private void FormStores_Load(object sender, EventArgs e) - { - LoadData(); - } - - private void LoadData() - { - try - { - var list = _logic.ReadList(null); - - if (list != null) - { - DataGridView.DataSource = list; - DataGridView.Columns["Id"].Visible = false; - DataGridView.Columns["StoreName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; - DataGridView.Columns["Jewels"].Visible = false; - } - - _logger.LogInformation("Загрузка магазинов"); - - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка загрузки магазинов"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - private void UpdateButton_Click(object sender, EventArgs e) - { - LoadData(); - } - - private void DeleteButton_Click(object sender, EventArgs e) - { - if (DataGridView.SelectedRows.Count == 1) - { - if (MessageBox.Show("Удалить запись?", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - int id = Convert.ToInt32(DataGridView.SelectedRows[0].Cells["Id"].Value); - _logger.LogInformation("Удаление магазина"); - - try - { - if (!_logic.Delete(new StoreBindingModel - { - Id = id - })) - { - throw new Exception("Ошибка при удалении. Дополнительная информация в логах."); - } - - LoadData(); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка удаления изделия"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - } - } - - private void ChangeButton_Click(object sender, EventArgs e) - { - if (DataGridView.SelectedRows.Count == 1) - { - var service = Program.ServiceProvider?.GetService(typeof(FormStore)); - - if (service is FormStore form) - { - form.Id = Convert.ToInt32(DataGridView.SelectedRows[0].Cells["Id"].Value); - - if (form.ShowDialog() == DialogResult.OK) - { - LoadData(); - } - } - } - } - - private void AddButton_Click(object sender, EventArgs e) - { - var service = Program.ServiceProvider?.GetService(typeof(FormStore)); - - if (service is FormStore form) - { - if (form.ShowDialog() == DialogResult.OK) - { - LoadData(); - } - } - } - } -} diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.resx b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.resx deleted file mode 100644 index f298a7b..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/FormStores.resx +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/Program.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/Program.cs index 6858d64..30e7668 100644 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/Program.cs +++ b/PIbd-23_Panina.A.D_JewelryStore/JewelryStore/Program.cs @@ -5,7 +5,6 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using NLog.Extensions.Logging; using JewelryStoreBusinessLogic.BusinessLogics; -using JewelryStoreContracts.StoragesModels; namespace JewelryStore { @@ -36,11 +35,9 @@ namespace JewelryStore services.AddTransient(); services.AddTransient(); services.AddTransient(); - services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); - services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); @@ -48,9 +45,6 @@ namespace JewelryStore services.AddTransient(); services.AddTransient(); services.AddTransient(); - services.AddTransient(); - services.AddTransient(); - services.AddTransient(); } } diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreBusinessLogic/BusinessLogics/StoreLogic.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreBusinessLogic/BusinessLogics/StoreLogic.cs deleted file mode 100644 index 08101df..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreBusinessLogic/BusinessLogics/StoreLogic.cs +++ /dev/null @@ -1,183 +0,0 @@ -using JewelryStoreContracts.BindingModels; -using JewelryStoreContracts.BusinessLogicsContracts; -using JewelryStoreContracts.SearchModels; -using JewelryStoreContracts.StoragesModels; -using JewelryStoreContracts.ViewModels; -using JewelryStoreDataModels.Models; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace JewelryStoreBusinessLogic.BusinessLogics -{ - public class StoreLogic : IStoreLogic - { - private readonly ILogger _logger; - private readonly IStoreStorage _storeStorage; - - public StoreLogic(ILogger logger, IStoreStorage storeStorage) - { - _logger = logger; - _storeStorage = storeStorage; - } - - public bool AddJewel(StoreSearchModel model, IJewelModel jewel, int count) - { - if (model == null) - { - throw new ArgumentNullException(nameof(model)); - } - - if (count <= 0) - { - throw new ArgumentException("Количество добавляемого изделия должно быть больше 0", nameof(count)); - } - - _logger.LogInformation("AddJewelInStore. StoreName:{StoreName}.Id:{ Id}", model.StoreName, model.Id); - var element = _storeStorage.GetElement(model); - - if (element == null) - { - _logger.LogWarning("AddJewelInStore element not found"); - return false; - } - - _logger.LogInformation("AddJewelInStore find. Id:{Id}", element.Id); - - if (element.Jewels.TryGetValue(jewel.Id, out var pair)) - { - element.Jewels[jewel.Id] = (jewel, count + pair.Item2); - _logger.LogInformation("AddJewelInStore. Has been added {count} {jewel} in {StoreName}", count, jewel.JewelName, element.StoreName); - } - else - { - element.Jewels[jewel.Id] = (jewel, count); - _logger.LogInformation("AddJewelInStore. Has been added {count} new Jewel {jewel} in {StoreName}", count, jewel.JewelName, element.StoreName); - } - - _storeStorage.Update(new() - { - Id = element.Id, - StoreAdress = element.StoreAdress, - StoreName = element.StoreName, - OpeningDate = element.OpeningDate, - Jewels = element.Jewels - }); - return true; - } - - public bool Create(StoreBindingModel model) - { - CheckModel(model); - model.Jewels = new(); - - if (_storeStorage.Insert(model) == null) - { - _logger.LogWarning("Insert operation failed"); - return false; - } - - return true; - } - - public bool Delete(StoreBindingModel model) - { - CheckModel(model, false); - _logger.LogInformation("Delete. Id:{Id}", model.Id); - - if (_storeStorage.Delete(model) == null) - { - _logger.LogWarning("Delete operation failed"); - return false; - } - - return true; - } - - public StoreViewModel? ReadElement(StoreSearchModel model) - { - if (model == null) - { - throw new ArgumentNullException(nameof(model)); - } - - _logger.LogInformation("ReadElement. StoreName:{StoreName}.Id:{ Id}", model.StoreName, model.Id); - var element = _storeStorage.GetElement(model); - - if (element == null) - { - _logger.LogWarning("ReadElement element not found"); - return null; - } - - _logger.LogInformation("ReadElement find. Id:{Id}", element.Id); - return element; - } - - public List? ReadList(StoreSearchModel? model) - { - _logger.LogInformation("ReadList. StoreName:{StoreName}.Id:{ Id} ", model?.StoreName, model?.Id); - - var list = (model == null) ? _storeStorage.GetFullList() : _storeStorage.GetFilteredList(model); - - if (list == null) - { - _logger.LogWarning("ReadList return null list"); - return null; - } - - _logger.LogInformation("ReadList. Count:{Count}", list.Count); - return list; - } - - public bool Update(StoreBindingModel model) - { - CheckModel(model, false); - - if (string.IsNullOrEmpty(model.StoreName)) - { - throw new ArgumentNullException("Нет названия магазина", nameof(model.StoreName)); - } - - if (_storeStorage.Update(model) == null) - { - _logger.LogWarning("Update operation failed"); - return false; - } - return true; - } - - private void CheckModel(StoreBindingModel model, bool withParams = true) - { - if (model == null) - { - throw new ArgumentNullException(nameof(model)); - } - - if (!withParams) - { - return; - } - - if (string.IsNullOrEmpty(model.StoreName)) - { - throw new ArgumentNullException("Нет названия магазина", nameof(model.StoreName)); - } - - _logger.LogInformation("Store. StoreName:{StoreName}.StoreAdress:{StoreAdress}. Id: {Id}", model.StoreName, model.StoreAdress, model.Id); - var element = _storeStorage.GetElement(new StoreSearchModel - { - StoreName = model.StoreName - }); - - if (element != null && element.Id != model.Id && element.StoreName == model.StoreName) - { - throw new InvalidOperationException("Магазин с таким названием уже есть"); - } - } - - } -} diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/BindingModels/StoreBindingModel.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/BindingModels/StoreBindingModel.cs deleted file mode 100644 index 1db1c82..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/BindingModels/StoreBindingModel.cs +++ /dev/null @@ -1,22 +0,0 @@ -using JewelryStoreDataModels.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace JewelryStoreContracts.BindingModels -{ - public class StoreBindingModel : IStoreModel - { - public string StoreName { get; set; } = string.Empty; - - public string StoreAdress { get; set; } = string.Empty; - - public DateTime OpeningDate { get; set; } = DateTime.Now; - - public Dictionary Jewels { get; set; } = new(); - - public int Id { get; set; } - } -} diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/BusinessLogicsContracts/IStoreLogic.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/BusinessLogicsContracts/IStoreLogic.cs deleted file mode 100644 index d939ba2..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/BusinessLogicsContracts/IStoreLogic.cs +++ /dev/null @@ -1,22 +0,0 @@ -using JewelryStoreContracts.BindingModels; -using JewelryStoreContracts.SearchModels; -using JewelryStoreContracts.ViewModels; -using JewelryStoreDataModels.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace JewelryStoreContracts.BusinessLogicsContracts -{ - public interface IStoreLogic - { - List? ReadList(StoreSearchModel? model); - StoreViewModel? ReadElement(StoreSearchModel model); - bool Create(StoreBindingModel model); - bool Update(StoreBindingModel model); - bool Delete(StoreBindingModel model); - bool AddJewel(StoreSearchModel model, IJewelModel jewel, int quantity); - } -} diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/SearchModels/StoreSearchModel.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/SearchModels/StoreSearchModel.cs deleted file mode 100644 index 1ffd758..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/SearchModels/StoreSearchModel.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace JewelryStoreContracts.SearchModels -{ - public class StoreSearchModel - { - public int? Id { get; set; } - public string? StoreName { get; set; } - } -} diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/StoragesModels/IStoreStorage.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/StoragesModels/IStoreStorage.cs deleted file mode 100644 index 46b04e8..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/StoragesModels/IStoreStorage.cs +++ /dev/null @@ -1,21 +0,0 @@ -using JewelryStoreContracts.BindingModels; -using JewelryStoreContracts.SearchModels; -using JewelryStoreContracts.ViewModels; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace JewelryStoreContracts.StoragesModels -{ - public interface IStoreStorage - { - List GetFullList(); - List GetFilteredList(StoreSearchModel model); - StoreViewModel? GetElement(StoreSearchModel model); - StoreViewModel? Insert(StoreBindingModel model); - StoreViewModel? Update(StoreBindingModel model); - StoreViewModel? Delete(StoreBindingModel model); - } -} diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/ViewModels/StoreViewModel.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/ViewModels/StoreViewModel.cs deleted file mode 100644 index b04091d..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreContracts/ViewModels/StoreViewModel.cs +++ /dev/null @@ -1,25 +0,0 @@ -using JewelryStoreDataModels.Models; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace JewelryStoreContracts.ViewModels -{ - public class StoreViewModel : IStoreModel - { - public Dictionary Jewels { get; set; } = new(); - public int Id { get; set; } - - [DisplayName("Название магазина")] - public string StoreName { get; set; } = string.Empty; - - [DisplayName("Адрес магазина")] - public string StoreAdress { get; set; } = string.Empty; - - [DisplayName("Дата открытия")] - public DateTime OpeningDate { get; set; } = DateTime.Now; - } -} diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/DataListSingleton.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/DataListSingleton.cs index 896f93f..4630a52 100644 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/DataListSingleton.cs +++ b/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/DataListSingleton.cs @@ -8,14 +8,12 @@ namespace JewelryStoreListImplement public List Components { get; set; } public List Orders { get; set; } public List Jewels { get; set; } - public List Stores { get; set; } private DataListSingleton() { Components = new List(); Orders = new List(); Jewels = new List(); - Stores = new List(); } public static DataListSingleton GetInstance() diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/Implements/StoreStorage.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/Implements/StoreStorage.cs deleted file mode 100644 index 754c185..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/Implements/StoreStorage.cs +++ /dev/null @@ -1,123 +0,0 @@ -using JewelryStoreContracts.BindingModels; -using JewelryStoreContracts.SearchModels; -using JewelryStoreContracts.StoragesModels; -using JewelryStoreContracts.ViewModels; -using JewelryStoreListImplement.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace JewelryStoreListImplement.Implements -{ - public class StoreStorage : IStoreStorage - { - private readonly DataListSingleton _source; - public StoreStorage() - { - _source = DataListSingleton.GetInstance(); - } - public StoreViewModel? Delete(StoreBindingModel model) - { - for (int i = 0; i < _source.Stores.Count; ++i) - { - if (_source.Stores[i].Id == model.Id) - { - var element = _source.Stores[i]; - _source.Stores.RemoveAt(i); - return element.GetViewModel; - } - } - return null; - } - - public StoreViewModel? GetElement(StoreSearchModel model) - { - if (string.IsNullOrEmpty(model.StoreName) && !model.Id.HasValue) - { - return null; - } - - foreach (var store in _source.Stores) - { - if ((!string.IsNullOrEmpty(model.StoreName) && store.StoreName == model.StoreName) || (model.Id.HasValue && store.Id == model.Id)) - { - return store.GetViewModel; - } - } - - return null; - } - - public List GetFilteredList(StoreSearchModel model) - { - var result = new List(); - - if (string.IsNullOrEmpty(model.StoreName)) - { - return result; - } - - foreach (var store in _source.Stores) - { - if (store.StoreName.Contains(model.StoreName)) - { - result.Add(store.GetViewModel); - } - } - - return result; - } - - public List GetFullList() - { - var result = new List(); - - foreach (var store in _source.Stores) - { - result.Add(store.GetViewModel); - } - - return result; - } - - public StoreViewModel? Insert(StoreBindingModel model) - { - model.Id = 1; - - foreach (var store in _source.Stores) - { - if (model.Id <= store.Id) - { - model.Id = store.Id + 1; - } - } - - var newStore = Store.Create(model); - - if (newStore == null) - { - return null; - } - - _source.Stores.Add(newStore); - - return newStore.GetViewModel; - } - - public StoreViewModel? Update(StoreBindingModel model) - { - foreach (var store in _source.Stores) - { - if (store.Id == model.Id) - { - store.Update(model); - return store.GetViewModel; - } - } - - return null; - } - } -} diff --git a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/Models/Store.cs b/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/Models/Store.cs deleted file mode 100644 index 8515902..0000000 --- a/PIbd-23_Panina.A.D_JewelryStore/JewelryStoreListImplement/Models/Store.cs +++ /dev/null @@ -1,59 +0,0 @@ -using JewelryStoreContracts.BindingModels; -using JewelryStoreContracts.ViewModels; -using JewelryStoreDataModels.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace JewelryStoreListImplement.Models -{ - public class Store : IStoreModel - { - public string StoreName { get; private set; } = string.Empty; - public string StoreAdress { get; private set; } = string.Empty; - - public DateTime OpeningDate { get; private set; } - - public Dictionary Jewels { get; private set; } = new(); - - public int Id { get; private set; } - - public static Store? Create(StoreBindingModel? model) - { - if (model == null) - { - return null; - } - return new Store() - { - Id = model.Id, - StoreName = model.StoreName, - StoreAdress = model.StoreAdress, - OpeningDate = model.OpeningDate, - Jewels = new() - }; - } - - public void Update(StoreBindingModel? model) - { - if (model == null) - { - return; - } - StoreName = model.StoreName; - StoreAdress = model.StoreAdress; - OpeningDate = model.OpeningDate; - } - - public StoreViewModel GetViewModel => new() - { - Id = Id, - StoreName = StoreName, - StoreAdress = StoreAdress, - OpeningDate = OpeningDate, - Jewels = Jewels - }; - } -}