예제 #1
0
        public async Task <bool> CompleteAsync(IEngineScope <TModel> scope, IEngineTrace trace, CancellationToken token)
        {
            TModel model = scope.GetModel();
            await scope.RunWorkflowAsync <TModel>(this.builder, model, token);

            scope.SetModel(model);

            return(await Task.FromResult(true));
        }
예제 #2
0
        public async Task <bool> EvaluateAsync(IEngineScope <TModel> scope, IEngineTrace trace, CancellationToken token)
        {
            //thinking out-loud
            //if single rule where truecondition == false, then isTrue = false, set result to false.  good that.
            //if multi-rules mixed... then or is inferred, so if any where truecondition == true, then result = true

            bool isTrue = this.rules.Any(a => a.TrueCondition);

            trace.TraceStep(string.Format("Preset:{0}", isTrue));

            return(await Task.FromResult(isTrue));
        }
예제 #3
0
파일: DeferProxy.cs 프로젝트: mchnry/flow
 async Task <bool> IDeferredAction <TModel> .CompleteAsync(IEngineScopeDefer <TModel> scope, IEngineTrace trace, CancellationToken token)
 {
     return(await deferAction.CompleteAsync(deferScope, trace, token));
 }
예제 #4
0
 public async Task <bool> EvaluateAsync(IEngineScope <string> scope, IEngineTrace trace, CancellationToken token)
 {
     return(await Task.FromResult(true));
 }
예제 #5
0
 public async Task <bool> CompleteAsync(IEngineScope <string> scope, IEngineTrace trace, CancellationToken token)
 {
     Console.WriteLine("did it");
     return(true);
 }
예제 #6
0
 public async Task ValidateAsync(IEngineScope <TModel> scope, IEngineTrace trace, IRuleResult result, CancellationToken token)
 {
     await this.validator(scope, trace, result, token);
 }
예제 #7
0
 public async Task <bool> EvaluateAsync(IEngineScope <TModel> scope, IEngineTrace trace, CancellationToken token)
 {
     return(await this.evaluator(scope, trace, token));
 }
예제 #8
0
 public async Task <bool> CompleteAsync(IEngineScope <TModel> scope, IEngineTrace trace, CancellationToken token)
 {
     return(await this.action(scope, trace, token));
 }
예제 #9
0
 public async Task <bool> EvaluateAsync(IEngineScope <TModel> scope, IEngineTrace trace, CancellationToken token)
 {
     trace.TraceStep("Always True");
     return(await Task.FromResult(true));
 }
예제 #10
0
파일: NoAction.cs 프로젝트: mchnry/flow
 public async Task <bool> CompleteAsync(IEngineScope <TModel> scope, IEngineTrace trace, CancellationToken token)
 {
     return(await Task.FromResult <bool>(true));
 }
예제 #11
0
파일: FakeAction.cs 프로젝트: mchnry/flow
 public Task <bool> CompleteAsync(IEngineScope <TModel> scope, IEngineTrace trace, CancellationToken token)
 {
     trace.TraceStep(Definition.Id);
     return(Task.FromResult <bool>(true));
 }