예제 #1
0
        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;
            }
        }
예제 #2
0
        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;
        }
예제 #3
0
        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;
        }
예제 #4
0
        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;
            }
        }