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 Buy(int?id) { BOClaves oBOClaves = new BOClaves(); if (id is null) { return(RedirectToAction("../Home")); } //Comprueba si hay stock del juego al que accede para comprar if (oBOClaves.checkStockClaveByid_juego(id.Value) is false) { return(RedirectToAction("../Games/Game/" + id)); } BOJuegos oBOJuegos = new BOJuegos(); JuegosModel ojuegosModel = oBOJuegos.getJuegoById(id.Value); return(View(ojuegosModel)); }
public ActionResult Index() { //Aqui recoge los datos con formato dccionario Dictionary <string, string> jsonRequest = GetJsonRequest(); JuegosModel oJuegosModel = new JuegosModel(); oJuegosModel.nombre = jsonRequest["name"]; oJuegosModel.id_plataforma = int.Parse(jsonRequest["platform"]); oJuegosModel.id_genero = int.Parse(jsonRequest["gender"]); BOApi oBDBusqueda = new BOApi(); List <JuegosModel> listaJuegos = oBDBusqueda.getGameslist(oJuegosModel); var jsonResponse = new { games = listaJuegos }; return(Json(jsonResponse)); }
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 ActionResult Buy(VentasModel oventasModel) { //Comprobaciones BOClaves oBOClaves = new BOClaves(); BOJuegos oBOJuegos = new BOJuegos(); JuegosModel ojuegosModel = oBOJuegos.getJuegoById(oventasModel.id_juego); if (oBOClaves.checkStockClaveByid_juego(oventasModel.id_juego) == false) { return(RedirectToAction("../Games/Game/" + oventasModel.id_juego)); } if (oventasModel.tarj is null || oventasModel.tarj.Length != 16) { ViewBag.Error = "Número de la tarjeta erróneo."; return(View(ojuegosModel)); } if (oventasModel.tarj_mes is null || oventasModel.tarj_mes.Length != 2) { ViewBag.Error = "Número del mes de la tarjeta erróneo."; return(View(ojuegosModel)); } if (oventasModel.tarj_ano is null || oventasModel.tarj_ano.Length != 2) { ViewBag.Error = "Número del año de la tarjeta erróneo."; return(View(ojuegosModel)); } if (oventasModel.cod_seg is null || oventasModel.cod_seg.Length != 3) { ViewBag.Error = "Número del código de seguridad de la tarjeta erróneo."; return(View(ojuegosModel)); } if (Session["Log"] is null) { return(RedirectToAction("../Login/Login")); } //Iniciamos el proceso de compra. BOLogin oBOLogin = new BOLogin(); usuarios ousuario = oBOLogin.getUsuarioById((int)Session["Log"]); oventasModel.id_usuario = ousuario.id_usuario; //Iniciamos el proceso de compra. BOVentas oBOVentas = new BOVentas(); ventas oventa = oBOVentas.addVenta(oventasModel); if (oventa.id_clave == 0) { ViewBag.Error = "Hemos tenido un problema durante el proceso de compra."; return(View(ojuegosModel)); } //Envia un email con el código comprado claves oclaves = oBOClaves.getClaveByid_clave(oventa.id_clave); MailMessage oMailMessage = new MailMessage("*****@*****.**", ousuario.email, "¡Gracias por comprar en GamesMarket!", "<p>Hola " + ousuario.nombre + " " + ousuario.apellidos + "</p>" + "<p>La Key del juego " + ojuegosModel.nombre + " comprado el " + oventa.fecha_venta + " es: </p>" + "<h2>" + oclaves.codigo + "</h2>" + "<p>¡Gracias y esperamos que sigas comprando en GamesMarket!<p>" + "<p>No olvides que puedes consultar la clave también iniciando sesión en nuestra web: www.GamesMarket.com </p>"); BOMail oBOMail = new BOMail(); oBOMail.sendEmail(oMailMessage); return(RedirectToAction("../Buys/BuyCompleted")); }