public JuegosModel getJuegoById(int pId)
        {
            JuegosModel oJuegoModel = new JuegosModel();

            using (var bd = new Games_MarketEntities())
            {
                juegos      oJuegos     = bd.juegos.Where(p => p.id_juego.Equals(pId)).First();
                plataformas oplataforma = bd.plataformas.Where(p => p.id_plataforma.Equals(oJuegos.id_plataforma)).First();
                descuentos  odescuentos = bd.descuentos.Where(p => p.id_juego.Equals(pId)).Where(p => p.inicio < DateTime.Now).Where(p => p.fin > DateTime.Now).FirstOrDefault();
                if (odescuentos is null)
                {
                    odescuentos           = new descuentos();
                    odescuentos.descuento = 0;
                }
                plataformas oPlataformas = bd.plataformas.Where(p => p.id_plataforma.Equals(oJuegos.id_plataforma)).First();

                oJuegoModel.id_juego           = oJuegos.id_juego;
                oJuegoModel.nombre             = oJuegos.nombre;
                oJuegoModel.id_plataforma      = oJuegos.id_plataforma;
                oJuegoModel.nombre_plataforma  = oplataforma.nombre;
                oJuegoModel.precio             = oJuegos.precio - (oJuegos.precio * odescuentos.descuento / 100);
                oJuegoModel.precio             = Math.Round(oJuegoModel.precio, 2);
                oJuegoModel.img_ruta           = oJuegos.img_ruta;
                oJuegoModel.trailer_url        = oJuegos.trailer_url;
                oJuegoModel.distribuidora      = oJuegos.distribuidora;
                oJuegoModel.descripcion        = oJuegos.descripcion;
                oJuegoModel.fecha_lanzamiento  = oJuegos.fecha_lanzamiento;
                oJuegoModel.img_rutaPlataforma = oPlataformas.img_ruta;
            }
            return(oJuegoModel);
        }
Beispiel #2
0
        public ActionResult ChangePassword(UsuariosModel model)
        {
            using (Games_MarketEntities db = new Games_MarketEntities())
            {
                var oUsuario = db.usuarios.Where(d => d.token == model.token).FirstOrDefault();

                if (oUsuario != null)
                {
                    if (model.contrasena == null || model.contrasena2 == null)
                    {
                        ViewBag.error = "Contraseña no puede estar vacia";
                        return(View(model));
                    }
                    else if (model.contrasena != model.contrasena2)
                    {
                        ViewBag.error = "Las contraseñas no coinciden";
                        return(View(model));
                    }
                    else
                    {
                        oUsuario.contrasena = model.contrasena;
                        oUsuario.token      = null;
                        db.SaveChanges();
                        return(View("passChanged"));
                    }
                }
                else
                {
                    ViewBag.error = "Contaseña provisional expirada";
                }
            }
            return(View());
        }
Beispiel #3
0
        public usuarios getUsuarioByEmail(string email)
        {
            var      bd      = new Games_MarketEntities();
            usuarios usuario = bd.usuarios.Where(p => p.email.Equals(email)).FirstOrDefault();

            return(usuario);
        }
Beispiel #4
0
        public ActionResult Help(UsuariosModel ousuariosmodel)
        {
            BOLogin oBOLogin = new BOLogin();
            String  token    = oBOLogin.randomPassword();

            using (Games_MarketEntities db = new Games_MarketEntities())
            {
                var oUsuario = db.usuarios.Where(d => d.email == ousuariosmodel.email).FirstOrDefault();
                if (oUsuario != null)
                {
                    oUsuario.token = token;
                    db.SaveChanges();

                    String Dominio = "https://*****:*****@gmail.com", ousuariosmodel.email, "Restaurar contraseña GamesMarket",
                                                               "<p>Hola " + ousuariosmodel.nombre + " haz click en el link de abajo para redirigirte a la pantalla de cambio de contraseña.</p><br>" +
                                                               "<a href='" + url + "'>Click para recuperar</a>");

                    BOMail oBOMail = new BOMail();
                    oBOMail.sendEmail(oMailMessage);

                    return(View("CorrectSend"));
                }
                else
                {
                    ViewBag.error = "El correo no corresponde con ninguno registrado en la web. Revisa tus credenciales.";
                }
            }
            return(View());
        }
        public List <ComentariosModel> getComments(int id)
        {
            List <ComentariosModel> listaComentarios = new List <ComentariosModel>();

            using (var bd = new Games_MarketEntities())
            {
                listaComentarios = (from comentarios in bd.comentarios
                                    join juegos in bd.juegos
                                    on comentarios.id_juego equals juegos.id_juego
                                    join usuarios in bd.usuarios
                                    on comentarios.id_usuario equals usuarios.id_usuario
                                    where comentarios.id_juego == id
                                    orderby comentarios.fecha descending
                                    select new ComentariosModel
                {
                    id_comentario = comentarios.id_comentario,
                    id_juego = comentarios.id_juego,
                    id_usuario = comentarios.id_usuario,
                    nombre_usuario = usuarios.nombre,
                    comentario = comentarios.comentario,
                    fecha = comentarios.fecha
                }).ToList();
            }
            return(listaComentarios);
        }
