示例#1
0
        public async Task <IActionResult> Rate(int productId)
        {
            string userId = await GetCurrentUserIdAsync();

            if (ratesRepository.PendingForUserWithItemExists(userId, productId))
            {
                Product       product       = productRepository.GetProductById(productId);
                ProductToRate productToRate = mapper.Map <ProductToRate>(product);
                return(View(productToRate));
            }
            else
            {
                return(View("Error"));
            }
        }
示例#2
0
        public async Task <IActionResult> Rate(ProductToRate productToRate)
        {
            if (ModelState.IsValid)
            {
                Rate rate = mapper.Map <Rate>(productToRate);
                rate.User.Id = await GetCurrentUserIdAsync();

                rate.Product = productRepository.GetProductById(productToRate.Id);

                await ratesRepository.AddAsync(rate);

                await ratesRepository.RemovePendingAsync(rate.User.Id, rate.Product.Id);

                TempData["msg"] = "Your rating has been added!";
                return(RedirectToAction("ProductInfo", "Home", new { productId = productToRate.Id }));
            }
            else
            {
                return(View(productToRate));
            }
        }