internal void Save(Apuesta a)
        {
            DDBBContext context = new DDBBContext();

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

            Mercado mer = new Mercado();

            mer = context.Mercados
                  .Where(m => m.MercadoID == a.MercadoID).FirstOrDefault();


            if (a.Tipo_apuesta == 0)
            {
                mer.Dinero_under += a.Dinero_apostado;
            }
            else
            {
                mer.Dinero_over += a.Dinero_apostado;
            }

            var probOver  = mer.Dinero_over / (mer.Dinero_under + mer.Dinero_over);
            var probUnder = mer.Dinero_under / (mer.Dinero_over + mer.Dinero_under);

            mer.Cuota_under = Math.Round(Convert.ToDouble((1 / probOver) * 0.95));
            mer.Cuota_over  = Math.Round(Convert.ToDouble((1 / probUnder) * 0.95));

            context.Mercados.Update(mer);
            context.SaveChanges();
        }
        //insertar mercado
        internal void Save(Mercado e)
        {
            DDBBContext context = new DDBBContext();

            context.Mercados.Add(e);
            context.SaveChanges();
        }
        internal void Save(Evento e)
        {
            DDBBContext context = new DDBBContext();

            context.Eventos.Add(e);
            context.SaveChanges();
        }
        internal void Save(Usuario e)
        {
            DDBBContext context = new DDBBContext();

            context.Usuarios.Add(e);
            context.SaveChanges();
        }
 internal void Delete(int id)
 {
     using (DDBBContext context = new DDBBContext())
     {
         context.Eventos.Remove(context.Eventos.Where(e => e.EventoID == id).FirstOrDefault());
         context.SaveChanges();
     }
 }
        internal List <ApuestaDTO> RetrieveDTO()
        {
            DDBBContext       context     = new DDBBContext();
            List <ApuestaDTO> apuestasDTO = new List <ApuestaDTO>();

            apuestasDTO = context.Apuestas.Include(a => a.Mercado).Select(m => ToDTO(m)).ToList();
            return(apuestasDTO);
        }
        internal List <Apuesta2> RetrieveByCuota()
        {
            DDBBContext     context     = new DDBBContext();
            List <Apuesta2> apuestasDTO = new List <Apuesta2>();

            apuestasDTO = context.Apuestas.Where(b => b.Cuota < 1.8).Select(m => ToID(m)).ToList();
            return(apuestasDTO);
        }
        //PREGUNTA EXAMEN 1 : RECUPERAMOS CON EL ID DE MERCADO LA INFORMACION DE APUESTAS

        internal List <Mercado> RetrieveByTeam(int id)
        {
            List <Mercado> apuestas = new List <Mercado>();

            using (DDBBContext context = new DDBBContext())
            {
                apuestas = context.Mercados.Where(m => m.MercadoID == id).ToList();
            }
            return(apuestas);
        }
        internal List <Evento> Retrieve()
        {
            List <Evento> todos = new List <Evento>();

            using (DDBBContext context = new DDBBContext())
            {
                todos = context.Eventos.ToList();
            }
            return(todos);
        }
        //PREGUNTA EXAMEN 2: A PARTIR DE UN EQUIPO RECUPERAMOS SU INFORMACION

        internal List <Apuesta> RetrieveByEquipo(string equipo)
        {
            List <Apuesta> apuestas = new List <Apuesta>();

            using (DDBBContext context = new DDBBContext())
            {
                apuestas = context.Apuestas.Where(a => a.Mercado.Evento.Local == equipo || a.Mercado.Evento.Visitante == equipo).ToList();
            }
            return(apuestas);
        }
        //PREGUNTA EXAMEN 1 : RECUPERAMOS CON EL ID DE MERCADO LA INFORMACION DE APUESTAS ***************************


        internal List <Apuesta> RetrieveByTeam(int id)
        {
            List <Apuesta> apuestas = new List <Apuesta>();

            using (DDBBContext context = new DDBBContext())
            {
                apuestas = context.Apuestas.Where(a => a.Mercado.MercadoID == id).ToList();
            }
            return(apuestas);
        }
        internal List <MercadoDTO> RetrieveDTO()
        {
            List <MercadoDTO> mercados;

            using (DDBBContext context = new DDBBContext())
            {
                mercados = context.Mercados.Select(p => ToDTO(p)).ToList();
            }
            return(mercados);
        }
        internal List <Apuesta> Retrieve()
        {
            List <Apuesta> todos = new List <Apuesta>();

            using (DDBBContext context = new DDBBContext())
            {
                //todos = context.Apuestas.ToList();
                todos = context.Apuestas.Include(m => m.Mercado).ToList();
            }
            return(todos);
        }
        //Mostrar todos los mercados
        internal List <Mercado> Retrieve()
        {
            List <Mercado> todos = new List <Mercado>();

            using (DDBBContext context = new DDBBContext())
            {
                todos = context.Mercados.ToList();
                //todos = context.Mercados.Include(p => p.Evento).ToList();
            }
            return(todos);
        }
        internal void Update(int id, Evento ev)
        {
            Evento evento;

            using (DDBBContext context = new DDBBContext())
            {
                evento           = context.Eventos.Where(e => e.EventoID == id).FirstOrDefault();
                evento.Local     = ev.Local;
                evento.Visitante = ev.Visitante;
                context.SaveChanges();
            }
        }
        internal Apuesta RetrieveById(int id)
        {
            Apuesta apuestas;

            using (DDBBContext context = new DDBBContext())
            {
                apuestas = context.Apuestas
                           .Where(s => s.ApuestaID == id)
                           .FirstOrDefault();
            }
            return(apuestas);
        }
        //examen
        internal List <Apuesta> Retrieve()
        {
            List <Apuesta> todos = new List <Apuesta>();

            using (DDBBContext context = new DDBBContext())
            {
                //todos = context.Apuestas.ToList();
                //todos = context.Apuestas.Include(m => m.Usuario).Select(m => ToExamen2(m)).ToList();
                todos = context.Apuestas.Include(m => m.Usuario).ToList();
            }
            return(todos);
        }
        //mostrar mecados por id insertada
        internal Mercado RetrieveById(int id)
        {
            Mercado mercados;

            using (DDBBContext context = new DDBBContext())
            {
                mercados = context.Mercados
                           .Where(s => s.MercadoID == id)
                           .FirstOrDefault();
            }
            return(mercados);
        }