// GET: Reviews/Delete/5
        //[AuthorizeOrRedirectAttribute(Roles = "Admin,Moderator")]
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Review review = db.Reviews.Find(id);

            if (User.IsInRole("Admin") || User.IsInRole("Moderator"))
            {
                ;
            }
            else if (User.Identity.GetUserName() == review.ReviewerName)
            {
                ;
            }
            else
            {
                return(RedirectToAction("AccessDenied", "Error"));
            }

            ReviewListViewModel reviewListViewModel = BuildReviewListViewModel(review);

            if (review == null)
            {
                return(HttpNotFound());
            }
            return(View(reviewListViewModel));
        }
        public ActionResult List(string controller, int id)
        {
            List <Review> reviews = null;

            if (controller == "Food")
            {
                reviews = _reviewRepository.GetAll().Where(f => f.FoodId == id).ToList();
            }
            else if (controller == "Restaurant")
            {
                reviews = _reviewRepository.GetAll().Where(r => r.RestaurantId == id).ToList();
            }

            var reviewListViewModels = new List <ReviewListViewModel>();

            var config = new MapperConfiguration(cfg => cfg.CreateMap <Review, ReviewListViewModel>());
            var mapper = config.CreateMapper();

            if (reviews != null)
            {
                foreach (Review review in reviews)
                {
                    ReviewListViewModel reviewListViewModel = mapper.Map <ReviewListViewModel>(review);
                    reviewListViewModels.Add(reviewListViewModel);
                    Foodie foodie = _foodieRepository.Get(reviewListViewModel.UserId);
                    reviewListViewModel.UserName = foodie.FirstName + foodie.LastName;
                }
            }

            return(PartialView(reviewListViewModels));
        }
Beispiel #3
0
        // GET: Guest
        public ActionResult Index()
        {
            var reviews = unitOfWork.Reviews.FindAll();
            ReviewListViewModel model = new ReviewListViewModel();

            model.Reviews = reviews;
            return(View(model));
        }
        public IViewComponentResult Invoke()
        {
            var latestReviews = new ReviewListViewModel()
            {
                Reviews = this.reviewsService.GetLatestFiveReviews <ReviewInListViewModel>(),
            };

            return(this.View(latestReviews));
        }
        public ReviewListViewModelTests()
        {
            _reviewRepositoryMock = new Mock <IReviewRepository>();
            _mediatorMock         = new Mock <Mediator> {
                CallBase = true
            };

            _reviewRepositoryMock.Setup(repository => repository.GetAll())
            .Returns(() => new List <ReviewListModel>());

            _reviewListViewModelSUT = new ReviewListViewModel(_reviewRepositoryMock.Object, _mediatorMock.Object);
        }
Beispiel #6
0
        public IActionResult AllReviews(int id = 1)
        {
            const int ItemsPerPage = 10;

            var model = new ReviewListViewModel()
            {
                PageNumber = id,
                ItemsPerPage = ItemsPerPage,
                Reviews = this.reviewsService.GetAllReviews<ReviewInListViewModel>(id, ItemsPerPage),
                ItemsCount = this.reviewsService.GetCount(),
                ActionName = nameof(this.AllReviews),
            };
            return this.View(model);
        }
        // GET: Reviews/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Review review = db.Reviews.Find(id);
            ReviewListViewModel reviewListViewModel = BuildReviewListViewModel(review);

            if (review == null)
            {
                return(HttpNotFound());
            }
            return(View(reviewListViewModel));
        }
        private ReviewListViewModel BuildReviewListViewModel(Review review)
        {
            //var chosenGame = db.Games.Where(g => g.Id == review.GameId);
            var gameNames             = db.Games.ToDictionary(g => g.Id, g => g.Name);
            ReviewListViewModel model = new ReviewListViewModel();

            model.ID           = review.Id;
            model.ReviewerName = review.ReviewerName;
            model.Content      = review.Content;
            model.GameId       = review.GameId;
            model.GameName     = gameNames[review.GameId];
            //model.GameName = chosenGame.First().Name;
            model.NumRating = review.NumRating;

            return(model);
        }
Beispiel #9
0
        /* Function that adds a user review to the database */
        public void AddReviewToDB(ReviewListViewModel NewReview)
        {
            // An instance of Review (entity model) is made from the ReviewListModel in the parameters
            var newReview = new Review()
            {
                BookId    = NewReview.BookId,
                AccountId = NewReview.AccountId,
                Comment   = NewReview.Comment,
                Rating    = NewReview.Rating
            };

            // The instance is added to the database
            _db.Add(newReview);
            _db.SaveChanges();
            return;
        }
        public async Task <IActionResult> Details(ReviewListViewModel review, int id)
        {
            // If the review is valid
            if (ModelState.IsValid)
            {
                var user = await _userManager.GetUserAsync(User);

                var userId = user.Id;
                // A new instance of ReviewListViewModel that holds the info from the parameter is made
                var newReview = new ReviewListViewModel()
                {
                    BookId    = id,
                    AccountId = user.Id,
                    Comment   = review.Comment,
                    Rating    = review.Rating
                };
                // The instance is added to the database through the sevice layer
                _reviewService.AddReviewToDB(newReview);
                return(RedirectToAction("Details", "Book", new { id = id }));
            }
            return(RedirectToAction("Details", "Book", new { id = id }));
        }
Beispiel #11
0
 // Void function that adds a review to the database from the repository layer
 public void AddReviewToDB(ReviewListViewModel NewReview)
 {
     _reviewRepo.AddReviewToDB(NewReview);
     return;
 }