Esempio n. 1
0
        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));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
            }
        }
Esempio n. 5
0
        public FacilityRating GetById(int ratingId)
        {
            FacilityRating foundRating = this.ratings.GetById(ratingId);

            return(foundRating);
        }
Esempio n. 6
0
 public void DeleteRating(FacilityRating facilityRating)
 {
     this.ratings.Delete(facilityRating);
     this.ratings.SaveChanges();
 }
Esempio n. 7
0
 public void Add(FacilityRating facilityRating)
 {
     this.ratings.Add(facilityRating);
     this.ratings.SaveChanges();
 }