Ejemplo n.º 1
0
        public IActionResult GetResultsForPullsUntilSuccess([FromBody] D.SuccessCalculationInput successCalculationInput)
        {
            D.PrizeSelectionsForSuccessInfo result = new D.PrizeSelectionsForSuccessInfo();

            if (successCalculationInput.SuccessCriteria != null && successCalculationInput.SuccessCriteria.Any() &&
                successCalculationInput.SelectionDomains != null && successCalculationInput.SelectionDomains.Any())
            {
                IList <SelectionDomain> selectionDomainModels = _mapper.Map <IList <SelectionDomain> >(successCalculationInput.SelectionDomains);

                PrizeSelectionsForSuccessInfo successModel = _selectionSuccessCalculator.GetResultsForPullsUntilSuccess(successCalculationInput.SuccessCriteria, selectionDomainModels);

                result = _mapper.Map <D.PrizeSelectionsForSuccessInfo>(successModel);
            }

            return(new ObjectResult(result));
        }
Ejemplo n.º 2
0
        public IActionResult GetChanceToMeetSuccessCriteriaForFixedSelectionCount([FromBody] D.SuccessCalculationInput successCalculationInput)
        {
            double successChance = 0;

            if (successCalculationInput.SuccessCriteria != null && successCalculationInput.SuccessCriteria.Any() &&
                successCalculationInput.SelectionDomains != null && successCalculationInput.SelectionDomains.Any() &&
                successCalculationInput.SelectionCount > 0)
            {
                IList <SelectionDomain> selectionDomainModels = _mapper.Map <IList <SelectionDomain> >(successCalculationInput.SelectionDomains);

                successChance = _selectionSuccessCalculator.GetChanceToMeetSuccessCriteriaForFixedSelectionCount(
                    successCalculationInput.SuccessCriteria, selectionDomainModels, successCalculationInput.SelectionCount);
            }

            return(new ObjectResult(successChance));
        }