using SHJX.Service.Control.Extends; namespace SHJX.Service.Control.Pipeline.Nodes { public class TargetInversion : INode { #region Fields private static TaskExtend _taskExtend; private static IDataManager _dataManager; #endregion public TargetInversion(IDataManager dataManager, TaskExtend taskExtend) { Name = nameof(TargetInversion); _taskExtend = taskExtend; _dataManager = dataManager; } public override INode Invoke() { CurrentTask.Target = CurrentTask.Target switch { "From" => nameof(CurrentTask.To), "To" => nameof(CurrentTask.From), _ => throw new ArgumentNullException(CurrentTask.Target), }; var res = _dataManager.Update(CurrentTask) > 0; return this; } } }