internal static void ActualizarCon(Juegos pJue, Contestada pCon, SqlTransaction pTransaccion) { SqlCommand comando = new SqlCommand("GUARDAR_CONTESTADAS", pTransaccion.Connection); comando.CommandType = System.Data.CommandType.StoredProcedure; comando.Parameters.AddWithValue("@ID_JUEGO", pJue.ID_JUEGO); comando.Parameters.AddWithValue("@ID_PREG", pCon.UNA_PRE.ID_PREG); comando.Parameters.AddWithValue("@CONTESTADA", pCon.CORRECTA); SqlParameter _ParmRetorno = new SqlParameter("@Retorno", SqlDbType.Int); _ParmRetorno.Direction = ParameterDirection.ReturnValue; comando.Parameters.Add(_ParmRetorno); try { comando.Transaction = pTransaccion; comando.ExecuteNonQuery(); int _Codcomp = Convert.ToInt32(_ParmRetorno.Value); if (_Codcomp == -1) throw new Exception("El juego no existe"); else if (_Codcomp == -2) throw new Exception("La pregunta no existe"); else if (_Codcomp == -3) throw new Exception("Error al actualizar contestadas."); } catch (Exception ex) { throw ex; } }
internal static List<Contestada> ContestadasXJuego(int pId) { SqlConnection conexion = new SqlConnection(Conexion.Cnn); SqlCommand comando = new SqlCommand("CONTESTADAS_JUEGO", conexion); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue("@ID_JUEGO", pId); Pregunta Preg = null; Contestada Contes = null; List<Contestada> ListaContestadas = new List<Contestada>(); try { conexion.Open(); SqlDataReader dr = comando.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { Preg = PerFabrica.GetPerPregunta().Buscar_Pregunta(Convert.ToInt32(dr["ID_PREG"])); Contes = new Contestada(Preg, Convert.ToBoolean(dr["CONTESTADA"])); ListaContestadas.Add(Contes); } } dr.Close(); } catch (Exception ex) { throw ex; } finally { conexion.Close(); } return ListaContestadas; }
internal static List<Contestada> ListarPreguntasXJuego(int id_juego) { List<Contestada> lista = new List<Contestada>(); SqlConnection conexion = new SqlConnection(Conexion.Cnn); SqlCommand comando = new SqlCommand("PREGUNTAS_X_JUEGO", conexion); comando.CommandType = System.Data.CommandType.StoredProcedure; Contestada Una_cont = null; Pregunta Una_preg = null; comando.Parameters.AddWithValue("@ID_JUEGO", id_juego); try { conexion.Open(); SqlDataReader dr = comando.ExecuteReader(); if (dr.HasRows) { //id_juego = PerPregunta.GetInstancia().Buscar(id_juego); while (dr.Read()) { Una_preg = new Pregunta((int)dr["ID_PREG"], (string)dr["TEXTO_PREG"], (string)dr["TIPO"], Persistencia.Clases_de_trabajo.PerRespuesta.Listar_Resp_de_Preg((int)dr["ID_PREG"])); Una_cont = new Contestada(Una_preg, Convert.ToBoolean(dr["CONTESTADA"])); lista.Add(Una_cont); } } dr.Close(); } catch (Exception ex) { throw ex; } finally { conexion.Close(); } return lista; }
internal static void RegPreg(Contestada pCon, SqlTransaction pTransaccion) { SqlCommand comando = new SqlCommand("REG_PREGUNTA", pTransaccion.Connection); comando.CommandType = System.Data.CommandType.StoredProcedure; comando.Parameters.AddWithValue("@ID_PREG", pCon.UNA_PRE.ID_PREG); SqlParameter _ParmRetorno = new SqlParameter("@Retorno", SqlDbType.Int); _ParmRetorno.Direction = ParameterDirection.ReturnValue; comando.Parameters.Add(_ParmRetorno); try { comando.Transaction = pTransaccion; comando.ExecuteNonQuery(); int _Codcomp = Convert.ToInt32(_ParmRetorno.Value); if (_Codcomp == -1) throw new Exception("Pregunta ya existente en el juego"); else if (_Codcomp == -2) throw new Exception("Error al ingresar Pregunta"); } catch (Exception ex) { throw ex; } }