static public ApuestaDTO2 ToDTO2(Apuesta a)
        {
            PlaceMyBetContext context = new PlaceMyBetContext();
            Mercado           m;

            using (context)
            {
                m = context.Mercados.Single(b => b.MercadoId == a.MercadoId);
            }
            return(new ApuestaDTO2(a.UsuarioId, a.tipoCuota, a.cuota, a.dinero, m.EventoId, a.Mercado));
        }
Пример #2
0
        internal void UpdateDinero(Apuesta apuesta)
        {
            Mercado mercado;

            using (PlaceMyBetContext context = new PlaceMyBetContext())
            {
                mercado = context.Mercados
                          .Where(m => m.MercadoID == apuesta.MercadoID)
                          .FirstOrDefault();
                //Actualizamos el dinero apostado Over/Under
                if (apuesta.TipoApuesta == "Over")
                {
                    mercado.DineroOver += apuesta.DineroApostado;
                }
                else if (apuesta.TipoApuesta == "Under")
                {
                    mercado.DineroUnder += apuesta.DineroApostado;
                }

                //calculo de probabilidad Over
                double probabilidadOver = mercado.DineroOver / (mercado.DineroOver + mercado.DineroUnder);
                if (probabilidadOver != 0)
                {
                    double CuotaOver = 1 / probabilidadOver * 0.95;
                    mercado.CuotaOver = Math.Round((double)Convert.ToDouble(CuotaOver), 2);
                }

                //calculo de probabilidad Under
                double probabilidadUnder = mercado.DineroUnder / (mercado.DineroOver + mercado.DineroUnder);
                if (probabilidadUnder != 0)
                {
                    double CuotaUnder = 1 / probabilidadUnder * 0.95;
                    mercado.CuotaUnder = Math.Round((double)Convert.ToDouble(CuotaUnder), 2);
                }
                //Guardamos cambios en la base de datos
                context.SaveChanges();
            }

            /*MySqlConnection con = Connect();
             * MySqlCommand command = con.CreateCommand();
             *
             * con.Open();
             * Debug.WriteLine("tipo: " + apuesta.TipoApuesta + apuesta.IDMercado);
             * if (apuesta.TipoApuesta == "Over")
             * {
             *  command.CommandText = "UPDATE Mercado SET DineroOver = DineroOver + " + apuesta.DineroApostado + "  WHERE ID = " + apuesta.IDMercado + "; ";
             *
             * }
             * else if (apuesta.TipoApuesta == "Under")
             * {
             *  command.CommandText = "UPDATE Mercado SET DineroUnder = DineroUnder + " + apuesta.DineroApostado + "  WHERE ID = " + apuesta.IDMercado + "; ";
             * }
             * command.ExecuteNonQuery();*/
        }
Пример #3
0
        public ApuestaDTO ToDTO(Apuesta a)
        {
            int eventoid;

            using (var context = new PlaceMyBetContext())
            {
                eventoid = context.Mercados.FirstOrDefault(m => m.MercadoId == a.MercadoId).EventoId;
            }


            return(new ApuestaDTO(a.UsuarioId, eventoid, a.Tipo, a.Cuota, a.DineroApostado, a.Mercado));
        }
Пример #4
0
        internal Apuesta Retrieve(int id)
        {
            var apuesta = new Apuesta();

            using (var context = new PlaceMyBetContext())
            {
                apuesta = context.Apuestas
                          .Where(a => a.Id == id)
                          .FirstOrDefault();
            }

            return(apuesta);
        }
Пример #5
0
        internal void Save(Apuesta a)
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            if (a.TipoApuesta == 0)
            {
                command.CommandText = "SELECT cOver FROM mercado WHERE id = " + a.MercadoId;
            }
            else if (a.TipoApuesta == 1)
            {
                command.CommandText = "SELECT cUnder FROM mercado WHERE id = " + a.MercadoId;
            }

            double cuota = 0.0;

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

                while (res.Read())
                {
                    cuota = res.GetDouble(0);
                }

                con.Close();
            }
            catch (MySqlException e)
            {
                Debug.WriteLine("Error al conectar con la base de datos");
            }

            command.CommandText = "insert into apuesta(usuario, importe, mercado, cuota, tipoApuesta, fecha) values (" + a.UsuarioId + "," + a.Importe + "," + a.MercadoId + "," + cuota.ToString(System.Globalization.CultureInfo.InvariantCulture) + "," + a.TipoApuesta + ",'" + a.Fecha + "');";

            try
            {
                con.Open();
                command.ExecuteNonQuery();
                con.Close();

                this.Recalculate(a.MercadoId);
            }
            catch (MySqlException e)
            {
                Debug.WriteLine("Error al conectar con la base de datos");
            }
        }
