| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using SHJX.Service.Control.Extends;
- namespace SHJX.Service.Control.Pipeline.Nodes.InterceptorNodes
- {
- public class Titration2Interceptor : INode
- {
- #region Fields
- private static TaskExtend _taskExtend;
- private static IDataManager _dataManager;
- #endregion
- public Titration2Interceptor(IDataManager dataManager, TaskExtend taskExtend)
- {
- Name = nameof(Titration2Interceptor);
- _taskExtend = taskExtend;
- _dataManager = dataManager;
- }
- public override INode Invoke()
- {
- return this;
- }
- public override void Next()
- {
- bool sodiumOxalateEnable = true;
- bool vitriolEnable = true;
- bool potassiumPermanganateEnable = true;
- LiquidVolume sodiumOxalateLiquid = _dataManager.Query<LiquidVolume>().Where(it => it.LiquidName.Equals(EquipmentNames.Sodium2Oxalate)).First();
- if (sodiumOxalateLiquid is not null)
- {
- sodiumOxalateEnable = sodiumOxalateLiquid.Enable;
- }
- LiquidVolume vitriolLiquid = _dataManager.Query<LiquidVolume>().Where(it => it.LiquidName.Equals(EquipmentNames.Titration2Vitriol)).First();
- if (vitriolLiquid is not null)
- {
- vitriolEnable = vitriolLiquid.Enable;
- }
- LiquidVolume potassiumPermanganateLiquid = _dataManager.Query<LiquidVolume>().Where(it => it.LiquidName.Equals(EquipmentNames.Titration2PotassiumPermanganate)).First();
- if (potassiumPermanganateLiquid is not null)
- {
- potassiumPermanganateEnable = potassiumPermanganateLiquid.Enable;
- }
- if (!(sodiumOxalateEnable || vitriolEnable || potassiumPermanganateEnable))
- {
- _taskExtend.UpdateRoute(CurrentTask);
- return;
- }
- NextNode?.SetTask(CurrentTask)?.Invoke()?.Record()?.Next();
- }
- }
- }
|