コード例 #1
0
 private ExecutedCalculation CreateExecutedCalculation(CalculateProbabilityInput input, string calculationType, decimal calculatedProbability)
 => new ExecutedCalculation
 {
     When            = DateTime.UtcNow,
     Input           = input,
     CalculationType = calculationType,
     Result          = calculatedProbability
 };
コード例 #2
0
        public decimal CalculateProbability(CalculateProbabilityRequest request)
        {
            ValidateRequest(request);

            var input = CalculateProbabilityInput.FromCalculateProbabilityRequest(request);
            var calculatedProbability = calculatorFactory.GetCalculator(request.CalculationType).Calculate(input);

            var executedCalculation = CreateExecutedCalculation(input, request.CalculationType, calculatedProbability);

            calculationsStorer.StoreCalculation(executedCalculation);

            return(calculatedProbability);
        }
 public decimal Calculate(CalculateProbabilityInput input)
 => input.ProbabilityOfA * input.ProbabilityOfB;