Esempio n. 1
0
        public ICalculationResult PerformCalculation(CalculatorType type, decimal probability1, decimal probability2)
        {
            IInputData         data = new InputData(probability1, probability2);
            ICalculationResult calculationResult;

            var validationResult = data.Validate();

            if (validationResult.Success == false)
            {
                CalculationResult concreteResult = new CalculationResult(data);
                concreteResult.AppendResult(validationResult);

                calculationResult = concreteResult;
            }
            else
            {
                var calculator = _calculatorFactory.GetCalculator(type);
                calculationResult = calculator.Calculate(data);
            }

            _logger.LogCalculation(calculationResult);

            return(calculationResult);
        }
Esempio n. 2
0
 public Task Post(CalculationModel model) => _logger.LogCalculation(model);