示例#1
0
 /// <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("Не указан уникальный идентификатор для создаваемой единицы учета");
     }
 }
示例#2
0
 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;
 }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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>();
        }
示例#5
0
        /// <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);
        }
示例#6
0
 /// <summary>
 /// Установить список параметров для единицы учета
 /// </summary>
 /// <param name="parameters"></param>
 public void SetParameters(IngotParameters parameters)
 {
     _parameters.SetParameters(parameters);
 }
示例#7
0
 /// <summary>
 /// Установить новые параметры единицы учета
 /// </summary>
 /// <param name="parameters">Новые параметра единицы учета</param>
 public void SetParameters(IngotParameters parameters)
 {
     _params1 = parameters.GetDoubleParameters();
     _params2 = parameters.GetStringParameters();
 }