public void AddRating(int?facilityId, int?ratingValue) { AppUser user = this.users.GetUserDetails(this.User.Identity.GetUserId()); if (facilityId != null) { Facility facility = this.facilities.GetFacilityDetails((int)facilityId); if (facility != null) { FacilityRating facilityRating = facility.FaciltityRatings.FirstOrDefault(x => x.AuthorId == user.Id); if (facilityRating == null) { this.ratings.Add((int)facilityId, user.Id, (int)ratingValue); } else { this.ratings.UpdateRating(facilityRating.Id, (int)ratingValue); } int ratingsSum = facility.FaciltityRatings.Sum(x => x.RatingValue); facility.Rating = (decimal)ratingsSum / (decimal)facility.FaciltityRatings.Count; facilities.UpdateFacility(facility.Id, facility); } } }
public ActionResult SetRating(int facilityId, int rank) { var rater = User.Identity.GetUserId(); var rate = _context.FacilityRatings.SingleOrDefault(ssf => ssf.SportsFacilityId == facilityId && ssf.RaterId == rater); if (rate != null) { _context.FacilityRatings.Remove(rate); _context.SaveChanges(); } FacilityRating rating = new FacilityRating(); rating.Value = rank; rating.SportsFacilityId = facilityId; rating.SportsFacility = _context.SportsFacilities.Find(facilityId); rating.RaterId = rater; _context.FacilityRatings.Add(rating); _context.SaveChanges(); // Dodaj slike i sportove u model ovde //Vazi Bole, evo dodacu FacilityWithImagesViewModel model = new FacilityWithImagesViewModel { SportsFacility = rating.SportsFacility, IsRated = true, FacilityImages = _context.FacilityImages.Where(m => m.SportsFacilityId == facilityId).ToList() }; var sports = _context.SportSportsFacilities.Where(x => x.SportsFacility_Id == facilityId).ToList(); foreach (var s in sports) { var sp = _context.Sports.Find(s.Sport_Id); model.SportsFacility.TypesOfSports.Add(sp); } model.SportsFacility.Grades = _context.FacilityRatings.Where(x => x.SportsFacilityId == model.SportsFacility.Id).ToList(); double sum = 0; foreach (var r in model.SportsFacility.Grades) { sum += r.Value; } if (model.SportsFacility.Grades.Count != 0) { model.SportsFacility.AverageGrade = sum / (double)model.SportsFacility.Grades.Count; _context.SaveChanges(); } return(View("Details", model)); }
public FacilityRating Add(int facilityId, string authorId, int ratingValue) { var newFacilityRating = new FacilityRating { FacilityId = facilityId, AuthorId = authorId, RatingValue = ratingValue }; this.ratings.Add(newFacilityRating); this.ratings.SaveChanges(); return(newFacilityRating); }
public ActionResult GetUserFacilityRating(int id) { AppUser user = this.users.GetUserDetails(this.User.Identity.GetUserId()); Facility facility = this.facilities.GetFacilityDetails(id); ViewBag.facilityId = facility.Id; if (user != null) { FacilityRating facilityRating = facility.FaciltityRatings.FirstOrDefault(x => x.AuthorId == user.Id); var facilityRatingForView = AutoMapperConfig.Configuration.CreateMapper().Map <FacilityRatingViewModel>(facilityRating); return(this.PartialView("_FacilityRating", facilityRatingForView)); } else { return(this.PartialView("_FacilityRating", null)); } }
public FacilityRating GetById(int ratingId) { FacilityRating foundRating = this.ratings.GetById(ratingId); return(foundRating); }
public void DeleteRating(FacilityRating facilityRating) { this.ratings.Delete(facilityRating); this.ratings.SaveChanges(); }
public void Add(FacilityRating facilityRating) { this.ratings.Add(facilityRating); this.ratings.SaveChanges(); }