From ff1e1066b654895d593c8ee80288cbf985db5337 Mon Sep 17 00:00:00 2001 From: Vladislav_396ntk Date: Mon, 15 Apr 2024 14:25:51 +0400 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B4=D0=B5=D0=BB=D0=B0=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractCompany.cs | 4 +- .../StorageCollection.cs | 23 ++++-------- .../FormCarCollection.Designer.cs | 37 ++++++++++--------- .../HoistingCrane/FormCarCollection.cs | 27 +++++++------- 4 files changed, 42 insertions(+), 49 deletions(-) diff --git a/HoistingCrane/HoistingCrane/CollectionGenericObjects/AbstractCompany.cs b/HoistingCrane/HoistingCrane/CollectionGenericObjects/AbstractCompany.cs index 7ed15c5..7c3b27e 100644 --- a/HoistingCrane/HoistingCrane/CollectionGenericObjects/AbstractCompany.cs +++ b/HoistingCrane/HoistingCrane/CollectionGenericObjects/AbstractCompany.cs @@ -23,7 +23,7 @@ namespace HoistingCrane.CollectionGenericObjects /// /// Коллекция автомобилей /// - protected ICollectionGenericObjects? arr = null; + protected ICollectionGenericObjects? arr = null; /// /// Максимальное количество гаражей /// @@ -48,7 +48,7 @@ namespace HoistingCrane.CollectionGenericObjects } public static DrawningTrackedVehicle operator -(AbstractCompany company, int position) { - return company.arr?.Remove(position) ?? null; + return company.arr?.Remove(position); } public DrawningTrackedVehicle? GetRandomObject() diff --git a/HoistingCrane/HoistingCrane/CollectionGenericObjects/StorageCollection.cs b/HoistingCrane/HoistingCrane/CollectionGenericObjects/StorageCollection.cs index 8e756d9..d007069 100644 --- a/HoistingCrane/HoistingCrane/CollectionGenericObjects/StorageCollection.cs +++ b/HoistingCrane/HoistingCrane/CollectionGenericObjects/StorageCollection.cs @@ -27,17 +27,12 @@ namespace HoistingCrane.CollectionGenericObjects { // TODO проверка, что name не пустой и нет в словаре записи с таким ключом // TODO Прописать логику для добавления - if (!string.IsNullOrEmpty(name) && !Keys.Contains(name)) - { - if(collectionType == CollectionType.Massive) - { - dict.Add(name, new MassivGenericObjects ()); - } - if(collectionType == CollectionType.List) - { - dict.Add(name, new ListGenericObjects ()); - } - } + if (dict.ContainsKey(name)) return; + if (collectionType == CollectionType.None) return; + else if (collectionType == CollectionType.Massive) + dict[name] = new MassivGenericObjects(); + else if (collectionType == CollectionType.List) + dict[name] = new ListGenericObjects(); } /// /// Удаление коллекции @@ -62,10 +57,8 @@ namespace HoistingCrane.CollectionGenericObjects get { // TODO Продумать логику получения объекта - if (dict.TryGetValue(name, out ICollectionGenericObjects? result)) - { - return result; - } + if (dict.ContainsKey(name)) + return dict[name]; return null; } } diff --git a/HoistingCrane/HoistingCrane/FormCarCollection.Designer.cs b/HoistingCrane/HoistingCrane/FormCarCollection.Designer.cs index 8ef2c7f..e836b45 100644 --- a/HoistingCrane/HoistingCrane/FormCarCollection.Designer.cs +++ b/HoistingCrane/HoistingCrane/FormCarCollection.Designer.cs @@ -29,8 +29,8 @@ private void InitializeComponent() { groupBoxTools = new GroupBox(); - panelCompanyTool = new Panel(); buttonCreateCompany = new Button(); + panelCompanyTool = new Panel(); buttonRefresh = new Button(); buttonGoToChek = new Button(); buttonCreateHoistingCrane = new Button(); @@ -67,20 +67,6 @@ groupBoxTools.TabStop = false; groupBoxTools.Text = "Инструменты"; // - // panelCompanyTool - // - panelCompanyTool.Anchor = AnchorStyles.None; - panelCompanyTool.Controls.Add(buttonRefresh); - panelCompanyTool.Controls.Add(buttonGoToChek); - panelCompanyTool.Controls.Add(buttonCreateHoistingCrane); - panelCompanyTool.Controls.Add(buttonCreateTrackedVehicle); - panelCompanyTool.Controls.Add(buttonDeleteCar); - panelCompanyTool.Controls.Add(maskedTextBox); - panelCompanyTool.Location = new Point(3, 317); - panelCompanyTool.Name = "panelCompanyTool"; - panelCompanyTool.Size = new Size(208, 238); - panelCompanyTool.TabIndex = 8; - // // buttonCreateCompany // buttonCreateCompany.Location = new Point(12, 288); @@ -91,6 +77,21 @@ buttonCreateCompany.UseVisualStyleBackColor = true; buttonCreateCompany.Click += buttonCreateCompany_Click; // + // panelCompanyTool + // + panelCompanyTool.Anchor = AnchorStyles.None; + panelCompanyTool.Controls.Add(buttonRefresh); + panelCompanyTool.Controls.Add(buttonGoToChek); + panelCompanyTool.Controls.Add(buttonCreateHoistingCrane); + panelCompanyTool.Controls.Add(buttonCreateTrackedVehicle); + panelCompanyTool.Controls.Add(buttonDeleteCar); + panelCompanyTool.Controls.Add(maskedTextBox); + panelCompanyTool.Enabled = false; + panelCompanyTool.Location = new Point(3, 317); + panelCompanyTool.Name = "panelCompanyTool"; + panelCompanyTool.Size = new Size(208, 238); + panelCompanyTool.TabIndex = 8; + // // buttonRefresh // buttonRefresh.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; @@ -204,7 +205,7 @@ radioButtonList.AutoSize = true; radioButtonList.Location = new Point(128, 56); radioButtonList.Name = "radioButtonList"; - radioButtonList.Size = new Size(67, 19); + radioButtonList.Size = new Size(66, 19); radioButtonList.TabIndex = 3; radioButtonList.TabStop = true; radioButtonList.Text = "Список"; @@ -215,7 +216,7 @@ radioButtonMassive.AutoSize = true; radioButtonMassive.Location = new Point(18, 56); radioButtonMassive.Name = "radioButtonMassive"; - radioButtonMassive.Size = new Size(69, 19); + radioButtonMassive.Size = new Size(67, 19); radioButtonMassive.TabIndex = 2; radioButtonMassive.TabStop = true; radioButtonMassive.Text = "Массив"; @@ -233,7 +234,7 @@ labelCollectionName.AutoSize = true; labelCollectionName.Location = new Point(35, 0); labelCollectionName.Name = "labelCollectionName"; - labelCollectionName.Size = new Size(135, 15); + labelCollectionName.Size = new Size(125, 15); labelCollectionName.TabIndex = 0; labelCollectionName.Text = "Название коллекции:"; // diff --git a/HoistingCrane/HoistingCrane/FormCarCollection.cs b/HoistingCrane/HoistingCrane/FormCarCollection.cs index 7e10c97..8ca2035 100644 --- a/HoistingCrane/HoistingCrane/FormCarCollection.cs +++ b/HoistingCrane/HoistingCrane/FormCarCollection.cs @@ -1,32 +1,24 @@ using HoistingCrane.CollectionGenericObjects; using HoistingCrane.Drawning; -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 HoistingCrane { public partial class FormCarCollection : Form { - private AbstractCompany? _company; + private AbstractCompany? _company = null; private readonly StorageCollection _storageCollection; + public FormCarCollection() { InitializeComponent(); _storageCollection = new(); - panelCompanyTool.Enabled = false; } + private void comboBoxSelectorCompany_SelectedIndexChanged(object sender, EventArgs e) { panelCompanyTool.Enabled = false; } + private void CreateObject(string type) { DrawningTrackedVehicle drawning; @@ -146,19 +138,26 @@ namespace HoistingCrane { collectionType = CollectionType.List; } - _storageCollection.AddCollection(textBoxCollectionName.Text, - collectionType); + _storageCollection.AddCollection(textBoxCollectionName.Text, collectionType); RerfreshListBoxItems(); } private void buttonDeleteCollection_Click(object sender, EventArgs e) { + // TODO прописать логику удаления элемента из коллекции + // нужно убедиться, что есть выбранная коллекция + // спросить у пользователя через MessageBox, что он подтверждает, что хочет удалить запись + // удалить и обновить ListBox + if (listBoxCollection.SelectedIndex < 0 || listBoxCollection.SelectedItem == null) { MessageBox.Show("Коллекция не выбрана"); return; } + if (MessageBox.Show("Удалить коллекцию?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) + { return; + } _storageCollection.DelCollection(listBoxCollection.SelectedItem.ToString()); RerfreshListBoxItems(); }