Пример #6
0
        private double CuotaUnder(Apuesta a)
        {
            List <Mercado> m = new List <Mercado>();

            m = Retrieve();
            for (int i = 0; i < m.Count; i++)
            {
                if (m[i].id_mercado == a.Mercado_id_mercado)
                {
                    double probUnder;
                    probUnder = m[i].DineroApostadoUnder / (m[i].DineroApostadoOver + m[i].DineroApostadoUnder);
                    return(Math.Round((1 / probUnder) * cuota, 2, MidpointRounding.AwayFromZero));
                }
            }
            return(0);
        }
Пример #7
0
        internal List <Apuesta> Retrieve()
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            command.CommandText = "select * from apuestas";

            con.Open();
            MySqlDataReader res      = command.ExecuteReader();
            Apuesta         a        = null;
            List <Apuesta>  apuestas = new List <Apuesta>();

            while (res.Read())
            {
                Debug.WriteLine("Recuperado: " + res.GetInt32(0) + " " + res.GetDouble(1) + " " + res.GetString(2) + " " + res.GetDouble(3) + " " + res.GetDouble(4) + " " + res.GetDateTime(5) + " " + res.GetInt32(6) + " " + res.GetString(7));
                a = new Apuesta(res.GetInt32(0), res.GetDouble(1), res.GetString(2), res.GetDouble(3), res.GetDouble(4), res.GetDateTime(5), res.GetInt32(6), res.GetString(7));
                apuestas.Add(a);
            }
            con.Close();
            return(apuestas);
        }
Пример #8
0
        /* internal void Save(ApuestaDTO apuesta, double cuota)
         * {*/
        internal void Save(Apuesta apuesta)
        {
            // MySqlConnection con = Connect();
            //MySqlCommand command = con.CreateCommand();


            PlaceMyBetContext context = new PlaceMyBetContext();

            context.Add(apuesta);
            context.SaveChanges();



            // con.Open();
            // command.CommandText = "INSERT INTO apuesta(DineroApostado, TipoApuesta, Cuota, ID_Mercado, Email_Usuario) VALUES('" + apuesta.DineroApostado + "','" + apuesta.TipoApuesta + "','" + cuota.ToString(CultureInfo.CreateSpecificCulture("us-US")) + "','" + apuesta.IDMercado + "','" + apuesta.EmailUsuario + "');";
            // Debug.WriteLine("Comando: " + command.CommandText);
            // command.ExecuteNonQuery();


            // con.Close();
        }
        internal void Save(Apuesta a)
        {
            //MySqlConnection con = Connect();
            //MySqlCommand command = con.CreateCommand();
            /// para que aunque introduzcas puntos no te transforme el sql en comas
            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;
            ///Creo el metodo para ingresar la fecha de ahora
            DateTime time = DateTime.Now;
            string   timeNow;

            timeNow = time.ToString("yyyy-MM-dd HH:mm tt");
            ///creo metodos en la consulta para poder saber si es over o under
            //command.CommandText = "INSERT INTO apuestas (MercadoOverUnder, TipoOverUnder, Cuota, DineroApostado, Fecha, Mercado_id_mercado, Usuario_Email) VALUES ('" + a.MercadoOverUnder + "','" + a.TipoOverUnder + "'," + datoCuota(a.Mercado_id_mercado, a.TipoOverUnder) + ",'" + a.DineroApostado + "','" + timeNow + "'," + a.Mercado_id_mercado + ",'" + a.Usuario_Email + "');";
            //Debug.WriteLine("comando" + command.CommandText);

            ///abro conexiones, creo objeto MercadoRepository para poder acceder a los metodos inplantados de SumaApuesta(a)
            ///y ActualizarCuotas(a), le paso un objeto apuesta para extraer la información para saber donde hacer la actualizacion
            //try
            //{
            //con.Open();
            //command.ExecuteNonQuery();
            MercadoRepository mercado = new MercadoRepository();

            mercado.SumaApuesta(a);
            mercado.ActualizarCuotas(a);

            //con.Close();
            //}
            //catch(MySqlException e)
            {
                Debug.WriteLine("se ha producido un error de conexion");
            }
        }
        ///Metodo para acumular el dinero apostado en su celda correspondiente (overo o under)
        public void SumaApuesta(Apuesta a)
        {
            //MySqlConnection con = Connect();
            //MySqlCommand command = con.CreateCommand();
            // para que aunque introduzcas puntos no te transforme el sql en comas
            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;

            if (a.TipoOverUnder.ToLower() == "over")
            {
                //string consulta = string.Format("UPDATE mercados SET DineroApostadoOver = (DineroApostadoOver + '{0}') WHERE id_mercado ='{1}';", a.DineroApostado, a.Mercado_id_mercado);
                //command.CommandText = consulta;
                //Debug.WriteLine("comando" + command.CommandText);
            }
            else
            {
                //string consulta = string.Format("UPDATE mercados SET DineroApostadoUnder = (DineroApostadoUnder + '{0}') WHERE id_mercado ='{1}';", a.DineroApostado, a.Mercado_id_mercado);
                //command.CommandText = consulta;
                //Debug.WriteLine("comando" + command.CommandText);
            }
            ///cuando tenermos una de las dos condiciones, cargamos la consulta en el command, abrimos conexion, hacemos consulta
            ///y cerramos conexion

            /*try
             * {
             *  con.Open();
             *  command.ExecuteNonQuery();
             *  con.Close();
             * }
             * catch (MySqlException e)
             * {
             *
             * }*/
        }
