public IHttpActionResult PutReviewRating(int id, ReviewRating reviewRating) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != reviewRating.Id) { return(BadRequest()); } db.Entry(reviewRating).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ReviewRatingExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IQueryable <ReviewDetails> RestaurantReviewRating(ReviewRating reviewRating) { try { List <ReviewDetails> restaurantRatings = new List <ReviewDetails>(); IQueryable <TblRating> rating; DataAccessLayer.DataEntity.ReviewRating review = new DataAccessLayer.DataEntity.ReviewRating { Rating = reviewRating.Rating, ReviewComments = reviewRating.ReviewComments, RestaurantID = reviewRating.RestaurantID, CustomerId = reviewRating.CustomerId }; rating = dalReviewRepository.RestaurantReviewRating(review); foreach (var item in rating) { ReviewDetails reviewDetails = new ReviewDetails { Rating = item.Rating, RestaurantId = item.TblRestaurantId, Review = item.Comments, CustId = item.TblCustomerId, RestaurantName = item.TblRestaurant.Name }; restaurantRatings.Add(reviewDetails); } return(restaurantRatings.AsQueryable()); } catch (Exception ex) { throw ex; } }
public async Task <ActionResult> Put(ReviewRating reviewRating) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } // Get the whole review from the database based on the id from the reviewRating parameter ProductReview review = await unitOfWork.Repository.Get <ProductReview>(reviewRating.ReviewId); if (review != null) { // Increment the likes or dislikes based on the reviewRating parameter review.Likes += reviewRating.Likes; review.Dislikes += reviewRating.Dislikes; // Update and save unitOfWork.Repository.Update(review); await unitOfWork.Save(); return(Ok()); } return(BadRequest()); }
public ActionResult PostReview(HomePostReviewVM model) { var now = DateTime.UtcNow; var otp = db.Otps.FirstOrDefault(o => o.CareManagerId == model.CareManagerId && o.VerificationCode == model.Otp && o.Expires > now); if (otp == null) { ModelState.AddModelError("Otp", "無効なOTPです。"); } if (ModelState.IsValid) { // Removes Otp db.Otps.Remove(otp); var review = new ReviewRating() { CareManagerId = otp.CareManagerId, Rating = model.Rating }; db.ReviewRatings.Add(review); db.SaveChanges(); // Updates TableStorage AddReview(otp.CareManagerId, model.ReviewerType, model.Rating, model.Message); // Calculates CareManager.Rating and CareManager.ReviewCount (Cached value to display) var careManager = db.CareManagers.Find(otp.CareManagerId); var oneYearAgo = DateTime.UtcNow.AddYears(-1); var ratings = careManager.ReviewRatings.Where(r => r.Created > oneYearAgo); var sum = ratings.Sum(r => r.Rating); var count = ratings.Count(); careManager.TotalRating = sum; careManager.ReviewsCount = count; careManager.Rating = (double)sum / count; // Calculates CareHome.Rating and CareHome.ReviewCount var home = careManager.CareHome; var homeSum = home.CareManagers.Sum(m => m.TotalRating); var homeCount = home.CareManagers.Sum(m => m.ReviewsCount); home.ReviewCount = homeCount; home.Rating = homeSum / homeCount; // Removes old ReviewRatings var ratingsToRemove = db.ReviewRatings.Where(r => r.Created <= oneYearAgo).ToList(); db.ReviewRatings.RemoveRange(ratingsToRemove); // Updates SQL db.SaveChanges(); Log(LogType.Others, "ケアマネを評価しました。", new { review.CareManagerId }); Flash("ケアマネを評価しました。"); return(RedirectToAction("CareManagerInfo", "Home", new { id = model.CareManagerId })); } ViewBag.Rating = new SelectList(Helper.Helper.Ratings, "RatingId", "Label"); ViewBag.ReviewerType = Helper.EnumHelper <ReviewerType> .GetSelectList(model.ReviewerType); return(View(model)); }
public IHttpActionResult GetReviewRating(int id) { ReviewRating reviewRating = db.ReviewRatings.Find(id); if (reviewRating == null) { return(NotFound()); } return(Ok(reviewRating)); }
public string CreateJsonLDMovie(MovieDetail movieDetail) { // return string.Empty; StructuredData structuredData = new StructuredData(); List <ItemListElement> itemListElements = new List <ItemListElement>(); int itemElementCounter = 0; // foreach (var movie in movieDetail) { Item item = new Item(); item.name = movieDetail.Title; item.image = movieDetail.Poster; item.dateCreated = movieDetail.Released; Director director = new Director(); director.name = movieDetail.Director; item.director = director; Review review = new Review(); ReviewRating reviewRating = new ReviewRating(); reviewRating.ratingValue = movieDetail.Ratings[0].Value; review.reviewRating = reviewRating; Author author = new Author(); author.name = movieDetail.Writer; review.author = author; review.reviewBody = movieDetail.Response; AggregateRating aggregateRating = new AggregateRating(); aggregateRating.bestRating = movieDetail.Ratings[0].Value; aggregateRating.ratingValue = movieDetail.Rated; aggregateRating.ratingCount = movieDetail.Ratings.Length.ToString(); review.aggregateRating = aggregateRating; item.review = review; ItemListElement itemListElement = new ItemListElement(); itemListElement.position = (itemElementCounter++).ToString(); itemListElement.item = item; itemListElements.Add(itemListElement); } structuredData.itemListElement = itemListElements; string jsonLD = JsonConvert.SerializeObject(structuredData); return(jsonLD); }
public IHttpActionResult PostReviewRating(ReviewRating reviewRating) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.ReviewRatings.Add(reviewRating); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = reviewRating.Id }, reviewRating)); }
public IActionResult RestaurantReviewRating([FromQuery] ReviewRating reviewRating) { IQueryable <ReviewDetails> reviews; reviews = bal_Repo.RestaurantReviewRating(reviewRating); if (reviews != null) { return(this.Ok(reviews)); } return(this.StatusCode((int)HttpStatusCode.InternalServerError, string.Empty)); }
public IHttpActionResult DeleteReviewRating(int id) { ReviewRating reviewRating = db.ReviewRatings.Find(id); if (reviewRating == null) { return(NotFound()); } db.ReviewRatings.Remove(reviewRating); db.SaveChanges(); return(Ok(reviewRating)); }
public async Task <ActionResult> RateReview(ReviewRating reviewRating) { // Get the whole review from the database based on the id from the reviewRating parameter ProductReview review = await unitOfWork.ProductReviews.Get(reviewRating.ReviewId); if (review != null) { // Increment the likes or dislikes based on the reviewRating parameter review.Likes += reviewRating.Likes; review.Dislikes += reviewRating.Dislikes; // Update and save unitOfWork.ProductReviews.Update(review); await unitOfWork.Save(); return(Ok()); } return(BadRequest()); }
public IQueryable <TblRating> UpdateReviewRating(ReviewRating reviewRating) { try { if (dbContext != null) { var updateRecord = from rating in dbContext.TblRating where rating.TblRestaurantId == reviewRating.RestaurantID select rating; foreach (var items in updateRecord) { if (items.TblRestaurantId == reviewRating.RestaurantID && items.TblCustomerId == reviewRating.CustomerId) { items.Rating = reviewRating.Rating; items.Comments = reviewRating.ReviewComments; items.RecordTimeStampCreated = DateTime.Now; } } dbContext.SaveChanges(); return((from rating in dbContext.TblRating join restaurant in dbContext.TblRestaurant on rating.TblRestaurantId equals restaurant.Id where rating.TblRestaurantId == reviewRating.RestaurantID && rating.TblCustomerId == reviewRating.CustomerId select new TblRating { Rating = rating.Rating, Comments = rating.Comments, TblRestaurantId = restaurant.Id, TblRestaurant = restaurant, TblCustomerId = rating.TblCustomerId }).AsQueryable()); } return(null); } catch (Exception ex) { throw ex; } }
public IQueryable <TblRating> RestaurantReviewRating(ReviewRating reviewRating) { try { if (dbContext != null) { TblRating tblRating = new TblRating { Rating = reviewRating.Rating, Comments = reviewRating.ReviewComments, TblRestaurantId = reviewRating.RestaurantID, TblCustomerId = reviewRating.CustomerId, RecordTimeStamp = DateTime.Now, RecordTimeStampCreated = DateTime.Now }; dbContext.Set <TblRating>().Add(tblRating); dbContext.SaveChanges(); return((from rating in dbContext.TblRating join restaurant in dbContext.TblRestaurant on rating.TblRestaurantId equals restaurant.Id where rating.TblRestaurantId == reviewRating.RestaurantID && rating.TblCustomerId == reviewRating.CustomerId select new TblRating { Rating = rating.Rating, Comments = rating.Comments, TblRestaurantId = restaurant.Id, TblRestaurant = restaurant, TblCustomerId = rating.TblCustomerId }).AsQueryable()); } return(null); } catch (Exception ex) { throw ex; } }
public async Task <ActionResult> RateReviw([FromBody] ReviewRating rating) { await _customerReviewService.RateReviewAsync(rating); return(Ok()); }