Пример #1
0
        internal List <ApuestaDTO> RetrieveApuesta()
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            command.CommandText = "SELECT a.tipo_apuesta, a.cuota, a.dinero_apostado, b.email, c.id_mercado FROM apuestas a," +
                                  " usuarios b, mercados c WHERE b.id_usuario = a.usuarios_id_usuarios AND c.id_mercado=a.mercados_id_mercado";


            try
            {
                con.Open();
                MySqlDataReader res = command.ExecuteReader();

                ApuestaDTO        a        = null;
                List <ApuestaDTO> apuestas = new List <ApuestaDTO>();

                while (res.Read())
                {
                    Debug.WriteLine("Tipo de apuesta: " + res.GetInt32(0) + " Cuota: " + res.GetDouble(1) +
                                    " Dinero apostado: " + res.GetDouble(2) + " Email Usuario: " + res.GetString(3) + " Id Mercado: " + res.GetInt32(4));
                    a = new ApuestaDTO(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetString(3), res.GetInt32(4));

                    apuestas.Add(a);
                }
                con.Close();
                return(apuestas);
            }
            catch (MySqlException e)
            {
                Debug.WriteLine("Error de conexión");
                return(null);
            }
        }
        internal List <ApuestaDTO> RetrieveDatos(int id_mercado_fk)
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            command.CommandText = "select email_fk ,tipo_apuesta, cuota, dinero_apostado from apuesta where id_mercado_fk = @A";
            command.Parameters.AddWithValue("@A", id_mercado_fk);


            Debug.WriteLine("El comando es:" + command.CommandText);

            try
            {
                con.Open();
                MySqlDataReader res = command.ExecuteReader();

                ApuestaDTO        m       = null;
                List <ApuestaDTO> apuesta = new List <ApuestaDTO>();
                while (res.Read())
                {
                    Debug.WriteLine("Recuperado: " + res.GetString(0) + " " + res.GetDouble(1) + " " + res.GetDouble(2) + " " + res.GetInt32(3));

                    m = new ApuestaDTO(res.GetString(0), res.GetDouble(1), res.GetDouble(2), res.GetInt32(3));


                    apuesta.Add(m);
                }

                con.Close();
                return(apuesta);
            }

            catch (MySqlException e)
            {
                Debug.WriteLine("Se ha producido un error de conexion");
                return(null);
            }
        }
Пример #3
0
        internal void insertarApuesta(ApuestaDTO aps)
        {
            CultureInfo culInfo = new System.Globalization.CultureInfo("es-ES");

            culInfo.NumberFormat.NumberDecimalSeparator          = ".";
            culInfo.NumberFormat.CurrencyDecimalSeparator        = ".";
            culInfo.NumberFormat.PercentDecimalSeparator         = ".";
            culInfo.NumberFormat.CurrencyDecimalSeparator        = ".";
            System.Threading.Thread.CurrentThread.CurrentCulture = culInfo;

            Debug.WriteLine("apuesta vale " + aps);

            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            command.CommandText = "insert into apuestas(tipo_apuesta,cuota,dinero_apostado,mercados_id_mercado,usuarios_id_usuarios) values ('" + aps.Tipo_apuesta + "','" + aps.Cuota +
                                  "','" + aps.Dinero_apostado + "'" + ",'" + aps.Id_mercado + "','" + aps.Email + "')";
            Debug.WriteLine("comando " + command.CommandText);

            try
            {
                con.Open();
                command.ExecuteNonQuery();
                con.Close();
            }
            catch (MySqlException e)
            {
                Debug.WriteLine("Se ha producido un error de conexión");
                con.Close();
            }

            con.Open();

            command.CommandText = "select dinero_over from mercados where id_mercado=" + aps.Id_mercado + "; ";
            Debug.WriteLine("COMMAND " + command.CommandText);
            MySqlDataReader reader = command.ExecuteReader();

            reader.Read();

            double dineroOver = reader.GetDouble(0);

            reader.Close();
            con.Close();
            con.Open();

            command.CommandText = "select dinero_under from mercados where id_mercado=" + aps.Id_mercado + "; ";

            reader = command.ExecuteReader();
            reader.Read();

            double dineroUnder = reader.GetDouble(0);

            reader.Close();
            con.Close();

            if (aps.Tipo_apuesta == 1)
            {
                dineroOver = dineroOver + aps.Dinero_apostado;
            }
            else
            {
                dineroUnder = dineroUnder + aps.Dinero_apostado;
            }

            Debug.WriteLine(dineroOver);
            Debug.WriteLine(dineroUnder);

            double po = dineroOver / (dineroOver + dineroUnder);
            double pu = dineroUnder / (dineroUnder + dineroOver);

            Debug.WriteLine(po);
            Debug.WriteLine(pu);

            double co = Convert.ToDouble((1 / po) * 0.95);
            double cu = Convert.ToDouble((1 / pu) * 0.95);


            if (aps.Tipo_apuesta == 1)
            {
                command.CommandText = "update mercados set cuota_over = '" + co + "',cuota_under = '" + cu + "',  dinero_over = '" + dineroOver + "' where id_mercado =" + aps.Id_mercado + ";";

                try
                {
                    con.Open();

                    command.ExecuteNonQuery();
                }
                catch (MySqlException e)
                {
                    Console.WriteLine("Error " + e);
                }
                con.Close();
            }
            else
            {
                command.CommandText = "update mercados set cuota_under = '" + cu + "', cuota_over = '" + co + "',  dinero_under = '" + dineroUnder + "' where id_mercado =" + aps.Id_mercado + "; ";

                try
                {
                    con.Open();
                    command.ExecuteNonQuery();
                }
                catch (MySqlException e)
                {
                    Console.WriteLine("Error " + e);
                }
                con.Close();
            }
        }