Dissolve.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. using SHJX.Service.Control.Extends;
  2. namespace SHJX.Service.Control.Pipeline.Nodes
  3. {
  4. public class Dissolve : INode
  5. {
  6. #region Fields
  7. private static TaskExtend _taskExtend;
  8. private static IDataManager _dataManager;
  9. #endregion
  10. public Dissolve(IDataManager dataManager, TaskExtend taskExtend)
  11. {
  12. Name = nameof(Dissolve);
  13. _taskExtend = taskExtend;
  14. _dataManager = dataManager;
  15. }
  16. public override INode Invoke()
  17. {
  18. DissolveDate date = _dataManager.Query<DissolveDate>().Where(it => it.PositionName.Equals(CurrentTask.To)).First();
  19. date.LastTryTime = DateTime.Now;
  20. date.SampleSource = CurrentTask.Source;
  21. date.Start = true;
  22. _dataManager.Update(date);
  23. DissolveInterval interval = _dataManager.Query<DissolveInterval>().First();
  24. interval.LastTryTime = DateTime.Now;
  25. _dataManager.Update(interval);
  26. CurrentTask.Status = TaskState.Dissolve;
  27. _dataManager.Update(CurrentTask);
  28. return this;
  29. }
  30. }
  31. }