// PUT api/dishreview/ public HttpResponseMessage Put([FromBody] DishReview value, string filter = null) { ServerValidationInfo vi = null; value.UpdateDate = DateTime.Now; if (!ModelState.IsValid) { vi = new ServerValidationInfo(ModelState); } if (filter == null) { context.Entry(value).State = System.Data.EntityState.Modified; } else { var old = context.DishReviews.SingleOrDefault(queryBuider.CreateWhere(filter)); old.Id = value.Id; old.Rating = value.Rating; old.ClientId = value.ClientId; old.DishId = value.DishId; old.Description = value.Description; old.UpdateDate = value.UpdateDate; } if (vi != null && vi.ContainsError) { return(Request.CreateResponse(HttpStatusCode.BadRequest, vi)); } var result = context.SaveChanges() > 0; return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public void Create(DishReviewEditModel model) { int dishId = model.DishId ?? 0; int placeId = placeService.GetPlaceId(model.Place); placeTypeService.CreatePlaceTypesForPlace(placeId, model.Place.GTypes); if (!model.DishId.HasValue) { var newDish = new Dish { CreatedByUserId = UserHelper.GetCurrentUserId(), CreatedDateTime = DateTime.Now, Name = model.DishName, IsConfirmed = false, IsValid = true }; dishRepository.Insert(newDish); dishId = newDish.Id; } int?imageId = null; if (!string.IsNullOrEmpty(model.ImageUri)) { imageId = imageService.CreateImage(model.ImageUri); } var review = new Review { CreatedByUserId = UserHelper.GetCurrentUserId(), CreatedDateTime = DateTime.Now, Text = model.Review, PlaceId = placeId, IsValid = true, Rating = model.Rating, ImageId = imageId }; reviewRepository.Insert(review); var dishReview = new DishReview { DishId = dishId, ReviewId = review.Id }; dishService.CreateDishTags(model.TagIdList, dishId); dishReviewRepository.Insert(dishReview); }
public void AddReview(DishReview dishReview) { Dish dish = _unitOfWork.DishRepository.Get( d => (d.DishId == dishReview.DishId) && (d.Restaurant.Country == _userProfile.Country) && (d.Restaurant.City == _userProfile.City) ).FirstOrDefault(); if (dish == null) { throw new EntityNotFoundException("Dish with id " + dishReview.DishId + " not found."); } dishReview.CreatedAt = DateTime.Now; dishReview.UserProfileId = _userProfile.UserProfileId; _unitOfWork.DishReviewRepository.Add(dishReview); _unitOfWork.Complete(); }
// POST api/dishreview/ public HttpResponseMessage Post([FromBody] DishReview value) { ServerValidationInfo vi = null; value.UpdateDate = DateTime.Now; if (!ModelState.IsValid) { vi = new ServerValidationInfo(ModelState); } if (vi != null && vi.ContainsError) { return(Request.CreateResponse(HttpStatusCode.BadRequest, vi)); } context.Entry(value).State = System.Data.EntityState.Added; context.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, value)); }
public void Run(RestaurantContext db) { Console.WriteLine(this.description); Console.WriteLine("-------------------------------------\n"); Review review = new Review(); Console.WriteLine("Listing all restaurants:"); foreach (var restaurant in db.Restaurants.ToList()) { Console.WriteLine($"{restaurant.Name} located at {restaurant.Address}"); } Console.WriteLine("Enter address of restaurant to review"); string input = Console.ReadLine(); Restaurant restaurantToFind = db.Restaurants.Find(input); if (restaurantToFind == null) { Console.WriteLine("Restaurant does not exist, returning to menu..."); return; } review.RestaurantAddress = restaurantToFind.Address; Console.WriteLine($"Printing all guests for {restaurantToFind.Name}:"); foreach (var guest in db.Guests.Where(g => g.Table.RestaurantAddress == restaurantToFind.Address).ToList()) { Console.WriteLine($"{guest.Name} sat at table " + $"{guest.Table.Number} at " + $"{guest.Time.ToShortDateString()}: " + $"{guest.Time.ToShortTimeString()}" + $" - guestId: {guest.GuestId}"); } Console.WriteLine("Select guests that leave review - Seperate with enter, \"x\" to finish:"); input = "0"; while (input != "x") { input = Console.ReadLine(); if (int.TryParse(input, out int guestId)) { Guest guest = db.Guests.Find(guestId); if (guest != null) { Console.WriteLine($"Added {guest.Name} to the review."); review.Guests.Add(guest); } else { Console.WriteLine("Could not find the specified guest"); } } } db.Add(review); db.SaveChanges(); foreach (var guest in review.Guests) { foreach (var dish in guest.Dishes) { DishReview dishReview = db.DishReviews.Find(dish.DishId, review.ReviewId); if (dishReview == null) { db.Add(new DishReview { DishId = dish.DishId, ReviewId = review.ReviewId }); db.SaveChanges(); } } } Console.WriteLine("Enter text to add to review:"); review.Text = Console.ReadLine(); Console.WriteLine("Enter amount of stars as whole number - Must be between 1 and 5"); input = Console.ReadLine(); int stars = -1; while (!int.TryParse(input, out stars) || !(0 < stars && stars <= 5)) { Console.WriteLine("You failed to enter a whole number between 1 and 5, try again!"); input = Console.ReadLine(); } review.Stars = stars; db.Reviews.Update(review); db.SaveChanges(); }