示例#1
0
        public Retorno GerarNovaRodada(NovaRodada novaRodada)
        {
            //Gera nova rodada
            RetornoRodada retornoRodada = NovaRodada(novaRodada.CodigoJogo, novaRodada.NumeroRodada);

            //retornar rodada
            return(new Retorno()
            {
                Codigo = 200,
                Data = JsonConvert.SerializeObject(retornoRodada).ToString(),
                Mensagem = "Rodada " + novaRodada.NumeroRodada,
            });
        }
示例#2
0
        private RetornoRodada NovaRodada(int codigoJogo, int numeroRodada)
        {
            NovaRodada rodada = BuscarNovaRodada(codigoJogo, numeroRodada);

            List <JogoPalavras> lstPalavras = new List <JogoPalavras>();

            var palavras = new JogoPalavras
            {
                Palavra      = rodada.Palavra,
                CodigoAcerto = 1
            };

            lstPalavras.Add(palavras);

            var lstPalavraErrada = BuscaPalavrasErradas(rodada.CodigoPalavra);


            foreach (var palavraErrada in lstPalavraErrada)
            {
                palavras = new JogoPalavras
                {
                    CodigoAcerto = 0,
                    Palavra      = palavraErrada.Palavra
                };

                lstPalavras.Add(palavras);
            }

            //Randomiza a ordem das palavras
            lstPalavras.Shuffle();

            //Monta objeto para retornar
            return(new RetornoRodada()
            {
                CodigoJogo = codigoJogo,
                NumeroRodada = numeroRodada,
                Diretorio = rodada.Diretorio,
                Palavras = lstPalavras
            });
        }
        public NovaRodada NovaRodada(int codigoJogo, int numeroRodada)
        {
            DataSet dataSet    = new DataSet();
            var     novaRodada = new NovaRodada();

            var connection = conexao.CriaConexao();

            conexao.AbrirConexao(connection);

            SqlCommand command = new SqlCommand("PALAVRARODADA_NOVOJOGO", connection);

            command.CommandType = CommandType.StoredProcedure;

            command.Parameters.AddWithValue("@Numero", numeroRodada);
            command.Parameters.AddWithValue("@Id_Jogo", codigoJogo);

            SqlTransaction transaction = connection.BeginTransaction();

            command.Connection  = connection;
            command.Transaction = transaction;

            try
            {
                SqlDataAdapter dataAdapter = new SqlDataAdapter(command);

                dataAdapter.Fill(dataSet);

                DataTableReader reader = dataSet.Tables[0].CreateDataReader();

                while (reader.Read())
                {
                    novaRodada = new NovaRodada()
                    {
                        CodigoJogo          = (int)reader["ID_JOGO"],
                        CodigoPalavraRodada = (int)reader["ID_PALAVRARODADA"],
                        CodigoRodada        = (int)reader["ID_RODADA"],
                        CodigoPalavra       = (int)reader["ID_PALAVRA"],
                        CodigoSinal         = (int)reader["ID_SINAL"],
                        NumeroRodada        = (int)reader["NUMERO"],
                        Diretorio           = reader["DIRETORIO"].ToString(),
                        Palavra             = reader["PALAVRA"].ToString(),
                        Score = (int)reader["SCORE"]
                    };
                }

                transaction.Commit();
            }
            catch (Exception ex)
            {
                try
                {
                    transaction.Rollback();
                    throw new Exception(ex.Message);
                }
                catch (Exception ex2)
                {
                    throw new Exception(ex2.Message);
                }
            }

            finally
            {
                conexao.FecharConexao(connection);
            }

            return(novaRodada);
        }