Пример #11
0
 public ApuestaDTO ToDTO(Apuesta a)
 {
     return(new ApuestaDTO(a.UsuarioId, a.MercadoId, a.TipoApuesta, a.Cuota, a.Mercado.Tipo, a.Importe));
 }
Пример #12
0
        internal void Save(Apuesta a)
        {
            CultureInfo cullInfo = new System.Globalization.CultureInfo("es-ES");

            cullInfo.NumberFormat.NumberDecimalSeparator = ".";

            cullInfo.NumberFormat.CurrencyDecimalSeparator = ".";

            cullInfo.NumberFormat.PercentDecimalSeparator = ".";

            cullInfo.NumberFormat.CurrencyDecimalSeparator = ".";

            System.Threading.Thread.CurrentThread.CurrentCulture = cullInfo;

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

            command.CommandText = "insert into apuesta values(" + a.Id + "," + "'" + a.Tipo + "'" + "," + a.Cuota + "," + a.DineroApostado + "," + a.IdMercado + "," + "'" + a.EmailUsuario + "'" + ");";
            try
            {
                con.Open();
                command.ExecuteNonQuery();
            }
            catch (MySqlException e)
            {
                Console.WriteLine("Error " + e);
            }
            con.Close();
            if (a.Tipo.ToUpper() == "OVER")
            {
                command.CommandText = "UPDATE mercado SET dinero_apostado_over = dinero_apostado_over + " + a.DineroApostado + " WHERE id=" + a.IdMercado + ";";
            }
            if (a.Tipo.ToUpper() == "UNDER")
            {
                command.CommandText = "UPDATE mercado SET dinero_apostado_under = dinero_apostado_under + " + a.DineroApostado + " WHERE id=" + a.IdMercado + ";";
            }
            try
            {
                con.Open();
                command.ExecuteNonQuery();
            }
            catch (MySqlException e)
            {
                Console.WriteLine("Error " + e);
            }
            con.Close();
            con.Open();
            command.CommandText = "select dinero_apostado_over from mercado where id=" + a.IdMercado + "; ";
            MySqlDataReader reader = command.ExecuteReader();

            reader.Read();
            double dino = reader.GetDouble(0);

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

            con.Open();
            command.CommandText = "select dinero_apostado_under from mercado where id=" + a.IdMercado + "; ";
            reader = command.ExecuteReader();
            reader.Read();
            double dinu = reader.GetDouble(0);

            reader.Close();
            con.Close();
            double po = dino / (dino + dinu);
            double pu = dinu / (dinu + dino);

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

            command.CommandText = "update mercado set cuota_over = '" + co + "' where id =" + a.IdMercado + ";";
            try
            {
                con.Open();
                command.ExecuteNonQuery();
            }
            catch (MySqlException e)
            {
                Console.WriteLine("Error " + e);
            }
            con.Close();

            command.CommandText = "update mercado set cuota_under = '" + cu + "' where id =" + a.IdMercado + "; ";
            try
            {
                con.Open();
                command.ExecuteNonQuery();
            }
            catch (MySqlException e)
            {
                Console.WriteLine("Error " + e);
            }
            con.Close();
        }
