public async Task <IActionResult> Create(int id, ReviewCreateViewModel viewModel)
        {
            var user = await GetCurrentUserAsync();

            ModelState.Remove("Whiskey.Review_Id");
            //capture the id in the create URL which is tied to the whiskey object
            var whiskeyId = id;


            if (ModelState.IsValid)
            {
                _context.Add(viewModel.Review);
                await _context.SaveChangesAsync();

                var reviewid = viewModel.Review.Review_Id;

                //need to select the whiskey which was just reviewed
                var whiskeyReviewed = _context.Whiskey
                                      .Where(w => w.WhiskeyId == whiskeyId)
                                      .First();

                //update the review id in the whiskey table to be the same as the view model review id
                whiskeyReviewed.Review_Id = reviewid;

                await _context.SaveChangesAsync();

                //redirect the user back to the Whiskey details page where they can see the newly added review
                return(RedirectToAction("Details", "Whiskeys", new { id = whiskeyId }));
                //return View("~/Views/Whiskeys/Index.Details.cshtml");
            }


            return(View(viewModel));
        }
Example #2
0
        public IActionResult Create(ReviewCreateViewModel viewModel)
        {
            User signedInUser = userManager.GetUserAsync(HttpContext.User).Result;

            if (viewModel.Game.ID == 0)
            {
                return(NotFound());
            }
            Game reviewedGame = gameService.GetByID(viewModel.Game.ID);

            Review review = new Review()
            {
                ID             = viewModel.Review.ID,
                Title          = viewModel.Review.Title,
                Body           = viewModel.Review.Body,
                DateCreated    = DateTime.Now,
                DateModified   = null,
                Rating         = 0,
                Helpful        = 0,
                CreatedByID    = signedInUser.Id,
                CreatedBy      = signedInUser,
                ReviewComments = new List <ReviewComment>() ?? null,
                GameID         = reviewedGame.ID,
                Game           = reviewedGame
            };

            reviewService.Insert(review);

            return(RedirectToAction("Index"));
        }
        public IActionResult Create(ReviewCreateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                this.TempData.Keep(ApplicationConstants.TempDataHomeOwnerNameKey);

                return(this.View(model));
            }

            var userId = this.userManager.GetUserId(this.User);

            if (!this.homeReviews.CanCreateReview(userId, model.HomeId))
            {
                this.TempData[ApplicationConstants.TempDataErrorMessageKey] = "Permission Denied";

                return(RedirectToAction("Index", "Home", new { area = "" }));
            }

            //save review
            this.homeReviews.Create(
                userId,
                model.HomeId,
                model.Evaluation,
                model.AdditionalThoughts,
                model.Title);

            //redirect to home with success message
            this.TempData[ApplicationConstants.TempDataSuccessMessageKey] = $"Successfully Reviewed {this.TempData[ApplicationConstants.TempDataHomeOwnerNameKey]}'s home";

            return(RedirectToAction(nameof(this.Done)));
        }
