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); }
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)); }