public override async Task HandleRequest(ActionParams param, Operate lastOperate, CancellationToken token) { token.ThrowIfCancellationRequested(); var span = param.TopInterval - lastOperate.CalctimeBeforePause(); lastOperate.ActionChange(ActionEnum.StandingAfterIn); await Task.Delay(((int)(span > 0 ?span : 0) * 1000), token); var handleRequest = next?.HandleRequest(param, lastOperate, token);; if (handleRequest != null) { await handleRequest; } }
public override async Task HandleRequest(ActionParams param, Operate lastOperate, CancellationToken token) { token.ThrowIfCancellationRequested(); var span = lastOperate.CalctimeBeforePause(); var volume = param.Volume - span * param.Flowrate / 60; lastOperate.ActionChange(ActionEnum.PumpOut); await Logic.Instance.pump1.SetParams(param.Flowrate, volume > 0?volume : 0, DirectionEnum.Out).StartAsync(); var handleRequest = next?.HandleRequest(param, lastOperate, token);; if (handleRequest != null) { await handleRequest; } }