Exemplo n.º 1
0
        public async Task <IActionResult> Create(ReviewsCreateViewModel viewModel)
        {
            ModelState.Remove("Review.User");
            ModelState.Remove("Review.UserId");
            ModelState.Remove("User.FirstName");
            ModelState.Remove("User.LastName");
            ModelState.Remove("Review.ReviewId");
            ModelState.Remove("Review.Rating");


            var reviewedUser = _context.Users.Find(viewModel.User.Id);

            viewModel.User = reviewedUser;


            if (ModelState.IsValid)
            {
                var review = viewModel.Review;
                review.User        = viewModel.User;
                review.User.Rating = await CalculateRating(viewModel.User.Id);

                _context.Add(review);
                await _context.SaveChangesAsync();
            }
            return(RedirectToAction("UserProfile", "Sneakers", new { userId4Profile = viewModel.User.Id }));
        }
Exemplo n.º 2
0
        // GET: Reviews/Create
        public async Task <IActionResult> Create(string userId)
        {
            var user2BeReviewed = await _context.Users.FindAsync(userId);

            var currUser = await GetCurrentUserAsync();

            ViewBag.currUser = currUser.FirstName;
            // reframe from letting user create a review for themselves!
            if (currUser == user2BeReviewed)
            {
                return(RedirectToAction("Index", "Sneakers"));
            }


            ReviewsCreateViewModel viewModel = new ReviewsCreateViewModel
            {
                User = user2BeReviewed
            };

            return(View(viewModel));
        }