Лабораторная работа №7 2

This commit is contained in:
IlyasValiulov 2024-05-10 12:02:55 +04:00
parent 2218bac580
commit af6b779070
5 changed files with 0 additions and 34 deletions

View File

@ -37,21 +37,17 @@ public class ListGenericObjects<T> : ICollectionGenericObjects<T>
} }
public T? Get(int position) public T? Get(int position)
{ {
//TODO выброс ошибки если выход за границу
if (position >= Count || position < 0) throw new PositionOutOfCollectionException(position); if (position >= Count || position < 0) throw new PositionOutOfCollectionException(position);
return _collection[position]; return _collection[position];
} }
public int Insert(T obj) public int Insert(T obj)
{ {
// TODO выброс ошибки если переполнение
if (Count == _maxCount) throw new CollectionOverflowException(Count); if (Count == _maxCount) throw new CollectionOverflowException(Count);
_collection.Add(obj); _collection.Add(obj);
return Count; return Count;
} }
public int Insert(T obj, int position) public int Insert(T obj, int position)
{ {
// TODO выброс ошибки если переполнение
// TODO выброс ошибки если за границу
if (Count == _maxCount) throw new CollectionOverflowException(Count); if (Count == _maxCount) throw new CollectionOverflowException(Count);
if (position >= Count || position < 0) throw new PositionOutOfCollectionException(position); if (position >= Count || position < 0) throw new PositionOutOfCollectionException(position);
_collection.Insert(position, obj); _collection.Insert(position, obj);
@ -59,7 +55,6 @@ public class ListGenericObjects<T> : ICollectionGenericObjects<T>
} }
public T Remove(int position) public T Remove(int position)
{ {
// TODO если выброс за границу
if (position >= Count || position < 0) throw new PositionOutOfCollectionException(position); if (position >= Count || position < 0) throw new PositionOutOfCollectionException(position);
T obj = _collection[position]; T obj = _collection[position];
_collection.RemoveAt(position); _collection.RemoveAt(position);

View File

@ -41,15 +41,12 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
} }
public T Get(int position) public T Get(int position)
{ {
// TODO выброс ошибки если выход за границу
// TODO выброс ошибки если объект пустой
if (position >= _collection.Length || position < 0) throw new PositionOutOfCollectionException(position); if (position >= _collection.Length || position < 0) throw new PositionOutOfCollectionException(position);
if (_collection[position] == null) throw new ObjectNotFoundException(position); if (_collection[position] == null) throw new ObjectNotFoundException(position);
return _collection[position]; return _collection[position];
} }
public int Insert(T obj) public int Insert(T obj)
{ {
// TODO выброс ошибки если переполнение
int index = 0; int index = 0;
while (index < _collection.Length) while (index < _collection.Length)
{ {
@ -64,8 +61,6 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
} }
public int Insert(T obj, int position) public int Insert(T obj, int position)
{ {
// TODO выброс ошибки если переполнение
// TODO выброс ошибки если выход за границу
if (position >= _collection.Length || position < 0) throw new PositionOutOfCollectionException(position); if (position >= _collection.Length || position < 0) throw new PositionOutOfCollectionException(position);
if (_collection[position] == null) { if (_collection[position] == null) {
_collection[position] = obj; _collection[position] = obj;
@ -95,8 +90,6 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
} }
public T Remove(int position) public T Remove(int position)
{ {
// TODO выброс ошибки если выход за границу
// TODO выброс ошибки если объект пустой
if (position >= _collection.Length || position < 0) throw new PositionOutOfCollectionException(position); if (position >= _collection.Length || position < 0) throw new PositionOutOfCollectionException(position);
if (_collection[position] == null) throw new ObjectNotFoundException(position); if (_collection[position] == null) throw new ObjectNotFoundException(position);
T obj = _collection[position]; T obj = _collection[position];

View File

@ -1,7 +1,5 @@
using ProjectWarmlyShip.Drawnings; using ProjectWarmlyShip.Drawnings;
using ProjectWarmlyShip.Exceptions; using ProjectWarmlyShip.Exceptions;
using System.Text;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace ProjectWarmlyShip.CollectionGenericObjects; namespace ProjectWarmlyShip.CollectionGenericObjects;
@ -30,8 +28,6 @@ public class StorageCollection<T>
/// <param name="collectionType">тип коллекции</param> /// <param name="collectionType">тип коллекции</param>
public void AddCollection(string name, CollectionType collectionType) public void AddCollection(string name, CollectionType collectionType)
{ {
// TODO проверка, что name не пустой и нет в словаре записи с таким ключом
// TODO Прописать логику для добавления
if (_storages.ContainsKey(name)) return; if (_storages.ContainsKey(name)) return;
if (collectionType == CollectionType.None) return; if (collectionType == CollectionType.None) return;
else if (collectionType == CollectionType.Massive) else if (collectionType == CollectionType.Massive)
@ -45,8 +41,6 @@ public class StorageCollection<T>
/// <param name="name">Название коллекции</param> /// <param name="name">Название коллекции</param>
public void DelCollection(string name) public void DelCollection(string name)
{ {
// TODO Прописать логику для удаления коллекции
if (_storages.ContainsKey(name)) if (_storages.ContainsKey(name))
_storages.Remove(name); _storages.Remove(name);
} }
@ -59,7 +53,6 @@ public class StorageCollection<T>
{ {
get get
{ {
// TODO Продумать логику получения объекта
if (_storages.ContainsKey(name)) if (_storages.ContainsKey(name))
return _storages[name]; return _storages[name];
return null; return null;
@ -97,7 +90,6 @@ public class StorageCollection<T>
foreach (KeyValuePair<string, ICollectionGenericObjects<T>> value in _storages) foreach (KeyValuePair<string, ICollectionGenericObjects<T>> value in _storages)
{ {
writer.Write(Environment.NewLine); writer.Write(Environment.NewLine);
// не сохраняем пустые коллекции
if (value.Value.Count == 0) if (value.Value.Count == 0)
{ {
continue; continue;

View File

@ -24,7 +24,6 @@ public partial class FormShipCollection : Form
private void buttonAddShip_Click(object sender, EventArgs e) private void buttonAddShip_Click(object sender, EventArgs e)
{ {
FormShipConfig form = new(); FormShipConfig form = new();
// TODO передать метод
form.Show(); form.Show();
form.AddEvent(SetShip); form.AddEvent(SetShip);
} }
@ -156,10 +155,6 @@ public partial class FormShipCollection : Form
} }
private void buttonCollectionDel_Click(object sender, EventArgs e) private void buttonCollectionDel_Click(object sender, EventArgs e)
{ {
// TODO прописать логику удаления элемента из коллекции
// нужно убедиться, что есть выбранная коллекция
// спросить у пользователя через MessageBox, что он подтверждает, что хочет удалить запись
// удалить и обновить ListBox
if (listBoxCollection.SelectedIndex < 0 || listBoxCollection.SelectedItem == null) if (listBoxCollection.SelectedIndex < 0 || listBoxCollection.SelectedItem == null)
{ {
MessageBox.Show("Коллекция не выбрана"); MessageBox.Show("Коллекция не выбрана");

View File

@ -25,15 +25,6 @@ namespace ProjectWarmlyShip
} }
private static void ConfigureServices(ServiceCollection services) private static void ConfigureServices(ServiceCollection services)
{ {
//services.AddSingleton<FormShipCollection>()
// .AddLogging(option =>
// {
// option.SetMinimumLevel(LogLevel.Information);
// option.AddSerilog(new LoggerConfiguration()
// .WriteTo.File("log.txt")
// .CreateLogger());
// });
string[] path = Directory.GetCurrentDirectory().Split('\\'); string[] path = Directory.GetCurrentDirectory().Split('\\');
string pathNeed = ""; string pathNeed = "";
for (int i = 0; i < path.Length - 3; i++) for (int i = 0; i < path.Length - 3; i++)