FinalLabWork4
This commit is contained in:
parent
f4307c9c87
commit
7aa716fd79
@ -61,6 +61,7 @@ public abstract class AbstractCompany
|
||||
/// <returns></returns>
|
||||
public static int operator +(AbstractCompany company, DrawningLocomotive locomotive)
|
||||
{
|
||||
|
||||
return company._collection.Insert(locomotive);
|
||||
}
|
||||
/// <summary>
|
||||
|
@ -32,27 +32,47 @@ namespace ProjectElectricLocomotive.CollectionGenericObjects
|
||||
}
|
||||
public T? Get(int position)
|
||||
{
|
||||
if(position >= 0 && position < Count)
|
||||
{
|
||||
return _collection[position];
|
||||
}
|
||||
// TODO проверка позиции
|
||||
return _collection[position];
|
||||
return null;
|
||||
}
|
||||
public int Insert(T obj)
|
||||
{
|
||||
if(Count <= _maxCount)
|
||||
{
|
||||
_collection.Add(obj);
|
||||
return Count;
|
||||
}
|
||||
// TODO проверка, что не превышено максимальное количество элементов
|
||||
// TODO вставка в конец набора
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
public int Insert(T obj, int position)
|
||||
{
|
||||
if(Count <= _maxCount)
|
||||
{
|
||||
_collection.Insert(position, obj);
|
||||
return position;
|
||||
}
|
||||
// TODO проверка, что не превышено максимальное количество элементов
|
||||
// TODO проверка позиции
|
||||
// TODO вставка по позиции
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
public T Remove(int position)
|
||||
{
|
||||
if(position >= 0 && position <= _maxCount)
|
||||
{
|
||||
T ret = _collection[position];
|
||||
_collection.RemoveAt(position);
|
||||
return ret;
|
||||
}
|
||||
// TODO проверка позиции
|
||||
// TODO удаление объекта из списка
|
||||
return (T)1;
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -13,6 +13,7 @@ namespace ProjectElectricLocomotive.CollectionGenericObjects;
|
||||
public class StorageCollection<T>
|
||||
where T : class
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Словарь (хранилище) с коллекциями
|
||||
/// </summary>
|
||||
@ -35,6 +36,16 @@ where T : class
|
||||
/// <param name="collectionType">тип коллекции</param>
|
||||
public void AddCollection(string name, CollectionType collectionType)
|
||||
{
|
||||
if(collectionType != CollectionType.None && !_storages.ContainsKey(name)) {
|
||||
if(collectionType == CollectionType.List)
|
||||
{
|
||||
_storages.Add(name, new ListGenericObjects<T>());
|
||||
}
|
||||
else if (collectionType == CollectionType.Massive)
|
||||
{
|
||||
_storages.Add(name, new MassiveGenericObjects<T>());
|
||||
}
|
||||
}
|
||||
// TODO проверка, что name не пустой и нет в словаре записи с таким ключом
|
||||
// TODO Прописать логику для добавления
|
||||
}
|
||||
@ -44,6 +55,10 @@ where T : class
|
||||
/// <param name="name">Название коллекции</param>
|
||||
public void DelCollection(string name)
|
||||
{
|
||||
if (_storages.ContainsKey(name))
|
||||
{
|
||||
_storages.Remove(name);
|
||||
}
|
||||
// TODO Прописать логику для удаления коллекции
|
||||
}
|
||||
/// <summary>
|
||||
@ -55,8 +70,13 @@ where T : class
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_storages.ContainsKey(name))
|
||||
{
|
||||
return _storages[name];
|
||||
}
|
||||
// TODO Продумать логику получения объекта
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -240,7 +240,7 @@ public partial class FormLocomotiveCollection : Form
|
||||
}
|
||||
switch (comboBoxSelectorCompany.Text)
|
||||
{
|
||||
case "Хранилище":
|
||||
case "Депо":
|
||||
_company = new LocomotiveDepo(pictureBox.Width,
|
||||
pictureBox.Height, collection);
|
||||
break;
|
||||
@ -258,7 +258,17 @@ public partial class FormLocomotiveCollection : Form
|
||||
/// <param name="e"></param>
|
||||
private void buttonCollectionDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
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();
|
||||
// TODO прописать логику удаления элемента из коллекции
|
||||
// нужно убедиться, что есть выбранная коллекция
|
||||
// спросить у пользователя через MessageBox, что он подтверждает, что хочет удалить запись
|
||||
|
Loading…
Reference in New Issue
Block a user