} // CreateAlbumRatingService

        /// <summary>
        /// Edits a Album Rating
        /// </summary>
        /// <param name="albumRating"></param>
        /// <returns></returns>
        public IHttpActionResult Put(AlbumRatingEdit albumRating)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var service = CreateAlbumRatingService();

            if (!service.UpdateAlbumRating(albumRating))
            {
                return(InternalServerError());
            }

            return(Ok());
        } // Put
        } // GetAlbumRatingById

        public bool UpdateAlbumRating(AlbumRatingEdit model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var entity =
                    ctx
                    .AlbumRatings
                    .Single(e => e.AlbumRatingId == model.AlbumRatingId && e.OwnerId == _userId);


                entity.Album.CulumativeRating = entity.Album.CulumativeRating - entity.AlbumIndividualRating;
                entity.Album.CulumativeRating = model.AlbumIndividualRating + entity.Album.CulumativeRating;
                entity.Album.Rating           = entity.Album.CulumativeRating / entity.Album.NumberOfRatings;

                entity.AlbumId = model.AlbumId;
                entity.AlbumIndividualRating = model.AlbumIndividualRating;

                return(ctx.SaveChanges() == 1);
            }
        } // UpdateAlbumRating