Пример #13
0
 internal static ApuestaDTO ToDTO(Apuesta a)
 {
     return(new ApuestaDTO(a.DineroApostado, a.TipoApuesta, a.Cuota, a.MercadoID, a.UsuarioEmail));
 }
Пример #14
0
 /***EJERCICIO 1***/
 public ApuestaDTOID ToDTOID(Apuesta a)
 {
     return(new ApuestaDTOID(a.ApuestaId));
 }
Пример #15
0
        internal void Save(Apuesta a)
        {
            //MySqlConnection con = Connect();
            //MySqlCommand command = con.CreateCommand();
            //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;

            //command.CommandText = "select * from mercado where idMercado="+a.idMercado+";";
            //try
            //{
            //    con.Open();
            //    MySqlDataReader res = command.ExecuteReader();
            //    res.Read();
            //    Debug.WriteLine("Recuperado: " + res.GetInt32(0) + " " + res.GetDouble(1) + " " + res.GetDouble(2) + " " + res.GetDouble(3) + " " + res.GetDouble(4) + " " + res.GetDouble(5) + " " + res.GetInt32(6));
            //    Mercado m = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetDouble(4), res.GetDouble(5), res.GetInt32(6));

            //    double dineroOver = 0;
            //    double dineroUnder = 0;
            //    if (a.tipoCuota == "over")
            //    {
            //        dineroOver = a.dinero + m.dineroOver;
            //        dineroUnder = m.dineroUnder;
            //    }
            //    else
            //    {
            //        dineroOver = m.dineroOver;
            //        dineroUnder = a.dinero + m.dineroUnder;
            //    }

            //    double cuotaOver = dineroOver / (dineroOver + dineroUnder);
            //    cuotaOver = (1 / cuotaOver) * 0.95;
            //    double cuotaUnder = dineroUnder / (dineroUnder + dineroOver);
            //    cuotaUnder = (1 / cuotaUnder) * 0.95;
            //    res.Close();
            //    con.Close();
            //    command.CommandText = "update mercado set cuotaOver=" + Math.Round(cuotaOver,2) + ", cuotaUnder=" + Math.Round(cuotaUnder,2) +", dineroOver="+dineroOver+", dineroUnder="+ dineroUnder+ " where idMercado="+a.idMercado + ";";
            //    try
            //    {
            //        con.Open();
            //        command.ExecuteNonQuery();
            //        con.Close();
            //        double cuotaApuesta = 0;
            //        if (a.tipoCuota == "under")
            //        {
            //            cuotaApuesta = cuotaUnder;
            //        }
            //        else
            //        {
            //            cuotaApuesta = cuotaOver;
            //        }
            //        command.CommandText = "insert into apuesta(tipoMercado, cuota, dinero, fecha, idMercado, gmail, tipoCuota) values (" + a.tipoMercado + ", " + Math.Round(cuotaApuesta, 2) + ", " + a.dinero + ", '" + DateTime.Now.ToString("yyyy-MM-dd") + "', " + a.idMercado + ", '" + a.gmail + "', '" + a.tipoCuota + "');";
            //        try
            //        {
            //            con.Open();
            //            command.ExecuteNonQuery();
            //            con.Close();
            //        }
            //        catch (MySqlException e)
            //        {
            //            Debug.WriteLine("Se ha producido un error de conexion");
            //        }
            //    }
            //    catch (MySqlException e)
            //    {
            //        Debug.WriteLine("Se ha producido un error de conexion");
            //    }

            //}
            //catch (MySqlException e)
            //{
            //    Debug.WriteLine("Se ha producido un error de conexion");
            //}

            PlaceMyBetContext context = new PlaceMyBetContext();

            context.Apuestas.Add(a);
            context.SaveChanges();

            Mercado m;

            using (context)
            {
                m = context.Mercados.Single(b => b.MercadoId == a.MercadoId);
                if (a.tipoCuota == "under")
                {
                    m.DineroUnder = m.DineroUnder + a.dinero;
                }
                else
                {
                    m.DineroOver = m.DineroOver + a.dinero;
                }

                m.CuotaOver  = m.DineroOver / (m.DineroOver + m.DineroUnder);
                m.CuotaOver  = Math.Round((1 / m.CuotaOver) * 0.95, 2);
                m.CuotaUnder = m.DineroUnder / (m.DineroUnder + m.DineroOver);
                m.CuotaUnder = Math.Round((1 / m.CuotaUnder) * 0.95, 2);
                context.SaveChanges();
            }
        }