Beispiel #6
0
        public usuarios getUsuarioById(int id)
        {
            var      bd      = new Games_MarketEntities();
            usuarios usuario = bd.usuarios.Where(p => p.id_usuario.Equals(id)).FirstOrDefault();

            return(usuario);
        }
Beispiel #7
0
        public List <BuysLibraryModel> getBuysLibrary(int id)
        {
            List <BuysLibraryModel> listaBuysLibrary = new List <BuysLibraryModel>();

            using (var bd = new Games_MarketEntities())
            {
                listaBuysLibrary = (from ventas in bd.ventas
                                    where ventas.id_usuario == id

                                    join claves in bd.claves
                                    on ventas.id_clave equals claves.id_clave
                                    where claves.estado == false

                                    join juegos in bd.juegos
                                    on claves.id_juego equals juegos.id_juego

                                    join plataformas in bd.plataformas
                                    on juegos.id_plataforma equals plataformas.id_plataforma

                                    orderby ventas.fecha_venta descending

                                    select new BuysLibraryModel
                {
                    nombre_juego = juegos.nombre,
                    nombre_plataforma = plataformas.nombre,
                    clave = claves.codigo
                }).ToList();
            }
            return(listaBuysLibrary);
        }
Beispiel #8
0
 public void removeFromWish(int id_usuario, int id_juego)
 {
     using (var bd = new Games_MarketEntities())
     {
         deseados odeseados = bd.deseados.Where(p => p.id_usuario.Equals(id_usuario) & p.id_juego.Equals(id_juego)).FirstOrDefault();
         bd.deseados.Remove(odeseados);
         bd.SaveChanges();
     }
 }
Beispiel #9
0
        public claves getClaveByid_clave(int id_clave)
        {
            claves oClaves = new claves();

            using (var bd = new Games_MarketEntities())
            {
                oClaves = bd.claves.Where(p => p.id_clave.Equals(id_clave)).FirstOrDefault();
            }
            return(oClaves);
        }
Beispiel #10
0
 public void addToWish(int id_usuario, int id_juego)
 {
     using (var bd = new Games_MarketEntities())
     {
         deseados odeseados = new deseados();
         odeseados.id_usuario = id_usuario;
         odeseados.id_juego   = id_juego;
         bd.deseados.Add(odeseados);
         bd.SaveChanges();
     }
 }
 public void post(int id_juego, int id_usuario, string comment)
 {
     using (var bd = new Games_MarketEntities())
     {
         comentarios ocomentarios = new comentarios();
         ocomentarios.id_juego   = id_juego;
         ocomentarios.id_usuario = id_usuario;
         ocomentarios.comentario = comment;
         ocomentarios.fecha      = DateTime.Now;
         bd.comentarios.Add(ocomentarios);
         bd.SaveChanges();
     }
 }
Beispiel #12
0
 public void addUser(UsuariosModel usuariosModel)
 {
     using (var bd = new Games_MarketEntities())
     {
         usuarios usuario = new usuarios();
         usuario.nombre     = usuariosModel.nombre;
         usuario.apellidos  = usuariosModel.apellidos;
         usuario.email      = usuariosModel.email;
         usuario.contrasena = usuariosModel.contrasena;
         bd.usuarios.Add(usuario);
         bd.SaveChanges();
     }
 }