Example #4
0
        public async Task <IActionResult> TVShowReview(int id, ReviewCreateViewModel reviewCreate)
        {
            TVshow tvshowFromDb = _mediaWebDbContext.TVShows.Find(id);

            Review newReview = new Review()
            {
                Title     = reviewCreate.Title,
                Content   = reviewCreate.Content,
                IsChecked = false
            };

            var user          = _userManager.GetUserAsync(HttpContext.User).Result;
            var tvshowReviews = new List <TVShowReview>();

            user.Reviews.Add(newReview);

            tvshowReviews.Add(new TVShowReview()
            {
                Review = newReview
            });
            tvshowFromDb.TVShowReviews = tvshowReviews;

            _mediaWebDbContext.Reviews.Add(newReview);

            await _mediaWebDbContext.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Example #5
0
        public virtual ActionResult Create(ReviewCreateViewModel reviewCreateViewModel)
        {
            if (ModelState.IsValid)
            {
                var writerId = _httpContextService.GetUserId();
                var writer   = _writerRepository.GetById(writerId);

                //Todo: faire la map
                var review = new Review()
                {
                    WriterId     = writer.Id,
                    RestaurantId = reviewCreateViewModel.RestaurantId,
                    Body         = reviewCreateViewModel.Body,
                    Rating       = reviewCreateViewModel.Rating
                };

                writer.Reviews.Add(review);
                _writerRepository.Update(writer);

                return(RedirectToAction(MVC.Home.Index()));
            }

            PopulateRestaurantSelectList(reviewCreateViewModel);
            return(View(reviewCreateViewModel));
        }
Example #6
0
        public virtual ActionResult Create()
        {
            var model = new ReviewCreateViewModel();

            PopulateRestaurantSelectList(model);

            return(View(model));
        }
Example #7
0
        public async Task <IRestResponse> CreateReview(ReviewCreateViewModel createModel)
        {
            RestRequest restRequest = new RestRequest(Method.POST);

            restRequest.AddHeader("Content", "application/json");
            restRequest.AddJsonBody(createModel);

            return(await _restClient.ExecuteTaskAsync(restRequest));
        }
        // GET: SeriesReviews/Create
        public IActionResult Create(long seriesId)
        {
            var viewModel = new ReviewCreateViewModel
            {
                SeriesId = seriesId
            };

            return(View(viewModel));
        }
        public void review_rating_is_required()
        {
            _reviewCreateViewModel = _fixture.Build <ReviewCreateViewModel>()
                                     .Without(x => x.Restaurants)
                                     .Without(x => x.Rating)
                                     .Create();
            var results = _validator.Validate(_reviewCreateViewModel);

            //Todo: externaliser le message
            results.Errors.First().ErrorMessage.Should().Be("Le champ évaluation est requis");
        }
        public Review ReviewCreateViewModelToReview(ReviewCreateViewModel VM)
        {
            int      Id           = VM.Id;
            string   Body         = VM.Body;
            decimal  Rating       = VM.Rating;
            DateTime DatePosted   = VM.DatePosted;
            int      PostedById   = VM.PostedBy;
            int      BookReviewed = VM.BookReviewed;

            return(new Review(Id, Body, Rating, DatePosted, PostedById, BookReviewed));
        }
        public async Task <IActionResult> Create(ReviewCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                var userId = this.userManager.GetUserId(User);
                await this.reviews.Add(model.Rating, model.Text, userId);

                return(RedirectToAction(nameof(Index)));
            }

            return(View(model));
        }
        public async Task <IActionResult> Create()
        {
            var user = await this.userManager.GetUserAsync(User);

            var model = new ReviewCreateViewModel
            {
                FirstName = user.FirstName,
                LastName  = user.LastName,
                Email     = user.Email,
                Rating    = 5
            };

            return(View(model));
        }
        public async Task <ActionResult> Create(ReviewCreateViewModel reviewCreateViewModel)
        {
            var prd = _repository.PullRequestsDataManager.Get(p => p.Id == reviewCreateViewModel.PullRequestDataId);
            var pullRequestManager = await GitHubInstance.GetClientInstance().
                                     GetExistPullRequestManagerAsync(prd.RepositoryName, prd.PullRequestNumber);

            await pullRequestManager.ReviewRepository.
            CreateReviewAsync(reviewCreateViewModel.Body, reviewCreateViewModel.ReviewComments, reviewCreateViewModel.ReviewEvent);

            return(RedirectToAction("Index", "PullRequest", new
            {
                pullRequestDataId = reviewCreateViewModel.PullRequestDataId
            }));
        }
