Exemplo n.º 1
0
        private decimal GetLotoPrize(LotoResult result, SixNumberGuess guess)
        {
            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            if (guess == null)
            {
                throw new ArgumentNullException(nameof(guess));
            }


            var winningNumbers = Array.ConvertAll(result.Data.Rakamlar.Split('#'), int.Parse).OrderBy(a => a).ToList();

            int luckyNumberCount = 0;

            foreach (var number in guess.Numbers)
            {
                if (winningNumbers.Contains(number))
                {
                    luckyNumberCount++;
                }
            }

            if (luckyNumberCount < 3)
            {
                return(0m);
            }

            return(result.Data.BilenKisiler.First(bk => bk.Tur == $"${luckyNumberCount}_BILEN").KisiBasinaDusenIkramiye);
        }
Exemplo n.º 2
0
        decimal ISansTopuClient.GetPrize(LotoResult result, SansTopuGuess guess)
        {
            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            if (guess == null)
            {
                throw new ArgumentNullException(nameof(guess));
            }


            var numbers = Array.ConvertAll(result.Data.Rakamlar.Split('#'), int.Parse).ToList();

            var winningNumbers = numbers.GetRange(0, 5);
            var plusOne        = numbers[5];

            int luckyNumberCount = 0;

            foreach (var number in guess.Numbers)
            {
                if (winningNumbers.Contains(number))
                {
                    luckyNumberCount++;
                }
            }

            bool gotPlusOne = guess.PlusOne == plusOne;

            if (gotPlusOne)
            {
                return(result.Data.BilenKisiler.First(bk => bk.Tur == $"${luckyNumberCount}_1_BILEN").KisiBasinaDusenIkramiye);
            }
            else
            {
                if (luckyNumberCount < 3)
                {
                    return(0m);
                }

                return(result.Data.BilenKisiler.First(bk => bk.Tur == $"${luckyNumberCount}_BILEN").KisiBasinaDusenIkramiye);
            }
        }
 decimal ISuperLotoClient.GetPrize(LotoResult result, SuperLotoGuess guess)
 {
     return(GetLotoPrize(result, guess));
 }