Пример #16
0
        internal void Save(Apuesta a)
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();
            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;

            command.CommandText = "select * from mercado where idMercado=" + a.idMercado + ";";
            try
            {
                con.Open();
                MySqlDataReader res = command.ExecuteReader();
                res.Read();
                Debug.WriteLine("Recuperado: " + res.GetInt32(0) + " " + res.GetDouble(1) + " " + res.GetDouble(2) + " " + res.GetDouble(3) + " " + res.GetDouble(4) + " " + res.GetDouble(5) + " " + res.GetInt32(6));
                Mercado m = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetDouble(4), res.GetDouble(5), res.GetInt32(6));

                double dineroOver  = 0;
                double dineroUnder = 0;
                if (a.tipoCuota == "over")
                {
                    dineroOver  = a.dinero + m.dineroOver;
                    dineroUnder = m.dineroUnder;
                }
                else
                {
                    dineroOver  = m.dineroOver;
                    dineroUnder = a.dinero + m.dineroUnder;
                }

                double cuotaOver = dineroOver / (dineroOver + dineroUnder);
                cuotaOver = (1 / cuotaOver) * 0.95;
                double cuotaUnder = dineroUnder / (dineroUnder + dineroOver);
                cuotaUnder = (1 / cuotaUnder) * 0.95;
                res.Close();
                con.Close();
                command.CommandText = "update mercado set cuotaOver=" + Math.Round(cuotaOver, 2) + ", cuotaUnder=" + Math.Round(cuotaUnder, 2) + ", dineroOver=" + dineroOver + ", dineroUnder=" + dineroUnder + " where idMercado=" + a.idMercado + ";";
                try
                {
                    con.Open();
                    command.ExecuteNonQuery();
                    con.Close();
                    double cuotaApuesta = 0;
                    if (a.tipoCuota == "under")
                    {
                        cuotaApuesta = cuotaUnder;
                    }
                    else
                    {
                        cuotaApuesta = cuotaOver;
                    }
                    command.CommandText = "insert into apuesta(tipoMercado, cuota, dinero, fecha, idMercado, gmail, tipoCuota) values (" + a.tipoMercado + ", " + Math.Round(cuotaApuesta, 2) + ", " + a.dinero + ", '" + DateTime.Now.ToString("yyyy-MM-dd") + "', " + a.idMercado + ", '" + a.gmail + "', '" + a.tipoCuota + "');";
                    try
                    {
                        con.Open();
                        command.ExecuteNonQuery();
                        con.Close();
                    }
                    catch (MySqlException e)
                    {
                        Debug.WriteLine("Se ha producido un error de conexion");
                    }
                }
                catch (MySqlException e)
                {
                    Debug.WriteLine("Se ha producido un error de conexion");
                }
            }
            catch (MySqlException e)
            {
                Debug.WriteLine("Se ha producido un error de conexion");
            }
        }
