Esempio n. 1
0
        public FinalLotteryResult GetFinalResult(PartialLotteryResult partialResult)
        {
            if (!(partialResult.Ball1.HasValue &&
                  partialResult.Ball2.HasValue &&
                  partialResult.Ball3.HasValue &&
                  partialResult.Ball4.HasValue &&
                  partialResult.Ball5.HasValue &&
                  partialResult.Ball6.HasValue))
            {
                return(null);
            }

            var balls = new int[]
            {
                partialResult.Ball1.Value,
                partialResult.Ball2.Value,
                partialResult.Ball3.Value,
                partialResult.Ball4.Value,
                partialResult.Ball5.Value,
                partialResult.Ball6.Value
            }.OrderBy(x => x).ToList();

            return(new FinalLotteryResult
            {
                Ball1 = balls[0],
                Ball2 = balls[1],
                Ball3 = balls[2],
                Ball4 = balls[3],
                Ball5 = balls[4],
                Ball6 = balls[5]
            });
        }
Esempio n. 2
0
        public PartialLotteryResult GetPartialLotteryResult(PartialLotteryResult partialResult)
        {
            int populatedBalls = 0;

            var valuesToExclude = new List <int>();

            if (partialResult.Ball1.HasValue)
            {
                populatedBalls++; valuesToExclude.Add(partialResult.Ball1.Value);
            }
            if (partialResult.Ball2.HasValue)
            {
                populatedBalls++; valuesToExclude.Add(partialResult.Ball2.Value);
            }
            if (partialResult.Ball3.HasValue)
            {
                populatedBalls++; valuesToExclude.Add(partialResult.Ball3.Value);
            }
            if (partialResult.Ball4.HasValue)
            {
                populatedBalls++; valuesToExclude.Add(partialResult.Ball4.Value);
            }
            if (partialResult.Ball5.HasValue)
            {
                populatedBalls++; valuesToExclude.Add(partialResult.Ball5.Value);
            }
            if (partialResult.Ball6.HasValue)
            {
                populatedBalls++; valuesToExclude.Add(partialResult.Ball6.Value);
            }

            if (populatedBalls > 5)
            {
                partialResult.IsFull = true;
                return(partialResult);
            }

            int nextBall = _numberGenerator.GenerateNextNumber(1, 49, valuesToExclude);

            switch (populatedBalls)
            {
            case 0: partialResult.Ball1 = nextBall; return(partialResult);

            case 1: partialResult.Ball2 = nextBall; return(partialResult);

            case 2: partialResult.Ball3 = nextBall; return(partialResult);

            case 3: partialResult.Ball4 = nextBall; return(partialResult);

            case 4: partialResult.Ball5 = nextBall; return(partialResult);

            case 5: partialResult.Ball6 = nextBall;
                partialResult.IsFull    = true; return(partialResult);

            default: return(partialResult);
            }
        }
 public FinalLotteryResult GetFinalLotteryResult([FromBody] PartialLotteryResult partialResult) =>
 _lotteryNumberGenerator.GetFinalResult(partialResult);