示例#1
0
        public void RateAlbum(int albumId, int rating, int userId)
        {
            var album = this.context.Albums.FirstOrDefault(x => x.AlbumId == albumId);
            var user  = this.context.Users.FirstOrDefault(x => x.UserId == userId);

            var ratedAlbum = new UserRatedAlbum()
            {
                User = user, UserId = userId, Album = album, AlbumId = album.AlbumId, Rating = rating
            };

            foreach (var ratedInDb in this.context.UserRatedAlbums)
            {
                if (ratedInDb.AlbumId == ratedAlbum.AlbumId && ratedInDb.UserId == ratedAlbum.UserId) // exceptions!!
                {
                    throw new Exception("You have already rated this album!");
                }
            }

            album.TimesRated += 1;

            this.context.UserRatedAlbums.Add(ratedAlbum);
            this.context.SaveChanges();

            //return user.Id ;
        }
示例#2
0
        public int RateAlbum(int albumId, int rating, int userId)
        {
            var album = this.context.Albums.FirstOrDefault(x => x.AlbumId == albumId);
            var user  = this.context.Users.FirstOrDefault(x => x.UserId == userId);

            var ratedAlbum = new UserRatedAlbum()
            {
                User = user, UserId = userId, Album = album, AlbumId = album.AlbumId, Rating = rating
            };

            foreach (var ratedInDb in this.context.UserRatedAlbums)
            {
                if (ratedInDb.AlbumId == ratedAlbum.AlbumId && ratedInDb.UserId == ratedAlbum.UserId)
                {
                    return(0);
                }
            }

            album.TimesRated += 1;

            this.context.UserRatedAlbums.Add(ratedAlbum);
            this.context.SaveChanges();

            return(user.UserId);
        }