示例#1
0
        public IActionResult Product(ProductLocationViewModel p)
        {
            if (ModelState.IsValid)
            {
                ProductLocationViewModel model = new ProductLocationViewModel();
                Product prod = _repository.GetProductFromId(p.ProductId);
                model.ProductId    = prod.ProductId;
                model.ProductName  = prod.ProductName;
                model.ProductPrice = prod.ProductPrice;
                model.ProductImage = prod.ProductImage;
                model.locations    = _repository.GetLocations().ToList();


                var     user_id = HttpContext.Request.Cookies["user_id"];
                Product item    = new Product(p.ProductId, p.ProductName, p.ProductPrice, p.ProductQty, p.ProductImage);
                _repository.AddItemToCart(item, Int32.Parse(user_id), p.LocationId);

                TempData["Success"] = "1";
                TempData.Keep("Success");

                return(View(model));
            }

            ModelState.AddModelError("", "Error adding item to cart");
            return(View(p));
        }
示例#2
0
        /// <summary>
        /// Will show user the product page to add to cart
        /// </summary>
        /// <param name="id"></param>
        /// <returns>Product page</returns>
        //GET Product
        public IActionResult Product(int id)
        {
            ProductLocationViewModel model = new ProductLocationViewModel();
            Product p = _repository.GetProductFromId(id);

            model.locations    = _repository.GetLocations().ToList();
            model.ProductId    = p.ProductId;
            model.ProductName  = p.ProductName;
            model.ProductPrice = p.ProductPrice;
            model.ProductImage = p.ProductImage;

            TempData["Success"] = "0";
            TempData.Keep("Success");

            return(View(model));
        }
示例#3
0
        public ActionResult EditFromProductInGame(ProductLocationViewModel plvm)
        {
            StringBuilder sb = new StringBuilder();

            if (ModelState.IsValid)
            {
                db.Entry(plvm.ProductLocation).State = EntityState.Modified;

                foreach (var s in plvm.ProductLocation.SerialNumbers)
                {
                    SerialNumberValidator validator = new SerialNumberValidator();

                    FluentValidation.Results.ValidationResult results = validator.Validate(s);
                    IList <ValidationFailure> failures = results.Errors;

                    foreach (var e in results.Errors)
                    {
                        ModelState.AddModelError(e.PropertyName + "Error", e.ErrorMessage);
                        sb.AppendLine(e.ErrorMessage);
                    }


                    db.Entry(s).State = EntityState.Modified;
                }
                foreach (var v in plvm.ProductLocation.Vouchers)
                {
                    db.Entry(v).State = EntityState.Modified;
                }

                if (ModelState.IsValid)
                {
                    db.SaveChanges();
                    return(RedirectToAction("Edit", "ProductInGames", new { id = plvm.ProductLocation.ProductInGameID }));
                }
                else
                {
                    ViewBag.ProductInGameID            = plvm.ProductLocation.ProductInGameID;
                    ViewBag.ErrorMessage               = sb.ToString();
                    plvm.ProductLocation.ProductInGame = db.ProductInGames.Find(plvm.ProductLocation.ProductInGameID);
                    return(View(plvm));
                }
            }
            ViewBag.ErrorMessage               = sb.ToString();
            ViewBag.ProductInGameID            = plvm.ProductLocation.ProductInGameID;
            plvm.ProductLocation.ProductInGame = db.ProductInGames.Find(plvm.ProductLocation.ProductInGameID);
            return(View(plvm));
        }
示例#4
0
        // GET: ProductLocations/Edit/5
        public ActionResult EditFromProductInGame(int?id, int ProductInGameID)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProductLocation productLocation = db.ProductLocations.Include(x => x.SerialNumbers).Include(x => x.Vouchers).Where(x => x.ProductLocationID == id).First();

            if (productLocation == null)
            {
                return(HttpNotFound());
            }
            ProductLocationViewModel plvm = new ProductLocationViewModel();

            plvm.ProductLocation = productLocation;
            plvm.SerialNumbers   = productLocation.SerialNumbers;
            plvm.Vouchers        = productLocation.Vouchers;

            ViewBag.ProductInGameID = ProductInGameID;
            return(View(plvm));
        }