コード例 #1
0
        internal void Save(Partido p)
        {
            var context = new PlaceMyBetContext();

            context.Partidos.Add(p);
            context.SaveChanges();
        }
コード例 #2
0
        internal void Recalculate(int mercadoId)
        {
            try
            {
                using (var context = new PlaceMyBetContext())
                {
                    double resOver  = context.Apuestas.Where(m1 => m1.MercadoId == mercadoId & m1.TipoApuesta == 0).Select(i1 => i1.Importe).Sum();
                    double resUnder = context.Apuestas.Where(m2 => m2.MercadoId == mercadoId & m2.TipoApuesta == 1).Select(i2 => i2.Importe).Sum();

                    double total = resOver + resUnder;

                    double probOver  = resOver / total;
                    double cuotaOver = 0.95 / probOver;

                    double probUnder  = resUnder / total;
                    double cuotaUnder = 0.95 / probUnder;

                    var mercado = context.Mercados.First(m => m.Id == mercadoId);
                    mercado.COver  = cuotaOver;
                    mercado.CUnder = cuotaUnder;
                    context.SaveChanges();
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine("Error al añadir un apuesta");
            }
        }
コード例 #3
0
        internal void Save(Evento e)
        {
            PlaceMyBetContext context = new PlaceMyBetContext();

            context.Eventos.Add(e);
            context.SaveChanges();
        }
コード例 #4
0
        internal void save(Mercado mercado)
        {
            PlaceMyBetContext context = new PlaceMyBetContext();

            context.Add(mercado);
            context.SaveChanges();
        }
コード例 #5
0
        internal void Save(Mercado m)
        {
            PlaceMyBetContext context = new PlaceMyBetContext();

            context.Mercados.Add(m);
            context.SaveChanges();
        }
コード例 #6
0
        internal void Save(Apuesta a)
        {
            try
            {
                using (var context = new PlaceMyBetContext())
                {
                    var apuesta = new Apuesta
                    {
                        UsuarioId   = a.UsuarioId,
                        Importe     = a.Importe,
                        MercadoId   = a.MercadoId,
                        Cuota       = a.Cuota,
                        TipoApuesta = a.TipoApuesta,
                        Fecha       = a.Fecha,
                    };
                    context.Apuestas.Add(apuesta);
                    context.SaveChanges();

                    this.Recalculate(a.MercadoId);
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine("Error al añadir un apuesta");
            }
        }
コード例 #7
0
 internal void Delete(int id)
 {
     using (var context = new PlaceMyBetContext())
     {
         context.Eventos.Remove(context.Eventos.FirstOrDefault(e => e.EventoId == id));
         context.SaveChanges();
     }
 }
コード例 #8
0
        internal void Delete(int id)
        {
            PlaceMyBetContext context = new PlaceMyBetContext();

            Partido partido = Retrieve(id);

            context.Partidos.Remove(partido);
            context.SaveChanges();
        }
コード例 #9
0
 internal void Save(Mercado m)
 {
     using (var context = new PlaceMyBetContext())
     {
         var mercados = context.Set <Mercado>();
         mercados.Add(m);
         context.SaveChanges();
     }
 }
コード例 #10
0
        internal void Update(int id, Partido p)
        {
            PlaceMyBetContext context = new PlaceMyBetContext();

            Partido partido = Retrieve(id);

            partido.Local     = p.Local;
            partido.Visitante = p.Visitante;
            context.SaveChanges();
        }
コード例 #11
0
 internal void Update(int id, string equipol, string equipov)
 {
     using (var context = new PlaceMyBetContext())
     {
         Evento evento = context.Eventos.FirstOrDefault(e => e.EventoId == id);
         evento.EquipoL = equipol;
         evento.EquipoV = equipov;
         context.SaveChanges();
     }
 }
コード例 #12
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();*/
        }
コード例 #13
0
        internal void DeleteEvento(int id)
        {
            using (PlaceMyBetContext context = new PlaceMyBetContext())
            {
                var removeEvent = context.Eventos
                                  .Where(b => b.EventoID == id)
                                  .FirstOrDefault();

                context.Eventos.Remove(removeEvent);
                context.SaveChanges();
            }
        }
コード例 #14
0
        internal void Delete(int id)
        {
            PlaceMyBetContext context = new PlaceMyBetContext();
            Evento            e;

            using (context)
            {
                e = context.Eventos.Single(b => b.EventoId == id);
                context.Eventos.Remove(e);
                context.SaveChanges();
            }
        }
コード例 #15
0
        internal void Put(int id, string local, string visitante)
        {
            PlaceMyBetContext context = new PlaceMyBetContext();
            Evento            e;

            using (context)
            {
                e           = context.Eventos.Single(b => b.EventoId == id);
                e.Local     = local;
                e.Visitante = visitante;
                context.SaveChanges();
            }
        }
コード例 #16
0
        internal void updateDinero(int id, Evento evento)
        {
            using (PlaceMyBetContext context = new PlaceMyBetContext())
            {
                var newEvent = context.Eventos
                               .Where(b => b.EventoID == id)
                               .FirstOrDefault();

                if (evento.Equipo_Local != null)
                {
                    newEvent.Equipo_Local = evento.Equipo_Local;
                }

                if (evento.Equipo_Visitante != null)
                {
                    newEvent.Equipo_Visitante = evento.Equipo_Visitante;
                }
                context.SaveChanges();
            }
        }
コード例 #17
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();
        }
コード例 #18
0
 internal void Save(Mercado m)
 {
     try
     {
         using (var context = new PlaceMyBetContext())
         {
             var mercado = new Mercado
             {
                 Tipo      = m.Tipo,
                 COver     = m.COver,
                 CUnder    = m.CUnder,
                 PartidoId = m.PartidoId
             };
             context.Mercados.Add(mercado);
             context.SaveChanges();
         }
     }
     catch (Exception e)
     {
         Debug.WriteLine("Error al añadir un mercado");
     }
 }
コード例 #19
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();
            }
        }
コード例 #20
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();
            }
        }