public async Task <IActionResult> Update(int id, [FromBody] PlaceReview item) { if (item == null) { return(BadRequest()); } var review = context.PlaceReviews.Include(rv => rv.User).FirstOrDefault(rv => rv.Id == id); if (review == null) { return(NotFound()); } // Ensure submitting user is owner of the review var user = await userManager.GetUserAsync(User); if (review.User.Id != user.Id) { return(StatusCode((int)HttpStatusCode.Forbidden)); } review.Text = item.Text; review.Time = item.Time; review.Rating = item.Rating; context.PlaceReviews.Update(review); context.SaveChanges(); return(new NoContentResult()); }
public void Create(PlaceReviewEditModel model) { var placeId = placeService.GetPlaceId(model.Place); placeTypeService.CreatePlaceTypesForPlace(placeId, model.Place.GTypes); int?imageId = null; if (!string.IsNullOrEmpty(model.ImageUri)) { imageId = imageService.CreateImage(model.ImageUri); } var review = new Review { Text = model.Review, Rating = model.Rating, CreatedByUserId = UserHelper.GetCurrentUserId(), CreatedDateTime = DateTime.Now, PlaceId = placeId, IsValid = true, ImageId = imageId }; reviewRepository.Insert(review); var placeReview = new PlaceReview { ReviewId = review.Id }; placeReviewRepository.Insert(placeReview); model.Id = placeReview.Id; }
public async Task <ActionResult> GetReviewsByPlaceId(int placeId) { List <PlaceReview> reviews = new List <PlaceReview>(); conn.Open(); MySqlCommand cmd = new MySqlCommand("call getReviewsByPlaceId(@placeId);", conn); cmd.Parameters.AddWithValue("@placeId", placeId); using (MySqlDataReader reader = cmd.ExecuteReader()) { if (reader.HasRows) { PlaceReview review; while (reader.Read()) { review = new PlaceReview(); review.Id = reader.GetInt32(0); review.UserId = reader.GetInt32(1); review.UserName = DBUtils.SafeGetString(reader, 2); review.PlaceId = reader.GetInt32(3); review.Score = reader.GetInt32(4); review.Review = DBUtils.SafeGetString(reader, 5); reviews.Add(review); } } else { return(await Task.FromResult(NotFound())); } } conn.Close(); conn.Dispose(); return(await Task.FromResult(new JsonResult(reviews))); }
public async Task <ActionResult <Place> > ReviewPlace(string placeId, PlaceReview review) { var user = GetUserId(); //Get current user var res = await _placesService.ReviewPlace(placeId, review, user); return(res); }
public ActionResult MakePlaceReview(PlaceReview rev) { rev.CarUserId = Convert.ToInt32(Session["USERID"]); ReviewService service = new ReviewService(); service.createPlaceReview(rev); return(RedirectToAction("reviews", "Users")); }
public int createPlaceReview(PlaceReview rev) { rev.Time = DateTime.Today; PsDbContex db = new PsDbContex(); var x = db.PlaceReviews.Add(rev); db.SaveChanges(); return(x.ID); }
public async Task <Place> ReviewPlace(string placeId, PlaceReview review, string user) { var dbUser = await userService.GetUser(user); if (!dbUser.Admin) { throw new GrooverAuthException($"The current user is not an admin, user id: {user}"); } var res = await _dao.ReviewPlace(placeId, review.Approved, review.ReviewComment); return(_mapper.ToApplicationEntity(res)); }
public int PlaceChk() { PlaceReview rev = new PlaceReview() { CarUserId = 2, Time = DateTime.Today.Date, ToPlaceId = 7, Rating = 5, Comment = "OK" }; PsDbContex db = new PsDbContex(); var x = db.PlaceReviews.Add(rev); db.SaveChanges(); return(x.ID); }
public async Task <IActionResult> AddReviewToPlace(string name, AddReviewToPlaceModel input) { if (!this.ModelState.IsValid) { return(this.View(input)); } var user = await this.userManager.GetUserAsync(this.User); Place place = this.placesService.GetPlaceByName(name); var pl = db.Places.First(a => a.Name.Equals(name)); var review = new PlaceReview { Name = input.Name, Description = input.Description, User = user, }; pl.Reviews.Add(review); this.db.SaveChanges(); return(this.Redirect($"/place/{pl.Id}")); }