Beispiel #13
0
        public Boolean checkWishList(int id_usuario, int id_juego)
        {
            Boolean check = true;

            using (var bd = new Games_MarketEntities())
            {
                deseados odeseados = bd.deseados.Where(p => p.id_usuario.Equals(id_usuario) & p.id_juego.Equals(id_juego)).FirstOrDefault();
                if (odeseados is null)
                {
                    check = false;
                }
            }
            return(check);
        }
Beispiel #14
0
        public List <JuegosModel> getGenereFullList()
        {
            List <JuegosModel> listaGeneros = new List <JuegosModel>();

            using (var bd = new Games_MarketEntities())
            {
                listaGeneros = (from generos in bd.generos
                                select new JuegosModel
                {
                    id_genero = generos.id_genero,
                    nombre_genero = generos.nombre
                }).ToList();
            }
            return(listaGeneros);
        }
Beispiel #15
0
        public UsuariosModel login(UsuariosModel usuariosModel)
        {
            var      bd      = new Games_MarketEntities();
            usuarios usuario = bd.usuarios.Where(p => p.email.Equals(usuariosModel.email) && p.contrasena.Equals(usuariosModel.contrasena)).FirstOrDefault();

            if (usuario == null)
            {
                return(null);
            }
            usuariosModel.id_usuario = usuario.id_usuario;
            usuariosModel.nombre     = usuario.nombre;
            usuariosModel.apellidos  = usuario.apellidos;

            return(usuariosModel);
        }
Beispiel #16
0
        public List <JuegosModel> getPlatformFullList()
        {
            List <JuegosModel> listaPlataformas = new List <JuegosModel>();

            using (var bd = new Games_MarketEntities())
            {
                listaPlataformas = (from plataformas in bd.plataformas
                                    select new JuegosModel
                {
                    id_plataforma = plataformas.id_plataforma,
                    nombre_plataforma = plataformas.nombre,
                    img_rutaPlataforma = plataformas.img_ruta
                }).ToList();
            }
            return(listaPlataformas);
        }