Пример #17
0
        /***FIN EJERCICIO 2***/


        internal void Save(Apuesta a)
        {
            CultureInfo cullInfo = new System.Globalization.CultureInfo("es-ES");

            cullInfo.NumberFormat.NumberDecimalSeparator = ".";

            cullInfo.NumberFormat.CurrencyDecimalSeparator = ".";

            cullInfo.NumberFormat.PercentDecimalSeparator = ".";

            cullInfo.NumberFormat.CurrencyDecimalSeparator = ".";

            System.Threading.Thread.CurrentThread.CurrentCulture = cullInfo;

            ///*MySqlConnection con = Connect();
            //MySqlCommand command = con.CreateCommand();
            //command.CommandText = "insert into apuesta values(" + a.Id + "," + "'" + a.Tipo + "'" + "," + a.Cuota + "," + a.DineroApostado+","+a.IdMercado+"," + "'" + a.EmailUsuario + "'" + ");";
            //*/
            //try
            //{
            //    /*con.Open();
            //    command.ExecuteNonQuery();*/

            //}
            //catch (/*MySqlException e*/ InvalidCastException e)
            //{
            //    Console.WriteLine("Error " + e);
            //}
            ////con.Close();
            //if (a.Tipo.ToUpper() == "OVER")
            //{
            //    //command.CommandText = "UPDATE mercado SET dinero_apostado_over = dinero_apostado_over + " + a.DineroApostado + " WHERE id=" + a.IdMercado+";";
            //}
            //if (a.Tipo.ToUpper() == "UNDER")
            //{
            //    //command.CommandText = "UPDATE mercado SET dinero_apostado_under = dinero_apostado_under + " + a.DineroApostado + " WHERE id=" + a.IdMercado + ";";
            //}
            //try
            //{
            //    /*con.Open();
            //    command.ExecuteNonQuery();*/

            //}
            //catch (/*MySqlException e*/ InvalidCastException e)
            //{
            //    Console.WriteLine("Error " + e);
            //}
            ///*con.Close();
            //con.Open();
            //command.CommandText = "select dinero_apostado_over from mercado where id="+ a.IdMercado+"; ";
            //MySqlDataReader reader = command.ExecuteReader();
            //reader.Read();*/
            //double dino;
            ///*double dino = reader.GetDouble(0);
            //reader.Close();
            //con.Close();*/

            ///*con.Open();
            //command.CommandText = "select dinero_apostado_under from mercado where id=" + a.IdMercado + "; ";
            //reader = command.ExecuteReader();
            //reader.Read();*/
            //double dinu;
            ///*double dinu = reader.GetDouble(0);
            //reader.Close();
            //con.Close();*/
            //double po = 0;
            //double pu = 0;
            ///*double po = dino / (dino + dinu);
            //double pu = dinu / (dinu + dino);*/

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

            ////command.CommandText = "update mercado set cuota_over = '" + co + "' where id =" + a.IdMercado + ";";
            //try
            //{
            //    /*con.Open();
            //    command.ExecuteNonQuery();*/

            //}
            //catch (/*MySqlException e*/ InvalidCastException e)
            //{
            //    Console.WriteLine("Error " + e);
            //}
            ////con.Close();

            ////command.CommandText = "update mercado set cuota_under = '"+cu+"' where id ="+ a.IdMercado +"; ";
            //try
            //{
            //    /*con.Open();
            //    command.ExecuteNonQuery();*/

            //}
            //catch (/*MySqlException e*/ InvalidCastException e)
            //{
            //    Console.WriteLine("Error " + e);
            //}
            ////con.Close();
            double dino;
            double dinu;

            using (var context = new PlaceMyBetContext())
            {
                var apuestas = context.Set <Apuesta>();
                apuestas.Add(a);
                context.SaveChanges();
            }

            using (var context = new PlaceMyBetContext())
            {
                Mercado mercado = context.Mercados
                                  .FirstOrDefault(m => m.MercadoId == a.MercadoId);
                dino = mercado.DineroApostadoOver;
                dinu = mercado.DineroApostadoUnder;

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

                mercado.CuotaOver  = co;
                mercado.CuotaUnder = cu;

                if (a.Tipo.ToUpper() == "OVER")
                {
                    mercado.DineroApostadoOver = dino + a.DineroApostado;
                }
                if (a.Tipo.ToUpper() == "UNDER")
                {
                    mercado.DineroApostadoOver = dinu + a.DineroApostado;
                }

                context.SaveChanges();
            }
        }