public IActionResult CreateFor(ExperienceCreateForExistingProductViewModel experienceCreateVM)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = PhotoHelper.SaveImageAndReturnUniqueFileName(experienceCreateVM.Photo, _hostingEnvironment, "images/products");

                var product = _productRepository.GetProduct(int.Parse(TempData["ProductID"].ToString()));

                var experience = new Experience
                {
                    ProductID      = product.ProductID,
                    Evaluation     = experienceCreateVM.Evaluation,
                    Describe       = experienceCreateVM.Describe,
                    Recommendation = experienceCreateVM.Recommendation,
                    UserName       = User.FindFirst(ClaimTypes.Name).Value,
                    PhotoPath      = uniqueFileName,
                    Date           = DateTime.Now
                };

                var addedExperience = _experienceRepository.AddExperience(experience);
                return(RedirectToAction("details", new { experienceID = addedExperience.ExperienceID }));
            }

            return(View());
        }
        public IActionResult CreateFor(int productID)
        {
            Product product = _productRepository.GetProduct(productID);

            var checkExist = _experienceRepository.GetAllExperiencesIncludeCategory().Where(
                e => e.ProductID == productID &&
                e.UserName == User.FindFirst(ClaimTypes.Name).Value&&
                e.Product.Category.CategoryID == product.Category.CategoryID
                );


            if (checkExist.Count() > 0)
            {
                return(RedirectToAction("Edit", new { experienceID = checkExist.ElementAt(0).ExperienceID }));
            }

            var experienceCreateVM = new ExperienceCreateForExistingProductViewModel
            {
                ProductName = product.ProductName,
                CategoryID  = product.Category.CategoryID.ToString()
            };

            ViewBag.Categories    = _categoryRepository.Categories.OrderBy(c => c.CategoryName);
            TempData["ProductID"] = productID;

            return(View(experienceCreateVM));
        }