/// <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; }
/// <summary> /// Добавить новый загрузочный бункер /// </summary> /// <param name="tanker">Загрузочный бункер</param> public void AddInputTanker(InputTanker tanker) { _inputTankers.AddItem(tanker); }