Example #14
0
        // GET: Reviews/Create
        public async Task <IActionResult> Create()
        {
            var vm = new ReviewCreateViewModel()
            {
                ReviewGiverSelectList = new SelectList(await _bll.AppUsers.AllAsync(),
                                                       nameof(BLL.App.DTO.Identity.AppUser.Id),
                                                       nameof(BLL.App.DTO.Identity.AppUser.Id)),
                ReviewReceiverSelectList = new SelectList(await _bll.AppUsers.AllAsync(),
                                                          nameof(BLL.App.DTO.Identity.AppUser.Id),
                                                          nameof(BLL.App.DTO.Identity.AppUser.Id))
            };

            return(View(vm));
        }
Example #15
0
        public IActionResult Create(int gameId)
        {
            if (gameId == 0)
            {
                return(NotFound());
            }

            ReviewCreateViewModel viewModel = new ReviewCreateViewModel()
            {
                Review = new Review(),
                Game   = gameService.GetByID(gameId)
            };

            return(PartialView("_Create", viewModel));
        }
Example #16
0
        public IActionResult Create(ReviewCreateViewModel model, int id)
        {
            if (ModelState.IsValid)
            {
                var newReview = new Review();
                newReview.Comment      = model.Comment;
                newReview.RestaurantId = id;
                newReview.UserName     = User.Identity.Name;
                newReview.Rating       = model.Rating;
                newReview.Date         = model.Date;
                newReview = _reviewdata.Add(newReview);
                _reviewdata.Commit();

                return(RedirectToAction("Details", new { id = newReview.Id }));
            }
            return(View());
        }
Example #17
0
        public IActionResult Create([FromBody] ReviewCreateViewModel vm)
        {
            vm.PostedBy   = Convert.ToInt32(this.User.FindFirstValue(ClaimTypes.NameIdentifier));
            vm.DatePosted = DateTime.Now;
            Review          R      = Converter.ReviewCreateViewModelToReview(vm);
            int             id     = Repo.CreateReview(R);
            ReviewViewModel result = new ReviewViewModel()
            {
                ReviewId     = id,
                PostedById   = vm.PostedBy,
                Body         = vm.Body,
                Rating       = vm.Rating,
                BookReviewed = vm.BookReviewed,
                DatePosted   = vm.DatePosted,
                PostedBy     = User.Identity.Name
            };

            return(PartialView("_Detail", result));
        }
Example #18
0
        public async Task <IActionResult> CreateReview(ReviewCreateViewModel createModel)
        {
            if (ModelState.IsValid)
            {
                var response = await _reviewData.CreateReview(createModel);

                if (!response.IsSuccessful)
                {
                    return(View("Error", new ErrorViewModel(response.ErrorMessage,
                                                            response.ErrorException.ToString())));
                }

                return(RedirectToAction("Review", new { resourceUrl =
                                                            response.Headers.FirstOrDefault(h => h.Name == "Location").Value.ToString() }));
            }

            ModelState.AddModelError("Error", "Not all fields were filled in correctly.");
            return(View());
        }
