Пример #1
0
        /// <summary>
        /// Загрузить материал в силос из загрузочного бункера
        /// </summary>
        /// <param name="source">Загрузочный бункер, из которого принимается материал</param>
        public void Load(InputTanker source)
        {
            if (source == null)
            {
                _logger.Error($"Не указан загрузочный бункер при загрузке материала в силос {SilosId}");
                throw new ArgumentNullException($"Не указан загрузочный бункер при загрузке материала в силос {SilosId}");
            }

            if (Material == "")
            {
                _logger.Info($"В силос {SilosId} загружается материал {source.Material}");
                Material = source.Material;
            }

            if (source.Material != Material)
            {
                _logger.Error($"Загрузка в силос {SilosId}, содержащего материал {Material} новый материал {source.Material}");
                throw new ArgumentException($"Силос {SilosId} ожидает материал {Material} вместо {source.Material}");
            }

            // Добавляем материал из загрузочного бункера к слоям материала, уже имеющимся в силосе
            List <Material> materials = source.Unload();

            foreach (Material material in materials)
            {
                _materials.Add(material);
            }
            _layersCount = _materials.Count;
        }
Пример #2
0
 /// <summary>
 /// Добавить новый загрузочный бункер
 /// </summary>
 /// <param name="tanker">Загрузочный бункер</param>
 public void AddInputTanker(InputTanker tanker)
 {
     _inputTankers.AddItem(tanker);
 }