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