コード例 #1
0
        public async Task <IActionResult> OnPostLeavingReviewAsync(int productid, int reviews, int orderid)
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'."));
            }
            var userId = _userManager.GetUserId(User);
            var review = new Review
            {
                ReviewProductId = productid,
                ReviewUserId    = userId,
                ReviewOrderId   = orderid,
                ReviewRating    = reviews
            };
            var order = _db.Orderdetails.First(o => o.DetailId == orderid);

            order.Reviewed = true;

            _db.Orderdetails.Update(order);
            await _db.SaveChangesAsync();

            await _db.Reviews.AddAsync(review);

            await _db.SaveChangesAsync();

            return(RedirectToPage("Orders"));
        }
コード例 #2
0
        public async Task <IActionResult> ProductAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            dynamic metamodel = new ExpandoObject();

            metamodel.Product = await _db.Products.Include(m => m.ProductCategory).FirstOrDefaultAsync(m => m.ProductId == id);

            if (metamodel.Product == null)
            {
                return(NotFound());
            }
            var productivity = _db.Products.First(o => o.ProductId == id);

            if (productivity.ProductStock <= 0)
            {
                productivity.ProductLive = 0;
                _db.Products.Update(productivity);
                await _db.SaveChangesAsync();
            }
            metamodel.ProductSizeOptions  = _db.Options.Where(o => o.OptionsGroup.OptionGroupName.ToLower() == "size" && o.Productoptions.Any(m => m.ProductId == id));
            metamodel.ProductColorOptions = _db.Options.Where(o => o.OptionsGroup.OptionGroupName.ToLower() == "color" && o.Productoptions.Any(m => m.ProductId == id));
            var category = _db.Productcategories.First(o => o.Products.Any(m => m.ProductId == id));

            metamodel.SimilarProducts = _db.Products.Include(m => m.ProductCategory)
                                        .Where(m => m.ProductCategory.CategoryId == category.CategoryId && m.ProductId != id)
                                        .OrderByDescending(o => o.ProductId)
                                        .Take(12);
            metamodel.VarientProducts = _db.Products.Include(m => m.ProductCategory)
                                        .Where(m => m.ProductCategory.CategoryId != category.CategoryId && m.ProductId != id)
                                        .OrderByDescending(o => o.ProductId)
                                        .Take(12);
            var review    = _db.Reviews.Where(o => o.ReviewProductId == id);
            var totalled  = review.Count();
            var notochord = review.Count(o => o.ReviewRating == 1);
            var goodies   = review.Count(o => o.ReviewRating == 2);
            var bettering = review.Count(o => o.ReviewRating == 3);
            var bestrew   = review.Count(o => o.ReviewRating == 4);

            ViewBag.TotalReview = totalled;
            if (totalled == 0)
            {
                return(metamodel.Product == null?NotFound() : (IActionResult)View(metamodel));
            }
            ViewBag.NotGoodReview = 100 * notochord / totalled;
            ViewBag.GoodReview    = 100 * goodies / totalled;
            ViewBag.BetterReview  = 100 * bettering / totalled;
            ViewBag.BestReview    = 100 * bestrew / totalled;
            return(metamodel.Product == null?NotFound() : (IActionResult)View(metamodel));
        }
コード例 #3
0
ファイル: Wishlist.cshtml.cs プロジェクト: tamzid958/bingol
        public async Task <IActionResult> OnPostDeleteAsync(int id)
        {
            var wishlist = await _db.Wishlists.FindAsync(id);

            if (wishlist == null)
            {
                return(NotFound());
            }
            _db.Wishlists.Remove(wishlist);
            await _db.SaveChangesAsync();

            return(RedirectToPage("Wishlist"));
        }
コード例 #4
0
        public async Task <IActionResult> DeleteCategoryAsync(int?id)
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'."));
            }
            if (id == null)
            {
                return(NotFound());
            }
            var category = _db.Productcategories.First(o => o.CategoryId == id);

            if (category == null)
            {
                return(NotFound());
            }
            _db.Productcategories.Remove(category);
            await _db.SaveChangesAsync();

            return(RedirectToAction("Categories"));
        }