/// <summary> /// Конструктор класса единицы учета /// </summary> /// <param name="uid">Уникальный идентификатор единицы учета</param> /// <param name="dbuid">Уникальный идентификатор единицы учета в базе данных</param> /// <param name="thread">Номер нити</param> /// <param name="parent">Уникальный идентификатор родительской единицы учета</param> /// <exception cref="Exception">Не указан уникальный идентификатор единицы учета</exception> public Ingot(uint uid, ulong dbuid = 0, int thread = 0, ulong parent = 0) { if (uid > 0) { Uid = uid; DbUid = dbuid; Thread = thread; Parent = parent; _parameters = new IngotParameters(); StartPos = new Coords(); FinishPos = new Coords(); CenterPos = new Coords(); Children = new List <ulong>(); _materials = new List <Material>(); _startTime = DateTime.Now; _finishTime = new DateTime(); _accessTime = new DateTime(); int colorsCount = 13; Random rnd = new Random(); Color = (ConsoleColor)rnd.Next(colorsCount) + 1; VisualParameters = new IngotVisualParameters("img/colors/Empty.png"); } else { throw new Exception("Не указан уникальный идентификатор для создаваемой единицы учета"); } }
public Kernel() { _materials = new Collection <Material>(); _inputTankers = new Collection <InputTanker>(); _siloses = new Collection <Silos>(); _conveyors = new Collection <Conveyor>(); _weightTankers = new Collection <WeightTanker>(); _receiverTankers = new Collection <WeightTanker>(); _ingots = new Collection <Ingot>(); _rollgangs = new Collection <Rollgang>(); _parameters = new IngotParameters(); _currentMaterialIndex = -1; }
/// <summary> /// Поиск параметров по их идентификатору /// </summary> /// <param name="key">Идентификатор параметра</param> /// <returns>Параметры единицы учета</returns> public IngotParameters FindParameterById(int key) { IngotParameters result = new IngotParameters(); if (_params1.ContainsKey(key)) { result.AddDoubleParameter(key, _params1[key]); } if (_params2.ContainsKey(key)) { result.AddStringParameter(key, _params2[key]); } return(result); }
/// <summary> /// Конструктор по-умолчанию /// </summary> public Ingot() { Uid = 0; DbUid = 0; Thread = 0; Parent = 0; _parameters = new IngotParameters(); StartPos = new Coords(); FinishPos = new Coords(); CenterPos = new Coords(); Children = new List <ulong>(); _startTime = DateTime.Now; _finishTime = new DateTime(); _accessTime = new DateTime(); int colorsCount = 13; Random rnd = new Random(); Color = (ConsoleColor)rnd.Next(colorsCount) + 1; VisualParameters = new IngotVisualParameters("img/colors/Empty.png"); _materials = new List <Material>(); }
/// <summary> /// Получить параметр единицы учета по его индентификатору /// </summary> /// <param name="id">Идентификатор параметра</param> /// <returns>Параметр единицы учета</returns> public IngotParameters GetParameterById(int id) { IngotParameters result = new IngotParameters(); var strings = _parameters.GetStringParameters(); var doubles = _parameters.GetDoubleParameters(); foreach (var item in strings) { if (item.Key == id) { result.AddStringParameter(item.Key, item.Value); } } foreach (var item in doubles) { if (item.Key == id) { result.AddDoubleParameter(item.Key, item.Value); } } return(result); }
/// <summary> /// Установить список параметров для единицы учета /// </summary> /// <param name="parameters"></param> public void SetParameters(IngotParameters parameters) { _parameters.SetParameters(parameters); }
/// <summary> /// Установить новые параметры единицы учета /// </summary> /// <param name="parameters">Новые параметра единицы учета</param> public void SetParameters(IngotParameters parameters) { _params1 = parameters.GetDoubleParameters(); _params2 = parameters.GetStringParameters(); }