Example #19
0
        public async Task <IActionResult> Create(ReviewCreateViewModel vm)
        {
            if (ModelState.IsValid)
            {
                _bll.Reviews.Add(vm.Review);
                await _bll.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            vm.ReviewGiverSelectList = new SelectList(await _bll.AppUsers.AllAsync(),
                                                      nameof(BLL.App.DTO.Identity.AppUser.Id),
                                                      nameof(BLL.App.DTO.Identity.AppUser.Id),
                                                      vm.Review.ReviewGiverId);
            vm.ReviewReceiverSelectList = new SelectList(await _bll.AppUsers.AllAsync(),
                                                         nameof(BLL.App.DTO.Identity.AppUser.Id),
                                                         nameof(BLL.App.DTO.Identity.AppUser.Id),
                                                         vm.Review.ReviewReceiverId);

            return(View(vm));
        }
Example #20
0
        public async Task <IActionResult> CreateReview(/*int driverId, */ ReviewCreateViewModel entry)
        {
            if (ModelState.IsValid)
            {
                Review review = new Review
                {
                    Id              = entry.Review.Id,
                    DriverId        = entry.Review.DriverId,
                    CarId           = entry.Review.CarId,
                    EngineSize      = entry.Review.EngineSize,
                    EngineType      = entry.Review.EngineType,
                    FuelConsumption = entry.Review.FuelConsumption,
                    Description     = entry.Review.Description
                };

                _context.Add(review);
                await _context.SaveChangesAsync();

                return(RedirectToAction("ReviewDetails", new { Id = review.Id }));
            }
            return(View());
        }
        public async Task <IActionResult> Create(ReviewCreateViewModel viewModel)
        {
            string userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            if (ModelState.IsValid)
            {
                var seriesReview = new SeriesReview()
                {
                    SeriesId  = viewModel.SeriesId,
                    UserId    = userId,
                    Content   = viewModel.Content,
                    CreatedAt = DateTime.UtcNow,
                    CreatedBy = userId,
                    Likes     = 0
                };
                await _context.SeriesReviews.AddAsync(seriesReview);

                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", "Series", new { id = viewModel.SeriesId }));
            }
            return(View(viewModel));
        }
Example #22
0
        public ActionResult Create(ReviewCreateViewModel input)
        {
            var config = new MapperConfiguration(cfg => cfg.CreateMap <ReviewCreateViewModel, Review>());
            var mapper = config.CreateMapper();

            //Copy values
            Review reviewToCreate = mapper.Map <Review>(input);

            reviewToCreate.UserId = Convert.ToInt32(Session["UserId"]);

            if (TempData["ParentController"].ToString() == "Food")
            {
                reviewToCreate.FoodId = Convert.ToInt32(TempData["Id"]);
            }
            else if (TempData["ParentController"].ToString() == "Restaurant")
            {
                reviewToCreate.RestaurantId = Convert.ToInt32(TempData["Id"]);
            }

            _reviewRepository.Insert(reviewToCreate);


            return(RedirectToAction("Details", TempData["parentController"].ToString(), new { id = Convert.ToInt32(TempData["Id"]) }));
        }
        public void TestInitialize()
        {
            _reviewCreateViewModel = _fixture.Build <ReviewCreateViewModel>().Without(x => x.Restaurants).Create();

            _validator = new ReviewCreateViewModelValidator();
        }
        // GET: Reviews/Create
        public IActionResult Create(int id)
        {
            var FragrantFlavorData = _context.FragrantFlavor;
            var FruityFlavorData   = _context.FruityFlavor;
            var GrainyFlavorData   = _context.GrainyFlavor;
            var GrassyFlavorData   = _context.GrassyFlavor;
            var OffNoteFlavorData  = _context.OffNoteFlavor;
            var PeatyFlavorData    = _context.PeatyFlavor;
            var WineyFlavorData    = _context.WineyFlavor;
            var WoodyFLavorData    = _context.WoodyFlavor;

            List <SelectListItem> FragrantFlavorList = new List <SelectListItem>();
            List <SelectListItem> FruityFlavorList   = new List <SelectListItem>();
            List <SelectListItem> GrainyFlavorList   = new List <SelectListItem>();
            List <SelectListItem> GrassyFlavorList   = new List <SelectListItem>();
            List <SelectListItem> OffNoteFlavorList  = new List <SelectListItem>();
            List <SelectListItem> PeatyFlavorList    = new List <SelectListItem>();
            List <SelectListItem> WineyFlavorList    = new List <SelectListItem>();
            List <SelectListItem> WoodyFlavorList    = new List <SelectListItem>();

            // include the select option in the product type list
            FragrantFlavorList.Insert(0, new SelectListItem
            {
                Text  = "Select",
                Value = ""
            });

            FruityFlavorList.Insert(0, new SelectListItem
            {
                Text  = "Select",
                Value = ""
            });

            GrainyFlavorList.Insert(0, new SelectListItem
            {
                Text  = "Select",
                Value = ""
            });

            GrassyFlavorList.Insert(0, new SelectListItem
            {
                Text  = "Select",
                Value = ""
            });

            OffNoteFlavorList.Insert(0, new SelectListItem
            {
                Text  = "Select",
                Value = ""
            });

            PeatyFlavorList.Insert(0, new SelectListItem
            {
                Text  = "Select",
                Value = ""
            });

            WineyFlavorList.Insert(0, new SelectListItem
            {
                Text  = "Select",
                Value = ""
            });

            WoodyFlavorList.Insert(0, new SelectListItem
            {
                Text  = "Select",
                Value = ""
            });

            foreach (var f in FragrantFlavorData)
            {
                SelectListItem li = new SelectListItem
                {
                    Value = f.FragrantFlavor_Id.ToString(),
                    Text  = f.Name
                };
                FragrantFlavorList.Add(li);
            }
            ;

            foreach (var f in FruityFlavorData)
            {
                SelectListItem li = new SelectListItem
                {
                    Value = f.FruityFlavor_Id.ToString(),
                    Text  = f.Name
                };
                FruityFlavorList.Add(li);
            }
            ;

            foreach (var f in GrainyFlavorData)
            {
                SelectListItem li = new SelectListItem
                {
                    Value = f.GrainyFlavor_Id.ToString(),
                    Text  = f.Name
                };
                GrainyFlavorList.Add(li);
            }
            ;

            foreach (var f in GrassyFlavorData)
            {
                SelectListItem li = new SelectListItem
                {
                    Value = f.GrassyFlavor_Id.ToString(),
                    Text  = f.Name
                };
                GrassyFlavorList.Add(li);
            }
            ;

            foreach (var f in OffNoteFlavorData)
            {
                SelectListItem li = new SelectListItem
                {
                    Value = f.OffNoteFlavor_Id.ToString(),
                    Text  = f.Name
                };
                OffNoteFlavorList.Add(li);
            }
            ;

            foreach (var f in PeatyFlavorData)
            {
                SelectListItem li = new SelectListItem
                {
                    Value = f.PeatyFlavor_Id.ToString(),
                    Text  = f.Name
                };
                PeatyFlavorList.Add(li);
            }
            ;

            foreach (var f in WineyFlavorData)
            {
                SelectListItem li = new SelectListItem
                {
                    Value = f.WineyFlavor_Id.ToString(),
                    Text  = f.Name
                };
                WineyFlavorList.Add(li);
            }
            ;

            foreach (var f in WoodyFLavorData)
            {
                SelectListItem li = new SelectListItem
                {
                    Value = f.WoodyFlavor_Id.ToString(),
                    Text  = f.Name
                };
                WoodyFlavorList.Add(li);
            }
            ;

            ReviewCreateViewModel RCVM = new ReviewCreateViewModel();

            RCVM.FragrantFlavors = FragrantFlavorList;
            RCVM.FruityFlavors   = FruityFlavorList;
            RCVM.GrainyFlavors   = GrainyFlavorList;
            RCVM.GrassyFlavors   = GrassyFlavorList;
            RCVM.OffNoteFlavors  = OffNoteFlavorList;
            RCVM.PeatyFlavors    = PeatyFlavorList;
            RCVM.WineyFlavors    = WineyFlavorList;
            RCVM.WoodyFlavors    = WoodyFlavorList;

            RCVM.whiskeyId = id;

            return(View(RCVM));
        }
Example #25
0
 private void PopulateRestaurantSelectList(ReviewCreateViewModel model)
 {
     model.Restaurants = new SelectList(_restaurantRepository.GetAll(), "Id", "Name");
 }
        public IActionResult Create(ReviewCreateViewModel reviewCreateViewModel)
        {
            int Id = ReviewCreateViewModel.GetReviewViewModel(context, reviewCreateViewModel);

            return(RedirectToAction(controllerName: nameof(Location), actionName: nameof(Index)));
        }