Exemplo n.º 1
0
        public override RealizeLotteryResult RealizeLottery(IGameStore <Game> store)
        {
            var quadraGames = new List <Game>();
            var quinaGames  = new List <Game>();
            var megaGames   = new List <Game>();

            var result = new RealizeLotteryResult();

            if (store.Store.Count == 0)
            {
                result.Success = false;
                result.Error   = "Não existem jogos pra realizar um sorteio.";
                return(result);
            }

            var currentLotteryNumbers = this.GetLotteryNumbers();

            foreach (var storeItem in store.Store)
            {
                var currGame = storeItem.Value;
                var matches  = 0;
                foreach (var number in currGame.Numbers)
                {
                    if (currentLotteryNumbers.Contains(number))
                    {
                        matches++;
                    }
                }

                if (matches == 4)
                {
                    quadraGames.Add(currGame);
                }
                else if (matches == 5)
                {
                    quinaGames.Add(currGame);
                }
                else if (matches == 6)
                {
                    megaGames.Add(currGame);
                }
            }

            result.LotteryNumbers = currentLotteryNumbers;

            result.QuadraGames = quadraGames.ToArray();
            result.QuinaGames  = quinaGames.ToArray();
            result.MegaGames   = megaGames.ToArray();

            result.Success = true;

            return(result);
        }
Exemplo n.º 2
0
        private string GetLotteryOutput(RealizeLotteryResult result)
        {
            var builder = new StringBuilder();

            builder.AppendLine();
            builder.AppendLine(string.Format("Sorteio de número {0}:", result.Id));
            builder.AppendLine(string.Format("Números sorteados: {0}", string.Join("; ", result.LotteryNumbers)));
            builder.AppendLine();

            if (result.QuadraGames.Length > 0)
            {
                builder.AppendLine(string.Format("{0} jogos acertaram a quadra:", result.QuadraGames.Length));

                builder.AppendLine();
                foreach (var game in result.QuadraGames)
                {
                    builder.AppendLine(string.Format("Jogo {0}:", game.Id));
                    builder.AppendLine(string.Format("Números do jogo: {0}", string.Join("; ", game.Numbers)));
                    builder.AppendLine(string.Format("Data: {0}", string.Join("; ", game.CreatedAt.ToString("dd/MM/yyyy"))));
                }
                builder.AppendLine();
            }
            else
            {
                builder.AppendLine("Nenhum jogo acertou a quadra.");
            }

            if (result.QuinaGames.Length > 0)
            {
                builder.AppendLine(string.Format("{0} jogos acertaram a quina:", result.QuadraGames.Length));

                builder.AppendLine();
                foreach (var game in result.QuinaGames)
                {
                    builder.AppendLine(string.Format("Jogo {0}:", game.Id));
                    builder.AppendLine(string.Format("Números do jogo: {0}", string.Join("; ", game.Numbers)));
                    builder.AppendLine(string.Format("Data: {0}", string.Join("; ", game.CreatedAt.ToString("dd/MM/yyyy"))));
                }
                builder.AppendLine();
            }
            else
            {
                builder.AppendLine("Nenhum jogo acertou a quina.");
            }


            if (result.MegaGames.Length > 0)
            {
                builder.AppendLine(string.Format("{0} jogos acertaram a mega:", result.QuadraGames.Length));

                builder.AppendLine();
                foreach (var game in result.MegaGames)
                {
                    builder.AppendLine(string.Format("Jogo {0}:", game.Id));
                    builder.AppendLine(string.Format("Números do jogo: {0}", string.Join("; ", game.Numbers)));
                    builder.AppendLine(string.Format("Data: {0}", string.Join("; ", game.CreatedAt.ToString("dd/MM/yyyy"))));
                }
                builder.AppendLine();
            }
            else
            {
                builder.AppendLine("Nenhum jogo acertou a mega.");
            }

            return(builder.ToString());
        }