コード例 #1
0
 static Func <FraudResult> CheckFraud(CheckFraudRequest request, ICheckFraudHandler handler)
 => () => handler.Handle(request);
コード例 #2
0
 static Chain <FraudResult> ContinueIf(CheckFraudRequest request, Chain <FraudResult> result, ICheckFraudHandler handler)
 => result.ContinueIf(CheckFraud(request, handler), IsNotFraudulent);
コード例 #3
0
 FraudResult CheckFraud(CheckFraudRequest request)
 => _handlers
 .Select(SelectHandler(request, FraudResult.NonFraud))
 .ToList()
 .First();
コード例 #4
0
 static Func <ICheckFraudHandler, FraudResult> SelectHandler(CheckFraudRequest request, Chain <FraudResult> result)
 => handler => result = ContinueIf(request, result, handler);
コード例 #5
0
 Func <Order, FraudResult> CheckFraud(Order current)
 => other => CheckFraud(CheckFraudRequest.NewRequest(current, other));