protected void AddExecutor( bool defaultExecutor = false) { _currentExecutorSettings .ExecuteConditions = _conditionalQueueBuilder.GetFuncIfConditions(); if (defaultExecutor) { _conditionalQueueBuilder.SetDefault( _currentExecutorSettings, _currentContainer); } else { _conditionalQueueBuilder.Enque( _currentExecutorSettings, _currentContainer); } if (_executeIf) { _conditionalQueueBuilder.RemoveIfCondition(); _executeIf = false; } _skipCurrentExecutor = false; _currentContainer = null; _currentExecutorSettings = null; }
protected void SetExecutor( Func <M, IPipeCache, PipeResult <R> > executor, bool isDefault = false) { _skipCurrentExecutor = false; _currentContainer = new AsyncFuncCacheContainer <M, R>(executor); _currentExecutorSettings = isDefault ? new ExecutorSettings <M, R> { Label = "Default" } : new ExecutorSettings <M, R>(); }
protected void SetExecutor( Func <IAsyncExecutor <M, R> > executor, bool isDefault = false) { _skipCurrentExecutor = false; _currentContainer = new AsyncExecutorContainer <M, R>(executor); _currentExecutorSettings = isDefault ? new ExecutorSettings <M, R> { Label = "Default" } : new ExecutorSettings <M, R>(); }
public async Task <T> GetStaticSettings <T>(int settingID) where T : class { ExecutorSettings settings = default(ExecutorSettings); try { settings = await GetStaticSettingsByID(settingID); } catch { _staticSettings.TryRemove(settingID, out var _); throw; } return(settings.GetDeserialized <T>()); }
protected bool IfBreak( ExecutorSettings <M, R> settings, PipeResult <R> result) { if (settings.FailedBreak && result.Success == ExecutionResult.Failed && result.Break) { return(true); } if (settings.OkBreak && result.Success == ExecutionResult.Successful && result.Break) { return(true); } return(false); }
protected bool IfConditions(ExecutorSettings <M, R> settings, M model) { return(settings.ExecuteConditions.HasValue ? settings.ExecuteConditions.Value.All(x => x(model)) : true); }