public IHttpActionResult Post(CourseRatingCreate rating)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var service = CreateRatingService();

            if (!service.CreateRating(rating))
            {
                return(InternalServerError());
            }

            return(Ok());
        }
        public ActionResult Create(CourseRatingCreate model)
        {
            var service = CreateRatingService();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (service.CreateRating(model))
            {
                return(RedirectToAction("Index", "Course"));
            }

            ModelState.AddModelError("", "Rating could not be created.");
            return(View(model));
        }
        public bool CreateRating(CourseRatingCreate model)
        {
            var rating = new CourseRating()
            {
                CourseId      = model.CourseId,
                CourseRatings = model.CourseRatings,
                PlayerId      = model.PlayerId,
                DatePlayed    = model.DatePlayed,
                OwnerID       = _userId
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.Ratings.Add(rating);
                if (ctx.SaveChanges() == 1)
                {
                    CalculateRating(rating.CourseId);
                    return(true);
                }
                return(false);
            }
        }