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); }
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()); }
public usuarios getUsuarioByEmail(string email) { var bd = new Games_MarketEntities(); usuarios usuario = bd.usuarios.Where(p => p.email.Equals(email)).FirstOrDefault(); return(usuario); }
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); }
public usuarios getUsuarioById(int id) { var bd = new Games_MarketEntities(); usuarios usuario = bd.usuarios.Where(p => p.id_usuario.Equals(id)).FirstOrDefault(); return(usuario); }
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); }
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(); } }
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); }
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(); } }
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(); } }
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); }
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); }
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); }
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); }
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); } }
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); }
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); }
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); }
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)); }
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); }
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); } } }
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); }