internal List <Apuestas> RetrieveByMercado(int id) { MySqlConnection conect = Connect(); MySqlCommand command = conect.CreateCommand(); command.CommandText = "SELECT idMercado, tipoMercado, tipoApuesta, cuota, DineroApostado FROM Apuestas A, Mercado M WHERE M.id = A.id;"; command.Parameters.AddWithValue("A.id", id); try { conect.Open(); MySqlDataReader res = command.ExecuteReader(); Apuestas apue = null; List <Apuestas> apues = new List <Apuestas>(); while (res.Read()) { Debug.WriteLine("Recuperado: " + res.GetString(0) + " " + res.GetDouble(1) + " " + res.GetBoolean(2) + " " + res.GetDouble(3) + " " + res.GetDouble(4)); apue = new Apuestas(res.GetInt32(0), res.GetBoolean(1), res.GetDouble(2), res.GetDouble(3), res.GetInt32(4), res.GetInt32(5)); apues.Add(apue); } conect.Close(); return(apues); } catch (MySqlException e) { Debug.WriteLine("Error de conexión"); return(null); } }
internal List <Apuestas> RetrieveByEmail(string Email) { MySqlConnection conec = Connect(); MySqlCommand command = conec.CreateCommand(); command.CommandText = "SELECT Email, idEvento, tipoMercado, tipoApuesta, cuota, DineroApostado FROM Usuario U, Mercado M, Apuestas A WHERE U.Email = U.Email;"; command.Parameters.AddWithValue("U.Email", Email); try { conec.Open(); MySqlDataReader res = command.ExecuteReader(); Apuestas apuesta = null; List <Apuestas> apuest = new List <Apuestas>(); while (res.Read()) { Debug.WriteLine("Recuperado: " + res.GetInt32(0) + " " + res.GetDouble(1) + " " + res.GetDouble(2) + " " + res.GetBoolean(3) + " " + res.GetDouble(4)); apuesta = new Apuestas(res.GetInt32(0), res.GetBoolean(1), res.GetDouble(2), res.GetDouble(3), res.GetInt32(4), res.GetInt32(5)); apuest.Add(apuesta); } conec.Close(); return(apuest); } catch (MySqlException e) { Debug.WriteLine("Error de conexión"); return(null); } }
// ejercicio 2 donde se pide todas las apuestas cuya cuota este entre un valor minimo y uno maximo internal List <Apuestas> RetrieveByCuota(double cuota) { MySqlConnection conect = Connect(); MySqlCommand command = conect.CreateCommand(); command.CommandText = "SELECT Nombre, DineroApostado, tipoMercado, cuota FROM Usuario U, Apuestas A, Mercado M WHERE A.cuota>0 && A.cuota<3;"; command.Parameters.AddWithValue("A.cuota", cuota); try { conect.Open(); MySqlDataReader re = command.ExecuteReader(); Apuestas a = null; List <Apuestas> apus = new List <Apuestas>(); while (re.Read()) { Debug.WriteLine("Recuperado: " + re.GetString(0) + " " + re.GetDouble(1) + " " + re.GetDouble(2) + " " + re.GetDouble(3)); new Apuestas(re.GetInt32(0), re.GetBoolean(1), re.GetDouble(2), re.GetDouble(3), re.GetInt32(4), re.GetInt32(5)); apus.Add(a); } conect.Close(); return(apus); } catch (MySqlException e) { Debug.WriteLine("Error de conexión"); return(null); } }
internal void Save(Apuestas apuestas) { //HACEMOS LA APUESTA MySqlConnection con = Connect(); MySqlCommand comand = con.CreateCommand(); comand.CommandText = "insert * into apuestas (tipoApuesta, cuota, DineroApostado, id, idUsuario) values (' " + apuestas.tipoApuesta + " ' , ' " + apuestas.cuota + " ', ' " + apuestas.DineroApostado + " ', ' " + apuestas.id + " ', ' " + apuestas.idUsuario + " ') "; Debug.WriteLine("comando " + comand.CommandText); try { con.Open(); comand.ExecuteNonQuery(); con.Close(); } catch (MySqlException e) { Debug.WriteLine("se ha producido un error de conexión"); } // sacamos el dinero total del mercado (over o under) y sumarlo a nuestra apuesta anterior // SELECT que saca el dinero total tanto de over y under MySqlCommand dineroApuesta = con.CreateCommand(); dineroApuesta.CommandText = "SELECT dineroapostadoOver, dineroapostadoUnder, DineroApostado FROM mercado, apuestas;"; double dineroOver = 0, dineroUnder = 0, Apostado = 0; // VARIABLE A LA QUE GUARDAMOS dinero OVER, UNDER y apostado con.Open(); MySqlDataReader res2 = dineroApuesta.ExecuteReader(); while (res2.Read()) { dineroOver = res2.GetDouble(0); dineroUnder = res2.GetDouble(1); Apostado = res2.GetDouble(2); } if (apuestas.tipoApuesta == false) { dineroOver += dineroOver; } else { dineroUnder += dineroUnder; } con.Close(); //Actualizar con el dinero total del mercado en el mercado correspondiente. if (apuestas.tipoApuesta == false) { MySqlCommand insertarApuesta = con.CreateCommand(); insertarApuesta.CommandText = "UPDATE mercado SET dineroapostadoOver = " + dineroOver + " WHERE id = " + apuestas.idMercado + " "; Debug.WriteLine("comando " + comand.CommandText); try { con.Open(); comand.ExecuteNonQuery(); con.Close(); } catch (MySqlException e) { Debug.WriteLine("se ha producido error de conexion"); } } else { MySqlCommand insertarApuestaUnder = con.CreateCommand(); insertarApuestaUnder.CommandText = "UPDATE mercado SET dineroapostadoUnder = " + dineroUnder + " WHERE id = " + apuestas.idMercado + " "; try { con.Open(); comand.ExecuteNonQuery(); con.Close(); } catch (MySqlException e) { Debug.WriteLine("se ha producido error de conexion"); } } //Sacas el dinero total OVER y dinero total UNDER. MySqlCommand comandoDineroTotal = con.CreateCommand(); comandoDineroTotal.CommandText = "SELECT DineroApostadoOver, DineroApostadoUnder FROM mercado;"; double dineroTotalOver = 0, dineroTotalUnder = 0; con.Open(); MySqlDataReader res = comandoDineroTotal.ExecuteReader(); while (res.Read()) { dineroTotalOver = res.GetDouble(0); dineroTotalUnder = res.GetDouble(1); } con.Close(); //Con el dinero del SELECT de arriba, hacer los cálculos del PDF. //Guardas en variable resultado de probabilidad double probabilidadOver = dineroTotalOver / dineroTotalOver + dineroTotalUnder; double probabilidadUnder = dineroTotalUnder / dineroTotalOver + dineroTotalUnder; //Calculas en otra variable resultado de cuota nueva double cuotaOver = 1 / probabilidadOver * 0.95; double cuotaUnder = 1 / probabilidadUnder * 0.95; //Actualizar cuota OVER y cuota UNDER MySqlCommand actualizarCuota = con.CreateCommand(); actualizarCuota.CommandText = "UPDATE mercado SET infocuotaOver = " + cuotaOver + ", infocuotaUnder = " + cuotaUnder + " WHERE id = " + apuestas.idMercado + " "; Debug.WriteLine("comando " + comand.CommandText); try { con.Open(); comand.ExecuteNonQuery(); con.Close(); } catch (MySqlException e) { Debug.WriteLine("se ha producido error de conexion"); } }