// GET: ProductInWatchLists/Create
        public ActionResult AddToWatchList(int GameID, string FromWhere = "")
        {
            AccountService     service = new AccountService(db, null);
            var                member  = service.findMember(User.Identity.Name);
            var                product = db.ProductInGames.Where(x => x.GameID == GameID).First();
            ProductInWatchList piw     = new ProductInWatchList();

            piw.MemberID     = member.MemberID;
            piw.GameID       = GameID;
            piw.ProductID    = product.ProductID;
            piw.DateInserted = DateTime.Now;
            piw.USR          = User.Identity.Name;

            db.ProductInWatchLists.Add(piw);
            db.SaveChanges();

            switch (FromWhere.ToLower())
            {
            case "detail": return(RedirectToAction("DetailsComingSoon", "Product", new { id = GameID }));

            case "comingsoon": return(new RedirectResult(Url.Action("Index", "Home") + "#browse-items"));

            default: return(RedirectToAction("DetailsComingSoon", "Product", new { id = GameID }));;
            }
            return(RedirectToAction("MyWatchList", "ProductInWatchLists"));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            ProductInWatchList productInWatchList = db.ProductInWatchLists.Find(id);

            db.ProductInWatchLists.Remove(productInWatchList);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #3
0
 public void removeGameFromWatchList(int memberId, int gameId)
 {
     if (db.ProductInWatchLists.Where(piw => piw.GameID == gameId && piw.MemberID == memberId).Count() > 0)
     {
         ProductInWatchList pinWatchlist = db.ProductInWatchLists.Where(piw => piw.GameID == gameId && piw.MemberID == memberId).First();
         db.ProductInWatchLists.Remove(pinWatchlist);
     }
 }
        // GET: ProductInWatchLists/Create
        public ActionResult Create()
        {
            ViewBag.MemberID  = new SelectList(db.Members, "MemberID", "IdentityType");
            ViewBag.ProductID = new SelectList(db.Products, "ProductID", "ProductSKUCode");
            ProductInWatchList model = new ProductInWatchList();

            model = (ProductInWatchList)Helpers.TableTracker.TrackCreate(model, User.Identity.Name);
            return(View(model));
        }
 public ActionResult Edit([Bind(Include = "ProductInWatchListID,MemberID,ProductID,DateInserted,DateUpdated,USR")] ProductInWatchList productInWatchList)
 {
     if (ModelState.IsValid)
     {
         db.Entry(productInWatchList).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.MemberID  = new SelectList(db.Members, "MemberID", "IdentityType", productInWatchList.MemberID);
     ViewBag.ProductID = new SelectList(db.Products, "ProductID", "ProductSKUCode", productInWatchList.ProductID);
     return(View(productInWatchList));
 }
        // GET: ProductInWatchLists/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProductInWatchList productInWatchList = db.ProductInWatchLists.Find(id);

            if (productInWatchList == null)
            {
                return(HttpNotFound());
            }
            return(View(productInWatchList));
        }
        // GET: ProductInWatchLists/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProductInWatchList model = db.ProductInWatchLists.Find(id);

            model = (ProductInWatchList)Helpers.TableTracker.TrackEdit(model, User.Identity.Name);


            if (model == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MemberID  = new SelectList(db.Members, "MemberID", "IdentityType", model.MemberID);
            ViewBag.ProductID = new SelectList(db.Products, "ProductID", "ProductSKUCode", model.ProductID);
            return(View(model));
        }
Example #8
0
        public ActionResult DeleteConfirmed(int id)
        {
            //TODO fix delete images

            /*           var DisplayItems = db.DisplayItems.Where(x => x.ProductID == id).ToList();
             *
             *         foreach (var d in DisplayItems)
             *         {
             *             DisplayItem displayItem = db.DisplayItems.Where(s => s.DisplayItemID == d.DisplayItemID).First();
             *             db.DisplayItems.Remove(displayItem);
             *             db.SaveChanges();
             *         }
             */
            var ProductInWatchLists = db.ProductInWatchLists.Where(x => x.ProductID == id).ToList();

            foreach (var d in ProductInWatchLists)
            {
                ProductInWatchList ProductInWatchList = db.ProductInWatchLists.Where(s => s.ProductInWatchListID == d.ProductInWatchListID).First();
                db.ProductInWatchLists.Remove(ProductInWatchList);
                db.SaveChanges();
            }

            var ProductInGames = db.ProductInGames.Where(x => x.ProductID == id).ToList();

            foreach (var d in ProductInGames)
            {
                var ProductPlayeds = db.ProductPlayeds.Where(x => x.ProductInGameID == d.ProductInGameID).ToList();

                foreach (var d1 in ProductPlayeds)
                {
                    ProductPlayed ProductPlayed = db.ProductPlayeds.Where(s => s.ProductInGameID == d1.ProductInGameID).First();
                    db.ProductPlayeds.Remove(ProductPlayed);
                    db.SaveChanges();
                }

                var ProductLocations = db.ProductLocations.Where(x => x.ProductInGameID == d.ProductInGameID).ToList();

                foreach (var d1 in ProductLocations)
                {
                    var SerialNumbers = db.SerialNumbers.Where(x => x.ProductLocationID == d1.ProductLocationID).ToList();
                    foreach (var s1 in SerialNumbers)
                    {
                        SerialNumber SerialNumber = db.SerialNumbers.Where(s => s.ProductLocationID == d1.ProductLocationID).First();
                        db.SerialNumbers.Remove(SerialNumber);
                        db.SaveChanges();
                    }

                    var Vouchers = db.Vouchers.Where(x => x.ProductLocationID == d1.ProductLocationID).ToList();
                    foreach (var s1 in Vouchers)
                    {
                        Voucher Voucher = db.Vouchers.Where(s => s.ProductLocationID == d1.ProductLocationID).First();
                        db.Vouchers.Remove(Voucher);
                        db.SaveChanges();
                    }

                    ProductLocation ProductLocation = db.ProductLocations.Where(s => s.ProductInGameID == d1.ProductInGameID).First();
                    db.ProductLocations.Remove(ProductLocation);
                    db.SaveChanges();
                }


                ProductInGame ProductInGame = db.ProductInGames.Where(s => s.ProductInGameID == d.ProductInGameID).First();
                db.ProductInGames.Remove(ProductInGame);
                db.SaveChanges();
            }

            Product product = db.Products.Find(id);

            db.Products.Remove(product);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // Expects OffSet - This is the time difference between the button going active and the button being clicked. precision is important here.
        public bool PersistUserInteraction(int GameID, int MemberID, int OffSet)
        {
            //  int clickInterval = (int)Math.Truncate(OffSet * 1000); // returns milliseconds



            int memberInGameID = 0;

            if (db.ProductInWatchLists.Where(piw => piw.GameID == GameID).Count() > 0)
            {
                ProductInWatchList pinWatchlist = db.ProductInWatchLists.Where(piw => piw.GameID == GameID).First();
                db.ProductInWatchLists.Remove(pinWatchlist);
            }
            //Commented this check out for demo
            var memberInGames = from m in db.MemberInGames where m.MemberID == MemberID && m.GameID == GameID select m;

            foreach (var memberInGame in memberInGames)
            {
                memberInGameID = memberInGame.MemberInGameID;
            }
            if (memberInGameID == 0 || memberInGameID == null)
            {
                return(false);
            }

            var productInGames = from p in db.ProductInGames where p.GameID == GameID select p;

            string connString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;

            using (SqlConnection con = new SqlConnection(connString))
            {
                using (SqlCommand cmd = new SqlCommand("PersistUserInteraction", con))
                {
                    foreach (var productInGame in productInGames)
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.Add("@ProductInGameID", SqlDbType.VarChar).Value = productInGame.ProductInGameID;
                        cmd.Parameters.Add("@memberInGameID", SqlDbType.VarChar).Value  = memberInGameID;
                        cmd.Parameters.Add("@Offset", SqlDbType.VarChar).Value          = OffSet;

                        con.Open();
                        cmd.ExecuteNonQuery();
                        con.Close();
                    }
                }
            }

            /*try
             * {
             * foreach (var productInGame in productInGames)
             * {
             *  ProductPlayed productPlayed = new ProductPlayed();
             *  productPlayed.ProductInGameID = productInGame.ProductInGameID;
             *  productPlayed.MemberInGameID = memberInGameID;
             *  productPlayed.ClickInterval = OffSet;
             *  productPlayed.DateInserted = DateTime.Now;
             *  db.ProductPlayeds.Add(productPlayed);
             * }
             *
             *
             *
             *  db.SaveChanges();
             * }
             *
             *
             *
             * catch (OptimisticConcurrencyException ex)
             * {
             * // Resolve the concurrency conflict by refreshing the
             * // object context before re-saving changes.
             * var context = ((IObjectContextAdapter)db).ObjectContext;
             * foreach (var entry in ex.StateEntries)
             * {
             *  context.Refresh(RefreshMode.ClientWins, entry.Entity);
             * }
             *
             * context.SaveChanges();
             *
             *
             * }*/

            return(true);
        }