Beispiel #17
0
        public Boolean checkStockClaveByid_juego(int id_juego)
        {
            claves oClaves = new claves();

            using (var bd = new Games_MarketEntities())
            {
                oClaves = bd.claves.Where(p => p.id_juego.Equals(id_juego)).Where(p => p.estado.Equals(true)).FirstOrDefault();
            }
            if (oClaves != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #18
0
        public ventas addVenta(VentasModel oventasModel)
        {
            ventas oventas = new ventas();

            using (var bd = new Games_MarketEntities())
            {
                using (var dbContextTransaction = bd.Database.BeginTransaction())
                {
                    try
                    {
                        claves oClaves = new claves();
                        oClaves        = bd.claves.Where(p => p.id_juego.Equals(oventasModel.id_juego)).Where(p => p.estado.Equals(true)).FirstOrDefault();
                        oClaves.estado = false;

                        oventas.id_clave    = oClaves.id_clave;
                        oventas.id_usuario  = oventasModel.id_usuario;
                        oventas.fecha_venta = DateTime.Now;
                        oventas.tarj        = oventasModel.tarj;
                        oventas.tarj_mes    = oventasModel.tarj_mes;
                        oventas.tarj_ano    = oventasModel.tarj_ano;

                        bd.ventas.Add(oventas);
                        bd.SaveChanges();

                        dbContextTransaction.Commit();
                    }
                    catch (Exception e)
                    {
                        dbContextTransaction.Rollback();

                        BOLogin oBOUsuarios = new BOLogin();

                        usuarios ousuario = oBOUsuarios.getUsuarioById(oventasModel.id_usuario);

                        MailMessage oMailMessage = new MailMessage("*****@*****.**", "*****@*****.**", "Error al comprar",
                                                                   "<p>El usuario " + ousuario.email + " ha intentado comprar el juego con id " + oventasModel.id_juego + "y se ha producido el siguiente error:</p>" + e);

                        BOMail oBOMail = new BOMail();
                        oBOMail.sendEmail(oMailMessage);
                        oventas.id_clave = 0;
                    }
                }
            }
            return(oventas);
        }
Beispiel #19
0
        public List <CapturasModel> getCapturasList(int id)
        {
            List <CapturasModel> listaCapturas = new List <CapturasModel>();

            using (var bd = new Games_MarketEntities())
            {
                listaCapturas = (from capturas in bd.capturas
                                 join juegos in bd.juegos
                                 on capturas.id_juego equals juegos.id_juego
                                 where capturas.id_juego == id

                                 select new CapturasModel
                {
                    id_captura = capturas.id_captura,
                    id_juego = juegos.id_juego,
                    img_ruta = capturas.img_ruta
                }).ToList();
            }
            return(listaCapturas);
        }
Beispiel #20
0
        public List <GenerosModel> getGenerosById_juegosList(int id_juego)
        {
            List <GenerosModel> listaGeneros = new List <GenerosModel>();

            using (var bd = new Games_MarketEntities())
            {
                listaGeneros = (from juegos in bd.juegos
                                join generos_juegos in bd.generos_juegos
                                on juegos.id_juego equals generos_juegos.id_juego
                                where generos_juegos.id_juego == id_juego
                                join generos in bd.generos
                                on generos_juegos.id_genero equals generos.id_genero

                                select new GenerosModel
                {
                    id_genero = generos.id_genero,
                    nombre = generos.nombre
                }).ToList();
            }
            return(listaGeneros);
        }
Beispiel #21
0
        public ActionResult ChangePassword(String token)
        {
            if (token == null)
            {
                return(RedirectToAction("Help"));
            }
            using (Games_MarketEntities db = new Games_MarketEntities())
            {
                usuarios oUsuario = db.usuarios.Where(d => d.token == token).FirstOrDefault();
                if (oUsuario == null)
                {
                    ViewBag.Error = "Contaseña provisional expirada";
                    return(View("Help"));
                }
            }
            UsuariosModel model = new UsuariosModel();

            model.token = token;

            return(View(model));
        }
Beispiel #22
0
        public List <JuegosModel> getJuegosOferta()
        {
            List <JuegosModel> listaJuegos = new List <JuegosModel>();

            using (var bd = new Games_MarketEntities())
            {
                listaJuegos = (from juegos in bd.juegos
                               join plataformas in bd.plataformas
                               on juegos.id_plataforma equals plataformas.id_plataforma
                               join descuentos in bd.descuentos
                               on juegos.id_juego equals descuentos.id_juego
                               where (DateTime.Now > descuentos.inicio) && (DateTime.Now < descuentos.fin)
                               orderby descuentos.descuento descending

                               select new JuegosModel
                {
                    id_juego = juegos.id_juego,
                    nombre = juegos.nombre,
                    id_plataforma = juegos.id_plataforma,
                    precio = juegos.precio,
                    img_ruta = juegos.img_ruta,
                    trailer_url = juegos.trailer_url,
                    distribuidora = juegos.distribuidora,
                    descripcion = juegos.descripcion,
                    fecha_lanzamiento = juegos.fecha_lanzamiento,
                    nombre_plataforma = plataformas.nombre,
                    img_rutaPlataforma = plataformas.img_ruta,
                    descuento = descuentos.descuento
                }).ToList();
            }
            foreach (var item in listaJuegos)
            {
                item.precio = (item.precio - (item.precio * item.descuento / 100));
                item.precio = Math.Round(item.precio, 2);
            }
            return(listaJuegos);
        }
Beispiel #23
0
        public ActionResult Game(int?id, String comment)
        {
            //Control de errores
            if (Session["Log"] == null)
            {
                return(RedirectToAction("/Login/Login"));
            }
            if (id == null)
            {
                return(RedirectToAction("../Games/Game/" + id));
            }
            juegos juego = new juegos();

            using (var bd = new Games_MarketEntities())
            {
                juego = bd.juegos.Find(id);
            }
            if (juego == null || comment == "")
            {
                return(RedirectToAction("/Game"));
            }
            //Encuentra los datos del juego
            BOJuegos    oBOjuego    = new BOJuegos();
            JuegosModel juegosModel = oBOjuego.getJuegoById(id.Value);

            //Encuentra los generos del juego
            List <GenerosModel> oGenerosModel = oBOjuego.getGenerosById_juegosList(id.Value);
            string generos = "";

            foreach (var item in oGenerosModel)
            {
                generos += " " + @item.nombre;
            }
            ViewBag.generos = generos;

            //Encuentra las capturas del juego
            List <CapturasModel> listaCapturas = oBOjuego.getCapturasList(id.Value);

            ViewData["capturas"] = listaCapturas;

            //Añade el comentario
            BOComentarios oBOComentarios = new BOComentarios();

            if (comment != "")
            {
                oBOComentarios.post(id.Value, (int)Session["Log"], comment);
            }
            //Encuentra los comentarios
            List <ComentariosModel> listaComentarios = oBOComentarios.getComments(id.Value);

            ViewData["comentarios"] = listaComentarios;

            if (listaComentarios.Count != 0)
            {
                ViewBag.checkComments = true;
            }

            //Comprueba si hay stock
            BOClaves oBOClaves = new BOClaves();

            ViewBag.stock = oBOClaves.checkStockClaveByid_juego(id.Value);

            //Comprueba si el usuario lo tiene en lista de deseados
            if (Session["Log"] != null)
            {
                BOLogin   oBOLogin   = new BOLogin();
                usuarios  usuario    = oBOLogin.getUsuarioById((int)Session["Log"]);
                BOLibrary oBOLibrary = new BOLibrary();
                ViewBag.wish = oBOLibrary.checkWishList(usuario.id_usuario, id.Value);
            }

            return(View(juegosModel));
        }
        public List <JuegosModel> getGameslist(JuegosModel ofilter)
        {
            List <JuegosModel> listaJuegos  = new List <JuegosModel>();
            List <JuegosModel> listaOfertas = new List <JuegosModel>();

            if (ofilter.id_genero != 0 && ofilter.id_plataforma != 0)
            {
                using (var bd = new Games_MarketEntities())
                {
                    listaOfertas = (from juegos in bd.juegos
                                    where (juegos.nombre.Contains(ofilter.nombre))
                                    join plataformas in bd.plataformas
                                    on juegos.id_plataforma equals plataformas.id_plataforma
                                    where plataformas.id_plataforma == ofilter.id_plataforma
                                    join generos_juegos in bd.generos_juegos
                                    on juegos.id_juego equals generos_juegos.id_juego
                                    join generos in bd.generos
                                    on generos_juegos.id_genero equals generos.id_genero
                                    where generos.id_genero == ofilter.id_genero
                                    join descuentos in bd.descuentos
                                    on juegos.id_juego equals descuentos.id_juego
                                    where (DateTime.Now > descuentos.inicio) && (DateTime.Now < descuentos.fin)
                                    orderby descuentos.descuento descending

                                    select new JuegosModel
                    {
                        id_juego = juegos.id_juego,
                        nombre = juegos.nombre,
                        id_plataforma = juegos.id_plataforma,
                        precio = juegos.precio,
                        img_ruta = juegos.img_ruta,
                        trailer_url = juegos.trailer_url,
                        distribuidora = juegos.distribuidora,
                        descripcion = juegos.descripcion,
                        fecha_lanzamiento = juegos.fecha_lanzamiento,
                        nombre_plataforma = plataformas.nombre,
                        img_rutaPlataforma = plataformas.img_ruta,
                        descuento = descuentos.descuento
                    }).ToList();

                    listaJuegos = (from juegos in bd.juegos
                                   where (juegos.nombre.Contains(ofilter.nombre))
                                   join generos_juegos in bd.generos_juegos
                                   on juegos.id_juego equals generos_juegos.id_juego
                                   join generos in bd.generos
                                   on generos_juegos.id_genero equals generos.id_genero
                                   where generos.id_genero == ofilter.id_genero
                                   join plataformas in bd.plataformas
                                   on juegos.id_plataforma equals plataformas.id_plataforma
                                   where plataformas.id_plataforma == ofilter.id_plataforma
                                   join descuentos in bd.descuentos
                                   on juegos.id_juego equals descuentos.id_juego into todas
                                   from descuentos in todas.DefaultIfEmpty()
                                   where descuentos == null || ((DateTime.Now < descuentos.inicio) && (DateTime.Now > descuentos.fin))
                                   orderby juegos.fecha_lanzamiento descending

                                   select new JuegosModel
                    {
                        id_juego = juegos.id_juego,
                        nombre = juegos.nombre,
                        id_plataforma = juegos.id_plataforma,
                        precio = juegos.precio,
                        img_ruta = juegos.img_ruta,
                        trailer_url = juegos.trailer_url,
                        distribuidora = juegos.distribuidora,
                        descripcion = juegos.descripcion,
                        fecha_lanzamiento = juegos.fecha_lanzamiento,
                        img_rutaPlataforma = plataformas.img_ruta
                    }).ToList();


                    listaJuegos = listaOfertas.Concat(listaJuegos).OrderByDescending(i => i.descuento).ToList();

                    foreach (var item in listaJuegos)
                    {
                        item.fecha_lanzamiento_string = item.fecha_lanzamiento.ToShortDateString();
                        item.precio = item.precio - (item.precio * item.descuento / 100);
                        item.precio = Math.Round(item.precio, 2);
                    }
                    return(listaJuegos);
                }
            }
            if (ofilter.id_genero != 0 && ofilter.id_plataforma == 0)
            {
                using (var bd = new Games_MarketEntities())
                {
                    listaOfertas = (from juegos in bd.juegos
                                    where (juegos.nombre.Contains(ofilter.nombre))
                                    join plataformas in bd.plataformas
                                    on juegos.id_plataforma equals plataformas.id_plataforma
                                    join generos_juegos in bd.generos_juegos
                                    on juegos.id_juego equals generos_juegos.id_juego
                                    join generos in bd.generos
                                    on generos_juegos.id_genero equals generos.id_genero
                                    where generos.id_genero == ofilter.id_genero
                                    join descuentos in bd.descuentos
                                    on juegos.id_juego equals descuentos.id_juego
                                    where (DateTime.Now > descuentos.inicio) && (DateTime.Now < descuentos.fin)
                                    orderby descuentos.descuento descending

                                    select new JuegosModel
                    {
                        id_juego = juegos.id_juego,
                        nombre = juegos.nombre,
                        id_plataforma = juegos.id_plataforma,
                        precio = juegos.precio,
                        img_ruta = juegos.img_ruta,
                        trailer_url = juegos.trailer_url,
                        distribuidora = juegos.distribuidora,
                        descripcion = juegos.descripcion,
                        fecha_lanzamiento = juegos.fecha_lanzamiento,
                        nombre_plataforma = plataformas.nombre,
                        img_rutaPlataforma = plataformas.img_ruta,
                        descuento = descuentos.descuento
                    }).ToList();

                    listaJuegos = (from juegos in bd.juegos
                                   where (juegos.nombre.Contains(ofilter.nombre))
                                   join plataformas in bd.plataformas
                                   on juegos.id_plataforma equals plataformas.id_plataforma
                                   join generos_juegos in bd.generos_juegos
                                   on juegos.id_juego equals generos_juegos.id_juego
                                   join generos in bd.generos
                                   on generos_juegos.id_genero equals generos.id_genero
                                   where generos.id_genero == ofilter.id_genero
                                   join descuentos in bd.descuentos
                                   on juegos.id_juego equals descuentos.id_juego into todas
                                   from descuentos in todas.DefaultIfEmpty()
                                   where descuentos == null || ((DateTime.Now < descuentos.inicio) && (DateTime.Now > descuentos.fin))
                                   orderby juegos.fecha_lanzamiento descending

                                   select new JuegosModel
                    {
                        id_juego = juegos.id_juego,
                        nombre = juegos.nombre,
                        id_plataforma = juegos.id_plataforma,
                        precio = juegos.precio,
                        img_ruta = juegos.img_ruta,
                        trailer_url = juegos.trailer_url,
                        distribuidora = juegos.distribuidora,
                        descripcion = juegos.descripcion,
                        fecha_lanzamiento = juegos.fecha_lanzamiento,
                        img_rutaPlataforma = plataformas.img_ruta
                    }).ToList();

                    listaJuegos = listaOfertas.Concat(listaJuegos).OrderByDescending(i => i.descuento).ToList();

                    foreach (var item in listaJuegos)
                    {
                        item.fecha_lanzamiento_string = item.fecha_lanzamiento.ToShortDateString();
                        item.precio = item.precio - (item.precio * item.descuento / 100);
                        item.precio = Math.Round(item.precio, 2);
                    }
                    return(listaJuegos);
                }
            }
            if (ofilter.id_genero == 0 && ofilter.id_plataforma != 0)
            {
                using (var bd = new Games_MarketEntities())
                {
                    listaOfertas = (from juegos in bd.juegos
                                    where (juegos.nombre.Contains(ofilter.nombre))
                                    join plataformas in bd.plataformas
                                    on juegos.id_plataforma equals plataformas.id_plataforma
                                    where plataformas.id_plataforma == ofilter.id_plataforma
                                    join descuentos in bd.descuentos
                                    on juegos.id_juego equals descuentos.id_juego
                                    where (DateTime.Now > descuentos.inicio) && (DateTime.Now < descuentos.fin)
                                    orderby descuentos.descuento descending

                                    select new JuegosModel
                    {
                        id_juego = juegos.id_juego,
                        nombre = juegos.nombre,
                        id_plataforma = juegos.id_plataforma,
                        precio = juegos.precio,
                        img_ruta = juegos.img_ruta,
                        trailer_url = juegos.trailer_url,
                        distribuidora = juegos.distribuidora,
                        descripcion = juegos.descripcion,
                        fecha_lanzamiento = juegos.fecha_lanzamiento,
                        nombre_plataforma = plataformas.nombre,
                        img_rutaPlataforma = plataformas.img_ruta,
                        descuento = descuentos.descuento
                    }).ToList();

                    listaJuegos = (from juegos in bd.juegos
                                   where (juegos.nombre.Contains(ofilter.nombre))
                                   join plataformas in bd.plataformas
                                   on juegos.id_plataforma equals plataformas.id_plataforma
                                   where plataformas.id_plataforma == ofilter.id_plataforma
                                   join descuentos in bd.descuentos
                                   on juegos.id_juego equals descuentos.id_juego into todas
                                   from descuentos in todas.DefaultIfEmpty()
                                   where descuentos == null || ((DateTime.Now < descuentos.inicio) && (DateTime.Now > descuentos.fin))
                                   orderby juegos.fecha_lanzamiento descending
                                   select new JuegosModel
                    {
                        id_juego = juegos.id_juego,
                        nombre = juegos.nombre,
                        id_plataforma = juegos.id_plataforma,
                        precio = juegos.precio,
                        img_ruta = juegos.img_ruta,
                        trailer_url = juegos.trailer_url,
                        distribuidora = juegos.distribuidora,
                        descripcion = juegos.descripcion,
                        fecha_lanzamiento = juegos.fecha_lanzamiento,
                        img_rutaPlataforma = plataformas.img_ruta
                    }).ToList();

                    listaJuegos = listaOfertas.Concat(listaJuegos).OrderByDescending(i => i.descuento).ToList();

                    foreach (var item in listaJuegos)
                    {
                        item.fecha_lanzamiento_string = item.fecha_lanzamiento.ToShortDateString();
                        item.precio = item.precio - (item.precio * item.descuento / 100);
                        item.precio = Math.Round(item.precio, 2);
                    }
                    return(listaJuegos);
                }
            }
            else
            {
                using (var bd = new Games_MarketEntities())
                {
                    listaOfertas = (from juegos in bd.juegos
                                    where (juegos.nombre.Contains(ofilter.nombre))
                                    join plataformas in bd.plataformas
                                    on juegos.id_plataforma equals plataformas.id_plataforma
                                    join descuentos in bd.descuentos
                                    on juegos.id_juego equals descuentos.id_juego
                                    where (DateTime.Now > descuentos.inicio) && (DateTime.Now < descuentos.fin)
                                    orderby descuentos.descuento descending

                                    select new JuegosModel
                    {
                        id_juego = juegos.id_juego,
                        nombre = juegos.nombre,
                        id_plataforma = juegos.id_plataforma,
                        precio = juegos.precio,
                        img_ruta = juegos.img_ruta,
                        trailer_url = juegos.trailer_url,
                        distribuidora = juegos.distribuidora,
                        descripcion = juegos.descripcion,
                        fecha_lanzamiento = juegos.fecha_lanzamiento,
                        nombre_plataforma = plataformas.nombre,
                        img_rutaPlataforma = plataformas.img_ruta,
                        descuento = descuentos.descuento
                    }).ToList();

                    listaJuegos = (from juegos in bd.juegos
                                   where (juegos.nombre.Contains(ofilter.nombre))
                                   join plataformas in bd.plataformas
                                   on juegos.id_plataforma equals plataformas.id_plataforma
                                   join descuentos in bd.descuentos
                                   on juegos.id_juego equals descuentos.id_juego into todas
                                   from descuentos in todas.DefaultIfEmpty()
                                   where descuentos == null || ((DateTime.Now < descuentos.inicio) && (DateTime.Now > descuentos.fin))
                                   orderby juegos.fecha_lanzamiento descending

                                   select new JuegosModel
                    {
                        id_juego = juegos.id_juego,
                        nombre = juegos.nombre,
                        id_plataforma = juegos.id_plataforma,
                        precio = juegos.precio,
                        img_ruta = juegos.img_ruta,
                        trailer_url = juegos.trailer_url,
                        distribuidora = juegos.distribuidora,
                        descripcion = juegos.descripcion,
                        fecha_lanzamiento = juegos.fecha_lanzamiento,
                        img_rutaPlataforma = plataformas.img_ruta
                    }).ToList();

                    listaJuegos = listaOfertas.Concat(listaJuegos).OrderByDescending(i => i.descuento).ToList();

                    foreach (var item in listaJuegos)
                    {
                        item.fecha_lanzamiento_string = item.fecha_lanzamiento.ToShortDateString();
                        item.precio = item.precio - (item.precio * item.descuento / 100);
                        item.precio = Math.Round(item.precio, 2);
                    }
                    return(listaJuegos);
                }
            }
        }
Beispiel #25
0
        public List <JuegosModel> getWishLibrary(int id_usuario)
        {
            List <JuegosModel> listaJuegos  = new List <JuegosModel>();
            List <JuegosModel> listaOfertas = new List <JuegosModel>();

            using (var bd = new Games_MarketEntities())
            {
                listaOfertas = (from juegos in bd.juegos

                                join plataformas in bd.plataformas
                                on juegos.id_plataforma equals plataformas.id_plataforma

                                join descuentos in bd.descuentos
                                on juegos.id_juego equals descuentos.id_juego
                                where (DateTime.Now > descuentos.inicio) && (DateTime.Now < descuentos.fin)

                                join deseados in bd.deseados
                                on juegos.id_juego equals deseados.id_juego
                                where deseados.id_usuario == id_usuario

                                orderby descuentos.descuento descending

                                select new JuegosModel
                {
                    id_juego = juegos.id_juego,
                    nombre = juegos.nombre,
                    id_plataforma = juegos.id_plataforma,
                    precio = juegos.precio,
                    img_ruta = juegos.img_ruta,
                    trailer_url = juegos.trailer_url,
                    distribuidora = juegos.distribuidora,
                    descripcion = juegos.descripcion,
                    fecha_lanzamiento = juegos.fecha_lanzamiento,
                    nombre_plataforma = plataformas.nombre,
                    img_rutaPlataforma = plataformas.img_ruta,
                    descuento = descuentos.descuento
                }).ToList();

                listaJuegos = (from juegos in bd.juegos

                               join plataformas in bd.plataformas
                               on juegos.id_plataforma equals plataformas.id_plataforma

                               join descuentos in bd.descuentos
                               on juegos.id_juego equals descuentos.id_juego into todas
                               from descuentos in todas.DefaultIfEmpty()
                               where descuentos == null || ((DateTime.Now < descuentos.inicio) && (DateTime.Now > descuentos.fin))

                               join deseados in bd.deseados
                               on juegos.id_juego equals deseados.id_juego
                               where deseados.id_usuario == id_usuario

                               orderby juegos.fecha_lanzamiento descending

                               select new JuegosModel
                {
                    id_juego = juegos.id_juego,
                    nombre = juegos.nombre,
                    id_plataforma = juegos.id_plataforma,
                    precio = juegos.precio,
                    img_ruta = juegos.img_ruta,
                    trailer_url = juegos.trailer_url,
                    distribuidora = juegos.distribuidora,
                    descripcion = juegos.descripcion,
                    fecha_lanzamiento = juegos.fecha_lanzamiento,
                    nombre_plataforma = plataformas.nombre,
                    img_rutaPlataforma = plataformas.img_ruta,
                    descuento = 0
                }).ToList();

                listaJuegos = listaOfertas.Concat(listaJuegos).OrderByDescending(i => i.descuento).ToList();
                foreach (var item in listaJuegos)
                {
                    item.precio = item.precio - (item.precio * item.descuento / 100);
                    item.precio = Math.Round(item.precio, 2);
                }
            }
            return(listaJuegos);
        }