слияние
This commit is contained in:
commit
e4ffccbd5b
@ -2,8 +2,17 @@
|
|||||||
|
|
||||||
namespace ProjectSportCar.CollectionGenericObjects;
|
namespace ProjectSportCar.CollectionGenericObjects;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Реализация абстрактной компании - каршеринг
|
||||||
|
/// </summary>
|
||||||
public class CarSharingService : AbstractCompany
|
public class CarSharingService : AbstractCompany
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Конструктор
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="picWidth"></param>
|
||||||
|
/// <param name="picHeight"></param>
|
||||||
|
/// <param name="collection"></param>
|
||||||
public CarSharingService(int picWidth, int picHeight, ICollectionGenericObjects<DrawningCar> collection) : base(picWidth, picHeight, collection)
|
public CarSharingService(int picWidth, int picHeight, ICollectionGenericObjects<DrawningCar> collection) : base(picWidth, picHeight, collection)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
using ProjectSportCar.Drawnings;
|
namespace ProjectSportCar.CollectionGenericObjects;
|
||||||
|
|
||||||
namespace ProjectSportCar.CollectionGenericObjects;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Параметризованный набор объектов
|
/// Параметризованный набор объектов
|
||||||
@ -21,7 +19,20 @@ public class ListGenericObjects<T> : ICollectionGenericObjects<T>
|
|||||||
|
|
||||||
public int Count => _collection.Count;
|
public int Count => _collection.Count;
|
||||||
|
|
||||||
public int SetMaxCount { set { if (value > 0) { _maxCount = value; } } }
|
public int MaxCount
|
||||||
|
{
|
||||||
|
get => _maxCount;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (value > 0)
|
||||||
|
{
|
||||||
|
_maxCount = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public CollectionType GetCollectionType => throw new NotImplementedException();
|
||||||
|
|
||||||
public int MaxCount { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
public int MaxCount { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
||||||
|
|
||||||
@ -38,15 +49,14 @@ public class ListGenericObjects<T> : ICollectionGenericObjects<T>
|
|||||||
public T? Get(int position)
|
public T? Get(int position)
|
||||||
{
|
{
|
||||||
// TODO проверка позиции
|
// TODO проверка позиции
|
||||||
// TODO выборс ошибки, если выход за границы массива
|
// TODO выброс ошибки, если выход за границы массива
|
||||||
return _collection[position];
|
return _collection[position];
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Insert(T obj, IEqualityComparer<DrawningCar?>? comparer = null)
|
public bool Insert(T obj, IEqualityComparer<DrawningCar?>? comparer = null)
|
||||||
{
|
{
|
||||||
// TODO проверка, что не превышено максимальное количество элементов
|
// TODO проверка, что не превышено максимальное количество элементов
|
||||||
// TODO выборс ошибки, если переполнение
|
// TODO выброс ошибки, если переполнение
|
||||||
// TODO выборс ошибки, если такой объект есть в коллекции
|
|
||||||
// TODO вставка в конец набора
|
// TODO вставка в конец набора
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -54,7 +64,7 @@ public class ListGenericObjects<T> : ICollectionGenericObjects<T>
|
|||||||
public bool Insert(T obj, int position, IEqualityComparer<DrawningCar?>? comparer = null)
|
public bool Insert(T obj, int position, IEqualityComparer<DrawningCar?>? comparer = null)
|
||||||
{
|
{
|
||||||
// TODO проверка, что не превышено максимальное количество элементов
|
// TODO проверка, что не превышено максимальное количество элементов
|
||||||
// TODO выборс ошибки, если такой объект есть в коллекции
|
// TODO выброс ошибки, если переполнение
|
||||||
// TODO проверка позиции
|
// TODO проверка позиции
|
||||||
// TODO вставка по позиции
|
// TODO вставка по позиции
|
||||||
return true;
|
return true;
|
||||||
@ -63,7 +73,7 @@ public class ListGenericObjects<T> : ICollectionGenericObjects<T>
|
|||||||
public bool Remove(int position)
|
public bool Remove(int position)
|
||||||
{
|
{
|
||||||
// TODO проверка позиции
|
// TODO проверка позиции
|
||||||
// TODO выборс ошибки, если выход за границы массива
|
// TODO выброс ошибки, если выход за границы массива
|
||||||
// TODO удаление объекта из списка
|
// TODO удаление объекта из списка
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -23,12 +23,18 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
|
|||||||
{
|
{
|
||||||
return _collection.Length;
|
return _collection.Length;
|
||||||
}
|
}
|
||||||
|
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (value > 0)
|
if (value > 0)
|
||||||
{
|
{
|
||||||
_collection = new T?[value];
|
if (_collection.Length > 0)
|
||||||
|
{
|
||||||
|
Array.Resize(ref _collection, value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_collection = new T?[value];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -46,16 +52,15 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
|
|||||||
public T? Get(int position)
|
public T? Get(int position)
|
||||||
{
|
{
|
||||||
// TODO проверка позиции
|
// TODO проверка позиции
|
||||||
// TODO выборс ошибки, если выход за границы массива
|
// TODO выброс ошибки, если выход за границы массива
|
||||||
// TODO выборс ошибки, если объект пустой
|
// TODO выброс ошибки, если объект пустой
|
||||||
return _collection[position];
|
return _collection[position];
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Insert(T obj, IEqualityComparer<DrawningCar?>? comparer = null)
|
public bool Insert(T obj, IEqualityComparer<DrawningCar?>? comparer = null)
|
||||||
{
|
{
|
||||||
// TODO вставка в свободное место набора
|
// TODO вставка в свободное место набора
|
||||||
// TODO выборс ошибки, если переполнение
|
// TODO выброс ошибки, если переполнение
|
||||||
// TODO выборс ошибки, если такой объект есть в коллекции
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,11 +68,11 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
|
|||||||
{
|
{
|
||||||
// TODO выборс ошибки, если такой объект есть в коллекции
|
// TODO выборс ошибки, если такой объект есть в коллекции
|
||||||
// TODO проверка позиции
|
// TODO проверка позиции
|
||||||
// TODO выборс ошибки, если выход за границы массива
|
// TODO выброс ошибки, если выход за границы массива
|
||||||
// TODO проверка, что элемент массива по этой позиции пустой, если нет, то
|
// TODO проверка, что элемент массива по этой позиции пустой, если нет, то
|
||||||
// ищется свободное место после этой позиции и идет вставка туда
|
// ищется свободное место после этой позиции и идет вставка туда
|
||||||
// если нет после, ищем до
|
// если нет после, ищем до
|
||||||
// TODO выборс ошибки, если переполнение
|
// TODO выброс ошибки, если переполнение
|
||||||
// TODO вставка
|
// TODO вставка
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -75,9 +80,9 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
|
|||||||
public bool Remove(int position)
|
public bool Remove(int position)
|
||||||
{
|
{
|
||||||
// TODO проверка позиции
|
// TODO проверка позиции
|
||||||
// TODO выборс ошибки, если выход за границы массива
|
// TODO выброс ошибки, если выход за границы массива
|
||||||
// TODO выборс ошибки, если объект пустой
|
// TODO выброс ошибки, если объект пустой
|
||||||
// TODO удаление объекта из массива, присовив элементу массива значение null
|
// TODO удаление объекта из массива, присвоив элементу массива значение null
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ public class StorageCollection<T>
|
|||||||
CollectionInfo? collectionInfo = CollectionInfo.GetCollectionInfo(record[0]) ??
|
CollectionInfo? collectionInfo = CollectionInfo.GetCollectionInfo(record[0]) ??
|
||||||
throw new Exception("Не удалось определить информацию коллекции:" + record[0]);
|
throw new Exception("Не удалось определить информацию коллекции:" + record[0]);
|
||||||
ICollectionGenericObjects<T>? collection = StorageCollection<T>.CreateCollection(collectionInfo.CollectionType) ??
|
ICollectionGenericObjects<T>? collection = StorageCollection<T>.CreateCollection(collectionInfo.CollectionType) ??
|
||||||
throw new Exception("Не удалось создать коллекцию");
|
throw new Exception("Не удалось определить тип коллекции:" + record[1]);
|
||||||
collection.MaxCount = Convert.ToInt32(record[1]);
|
collection.MaxCount = Convert.ToInt32(record[1]);
|
||||||
|
|
||||||
string[] set = record[2].Split(_separatorItems, StringSplitOptions.RemoveEmptyEntries);
|
string[] set = record[2].Split(_separatorItems, StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
@ -84,6 +84,15 @@ public class DrawningCar
|
|||||||
EntityCar = new EntityCar(speed, weight, bodyColor);
|
EntityCar = new EntityCar(speed, weight, bodyColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Конструктор
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="car">Класс-сущность</param>
|
||||||
|
public DrawningCar(EntityCar car) : this()
|
||||||
|
{
|
||||||
|
// TODO продумать логику
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Конструктор для наследников
|
/// Конструктор для наследников
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -20,7 +20,16 @@ public class DrawningSportCar : DrawningCar
|
|||||||
public DrawningSportCar(int speed, double weight, Color bodyColor, Color additionalColor, bool bodyKit, bool wing, bool sportLine) : base(110, 60)
|
public DrawningSportCar(int speed, double weight, Color bodyColor, Color additionalColor, bool bodyKit, bool wing, bool sportLine) : base(110, 60)
|
||||||
{
|
{
|
||||||
EntityCar = new EntitySportCar(speed, weight, bodyColor, additionalColor, bodyKit, wing, sportLine);
|
EntityCar = new EntitySportCar(speed, weight, bodyColor, additionalColor, bodyKit, wing, sportLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Конструктор
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="car">Класс-сущность</param>
|
||||||
|
public DrawningSportCar(EntityCar car) : base(110, 60)
|
||||||
|
{
|
||||||
|
// TODO продумать логику
|
||||||
|
}
|
||||||
|
|
||||||
public override void DrawTransport(Graphics g)
|
public override void DrawTransport(Graphics g)
|
||||||
{
|
{
|
||||||
|
@ -38,6 +38,8 @@ public class EntityCar
|
|||||||
BodyColor = bodyColor;
|
BodyColor = bodyColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO Прописать метод
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получение строк со значениями свойств объекта класса-сущности
|
/// Получение строк со значениями свойств объекта класса-сущности
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -26,7 +26,7 @@ public class EntitySportCar : EntityCar
|
|||||||
public bool SportLine { get; private set; }
|
public bool SportLine { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Инициализация полей объекта-класса спортивного автомобиля
|
/// Конструктор сущности
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="speed">Скорость</param>
|
/// <param name="speed">Скорость</param>
|
||||||
/// <param name="weight">Вес автомобиля</param>
|
/// <param name="weight">Вес автомобиля</param>
|
||||||
@ -35,11 +35,24 @@ public class EntitySportCar : EntityCar
|
|||||||
/// <param name="bodyKit">Признак наличия обвеса</param>
|
/// <param name="bodyKit">Признак наличия обвеса</param>
|
||||||
/// <param name="wing">Признак наличия антикрыла</param>
|
/// <param name="wing">Признак наличия антикрыла</param>
|
||||||
/// <param name="sportLine">Признак наличия гоночной полосы</param>
|
/// <param name="sportLine">Признак наличия гоночной полосы</param>
|
||||||
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool bodyKit, bool wing, bool sportLine)
|
public EntitySportCar(int speed, double weight, Color bodyColor, Color additionalColor, bool bodyKit, bool wing, bool sportLine) : base(0, 0, Color.Black)
|
||||||
{
|
{
|
||||||
AdditionalColor = additionalColor;
|
AdditionalColor = additionalColor;
|
||||||
BodyKit = bodyKit;
|
BodyKit = bodyKit;
|
||||||
Wing = wing;
|
Wing = wing;
|
||||||
SportLine = sportLine;
|
SportLine = sportLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO Прописать метод
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Создание объекта из массива строк
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="strs"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static EntitySportCar? CreateEntitySportCar(string[] strs)
|
||||||
|
{
|
||||||
|
// TODO продумать логику
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
@ -8,7 +8,7 @@ namespace ProjectSportCar.Exceptions;
|
|||||||
[Serializable]
|
[Serializable]
|
||||||
internal class CollectionOverflowException : ApplicationException
|
internal class CollectionOverflowException : ApplicationException
|
||||||
{
|
{
|
||||||
public CollectionOverflowException(int count) : base("В коллекции превышено допустимое количество: count" + count) { }
|
public CollectionOverflowException(int count) : base("В коллекции превышено допустимое количество: " + count) { }
|
||||||
|
|
||||||
public CollectionOverflowException() : base() { }
|
public CollectionOverflowException() : base() { }
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@
|
|||||||
panelCompanyTools.Controls.Add(buttonGoToCheck);
|
panelCompanyTools.Controls.Add(buttonGoToCheck);
|
||||||
panelCompanyTools.Dock = DockStyle.Bottom;
|
panelCompanyTools.Dock = DockStyle.Bottom;
|
||||||
panelCompanyTools.Enabled = false;
|
panelCompanyTools.Enabled = false;
|
||||||
panelCompanyTools.Location = new Point(3, 349);
|
panelCompanyTools.Location = new Point(3, 336);
|
||||||
panelCompanyTools.Name = "panelCompanyTools";
|
panelCompanyTools.Name = "panelCompanyTools";
|
||||||
panelCompanyTools.Size = new Size(173, 299);
|
panelCompanyTools.Size = new Size(173, 299);
|
||||||
panelCompanyTools.TabIndex = 9;
|
panelCompanyTools.TabIndex = 9;
|
||||||
@ -253,7 +253,7 @@
|
|||||||
pictureBox.Dock = DockStyle.Fill;
|
pictureBox.Dock = DockStyle.Fill;
|
||||||
pictureBox.Location = new Point(0, 24);
|
pictureBox.Location = new Point(0, 24);
|
||||||
pictureBox.Name = "pictureBox";
|
pictureBox.Name = "pictureBox";
|
||||||
pictureBox.Size = new Size(783, 651);
|
pictureBox.Size = new Size(783, 592);
|
||||||
pictureBox.TabIndex = 1;
|
pictureBox.TabIndex = 1;
|
||||||
pictureBox.TabStop = false;
|
pictureBox.TabStop = false;
|
||||||
//
|
//
|
||||||
@ -323,7 +323,7 @@
|
|||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||||
AutoScaleMode = AutoScaleMode.Font;
|
AutoScaleMode = AutoScaleMode.Font;
|
||||||
ClientSize = new Size(962, 675);
|
ClientSize = new Size(962, 616);
|
||||||
Controls.Add(pictureBox);
|
Controls.Add(pictureBox);
|
||||||
Controls.Add(groupBoxTools);
|
Controls.Add(groupBoxTools);
|
||||||
Controls.Add(menuStrip);
|
Controls.Add(menuStrip);
|
||||||
|
@ -60,7 +60,7 @@ public partial class FormCarCollection : Form
|
|||||||
/// Добавление автомобиля в коллекцию
|
/// Добавление автомобиля в коллекцию
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="car"></param>
|
/// <param name="car"></param>
|
||||||
private void SetCar(DrawningCar car)
|
private void SetCar(DrawningCar? car)
|
||||||
{
|
{
|
||||||
if (_company == null || car == null)
|
if (_company == null || car == null)
|
||||||
{
|
{
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
panelPurple = new Panel();
|
panelPurple = new Panel();
|
||||||
panelYellow = new Panel();
|
panelYellow = new Panel();
|
||||||
panelBlack = new Panel();
|
panelBlack = new Panel();
|
||||||
panelGrey = new Panel();
|
panelGray = new Panel();
|
||||||
panelBlue = new Panel();
|
panelBlue = new Panel();
|
||||||
panelWhite = new Panel();
|
panelWhite = new Panel();
|
||||||
panelGreen = new Panel();
|
panelGreen = new Panel();
|
||||||
@ -86,7 +86,7 @@
|
|||||||
groupBoxColors.Controls.Add(panelPurple);
|
groupBoxColors.Controls.Add(panelPurple);
|
||||||
groupBoxColors.Controls.Add(panelYellow);
|
groupBoxColors.Controls.Add(panelYellow);
|
||||||
groupBoxColors.Controls.Add(panelBlack);
|
groupBoxColors.Controls.Add(panelBlack);
|
||||||
groupBoxColors.Controls.Add(panelGrey);
|
groupBoxColors.Controls.Add(panelGray);
|
||||||
groupBoxColors.Controls.Add(panelBlue);
|
groupBoxColors.Controls.Add(panelBlue);
|
||||||
groupBoxColors.Controls.Add(panelWhite);
|
groupBoxColors.Controls.Add(panelWhite);
|
||||||
groupBoxColors.Controls.Add(panelGreen);
|
groupBoxColors.Controls.Add(panelGreen);
|
||||||
@ -122,13 +122,13 @@
|
|||||||
panelBlack.Size = new Size(34, 34);
|
panelBlack.Size = new Size(34, 34);
|
||||||
panelBlack.TabIndex = 4;
|
panelBlack.TabIndex = 4;
|
||||||
//
|
//
|
||||||
// panelGrey
|
// panelGray
|
||||||
//
|
//
|
||||||
panelGrey.BackColor = Color.Gray;
|
panelGray.BackColor = Color.Gray;
|
||||||
panelGrey.Location = new Point(67, 66);
|
panelGray.Location = new Point(67, 66);
|
||||||
panelGrey.Name = "panelGrey";
|
panelGray.Name = "panelGray";
|
||||||
panelGrey.Size = new Size(34, 34);
|
panelGray.Size = new Size(34, 34);
|
||||||
panelGrey.TabIndex = 5;
|
panelGray.TabIndex = 5;
|
||||||
//
|
//
|
||||||
// panelBlue
|
// panelBlue
|
||||||
//
|
//
|
||||||
@ -349,7 +349,7 @@
|
|||||||
private Panel panelPurple;
|
private Panel panelPurple;
|
||||||
private Panel panelYellow;
|
private Panel panelYellow;
|
||||||
private Panel panelBlack;
|
private Panel panelBlack;
|
||||||
private Panel panelGrey;
|
private Panel panelGray;
|
||||||
private Panel panelBlue;
|
private Panel panelBlue;
|
||||||
private Panel panelWhite;
|
private Panel panelWhite;
|
||||||
private Panel panelGreen;
|
private Panel panelGreen;
|
||||||
|
@ -27,7 +27,7 @@ public partial class FormCarConfig : Form
|
|||||||
panelBlue.MouseDown += Panel_MouseDown;
|
panelBlue.MouseDown += Panel_MouseDown;
|
||||||
panelYellow.MouseDown += Panel_MouseDown;
|
panelYellow.MouseDown += Panel_MouseDown;
|
||||||
panelWhite.MouseDown += Panel_MouseDown;
|
panelWhite.MouseDown += Panel_MouseDown;
|
||||||
panelGrey.MouseDown += Panel_MouseDown;
|
panelGray.MouseDown += Panel_MouseDown;
|
||||||
panelBlack.MouseDown += Panel_MouseDown;
|
panelBlack.MouseDown += Panel_MouseDown;
|
||||||
panelPurple.MouseDown += Panel_MouseDown;
|
panelPurple.MouseDown += Panel_MouseDown;
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ public partial class FormCarConfig : Form
|
|||||||
Bitmap bmp = new(pictureBoxObject.Width, pictureBoxObject.Height);
|
Bitmap bmp = new(pictureBoxObject.Width, pictureBoxObject.Height);
|
||||||
Graphics gr = Graphics.FromImage(bmp);
|
Graphics gr = Graphics.FromImage(bmp);
|
||||||
_car?.SetPictureSize(pictureBoxObject.Width, pictureBoxObject.Height);
|
_car?.SetPictureSize(pictureBoxObject.Width, pictureBoxObject.Height);
|
||||||
_car?.SetPosition(5, 5);
|
_car?.SetPosition(15, 15);
|
||||||
_car?.DrawTransport(gr);
|
_car?.DrawTransport(gr);
|
||||||
pictureBoxObject.Image = bmp;
|
pictureBoxObject.Image = bmp;
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ public partial class FormSportCar : Form
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Перемешение объекта по форме (нажатие кнопок навигации)
|
/// Перемещение объекта по форме (нажатие кнопок навигации)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user