Beispiel #1
0
        public static List <RankAlbum> GetRankingAlbumsByCategoryID(int categoryID)
        {
            using (TopMusicEntities db = new TopMusicEntities())
            {
                var query = db.Album
                            .Where(a => a.CategoryID == categoryID)
                            .Select(g => new RankAlbum()
                {
                    AlbumID          = g.AlbumID,
                    AlbumDescription = g.Title + " - " + g.ArtistName,
                    NumberVotes      = g.AspNetUsers.Count()
                })
                            .OrderByDescending(x => x.NumberVotes);

                var top = query.ToList();

                for (int i = 0; i < top.Count(); i++)
                {
                    var rankAlbum = top[i];
                    rankAlbum.Rank = i + 1;
                }

                return(top);
            }
        }
Beispiel #2
0
 public static Category GetCategory(int Category_ID)
 {
     using (TopMusicEntities db = new TopMusicEntities())
     {
         return(db.Category.Find(Category_ID));
     }
 }
Beispiel #3
0
 public static int GetNumberVotesForUser(int categoryID, string userID)
 {
     using (TopMusicEntities db = new TopMusicEntities())
     {
         return(db.Album.Count(a => a.CategoryID == categoryID && a.AspNetUsers.Any(u => u.Id == userID)));
     }
 }
Beispiel #4
0
 public static Category Get(int id)
 {
     using (TopMusicEntities db = new TopMusicEntities())
     {
         return(db.Category.Find(id));
     }
 }
Beispiel #5
0
        public static List <Category> GetCategories()
        {
            List <Category> categories = new List <Category>();

            using (TopMusicEntities db = new TopMusicEntities())
            {
                categories = db.Category.ToList();
            }
            return(categories);
        }
Beispiel #6
0
        public static List <Album> GetAlbumsVotedByCategoryIDAndUserID(int categoryID, string userID)
        {
            List <Album> albums = null;

            using (TopMusicEntities db = new TopMusicEntities())
            {
                albums = db.Album.Where(a => a.CategoryID == categoryID && a.AspNetUsers.Any(u => u.Id == userID)).ToList();
            }
            return(albums);
        }
Beispiel #7
0
        public static List <Category> GetNewCategories()
        {
            List <Category> categories = new List <Category>();

            using (TopMusicEntities db = new TopMusicEntities())
            {
                categories = db.Category.Where(x => x.Status == (int)CategoryVisibility.Opened).OrderByDescending(y => y.Category_ID).ToList();
            }
            return(categories);
        }
Beispiel #8
0
 public static int DeleteCategory(int category_id)
 {
     using (TopMusicEntities db = new TopMusicEntities())
     {
         var category = db.Category.Find(category_id);
         db.Album.RemoveRange(category.Album);
         db.Category.Remove(category);
         return(db.SaveChanges());
     }
 }
Beispiel #9
0
        public static List <Album> GetAlbumsByCategory(int category_id)
        {
            List <Album> albums = null;

            using (TopMusicEntities db = new TopMusicEntities())
            {
                albums = db.Album.Where(a => a.Category_ID == category_id).ToList();
            }
            return(albums);
        }
Beispiel #10
0
 public static bool DeleteAlbum(int album_id)
 {
     using (TopMusicEntities db = new TopMusicEntities())
     {
         var album = db.Album.Find(album_id);
         db.Album.Remove(album);
         db.SaveChanges();
     }
     return(true);
 }
Beispiel #11
0
        public static List <Category> GetNewest()
        {
            List <Category> categories = null;

            using (TopMusicEntities db = new TopMusicEntities())
            {
                categories = db.Category.Where(c => c.Statut == (int)CategoryStatus.Opened).OrderByDescending(x => x.CategoryID).ToList();
            }
            return(categories);
        }
Beispiel #12
0
        public static IEnumerable <Category> GetAll()
        {
            List <Category> categories = null;

            using (TopMusicEntities db = new TopMusicEntities())
            {
                categories = db.Category.ToList();
            }
            return(categories);
        }
Beispiel #13
0
 public static int Save(int id, string name, string description, object status)
 {
     using (TopMusicEntities db = new TopMusicEntities())
     {
         var category = db.Category.Find(id);
         category.Name        = name;
         category.Description = description;
         category.Statut      = (int)status;
         return(db.SaveChanges());
     }
 }
Beispiel #14
0
        public static int EditCategory(int category_id, string name, string description, int visibility)
        {
            using (TopMusicEntities db = new TopMusicEntities())
            {
                var category = db.Category.Find(category_id);
                category.Name        = name;
                category.Description = description;
                category.Status      = visibility;

                return(db.SaveChanges());
            }
        }
Beispiel #15
0
 public static void RemoveVote(int id, string userID)
 {
     using (TopMusicEntities db = new TopMusicEntities())
     {
         var album = db.Album.Find(id);
         var user  = db.AspNetUsers.Find(userID);
         if (album != null && user != null)
         {
             album.AspNetUsers.Remove(user);
             db.SaveChanges();
         }
     }
 }
Beispiel #16
0
        //public static void RemoveVote(int id, string userID)
        //{
        //    using (TopMusicEntities db = new TopMusicEntities())
        //    {
        //        var album = db.Album.Find(id);
        //        var user = db.AspNetUsers.Find(userID);
        //        if (album != null && user != null)
        //        {
        //            album.AspNetUsers.Remove(user);
        //            db.SaveChanges();
        //        }
        //    }
        //}

        //public static int GetNumberVotesForUser(int categoryID, string userID)
        //{
        //    using (TopMusicEntities db = new TopMusicEntities())
        //    {
        //        return db.Album.Count(a => a.CategoryID == categoryID && a.AspNetUsers.Any(u => u.Id == userID));
        //    }
        //}

        public static bool Vote(int album_id, string userID)
        {
            using (TopMusicEntities db = new TopMusicEntities())
            {
                var album = db.Album.Find(album_id);
                var user  = db.AspNetUsers.Find(userID);
                if (album != null && user != null)
                {
                    album.AspNetUsers.Add(user);
                    db.SaveChanges();
                }
            }
            return(true);
        }
Beispiel #17
0
        public static bool Delete(int id)
        {
            using (TopMusicEntities db = new TopMusicEntities())
            {
                var album = db.Album.Find(id);
                if (album == null)
                {
                    return(false);
                }

                db.Album.Remove(album);
                db.SaveChanges();
                return(true);
            }
        }
Beispiel #18
0
 public static int Create(string name, string description)
 {
     using (TopMusicEntities db = new TopMusicEntities())
     {
         var category = new Category
         {
             Name        = name,
             Description = description,
             Statut      = (int)CategoryStatus.Invisible
         };
         db.Category.Add(category);
         db.SaveChanges();
         return(category.CategoryID);
     }
 }
Beispiel #19
0
 public static bool AddAlbum(int category_id, string musicbrainz_ID, string Title, string ArtistName)
 {
     using (TopMusicEntities db = new TopMusicEntities())
     {
         var album = new Album
         {
             MusicBrainz_ID = musicbrainz_ID,
             Title          = Title,
             Category_ID    = category_id,
             ArtistName     = ArtistName
         };
         db.Album.Add(album);
         db.SaveChanges();
     }
     return(true);
 }
Beispiel #20
0
 public static int CreateCategory(string name, string description)
 {
     using (TopMusicEntities db = new TopMusicEntities())
     {
         var category = new Category
         {
             Name        = name,
             Description = description,
             Status      = (int)CategoryVisibility.Hide,
             Image       = "Evolution à Venir"
         };
         db.Category.Add(category);
         db.SaveChanges();
         return(category.Category_ID);
     }
 }
Beispiel #21
0
        public static bool Delete(int id)
        {
            using (TopMusicEntities db = new TopMusicEntities())
            {
                var category = db.Category.Find(id);
                if (category == null)
                {
                    return(false);
                }

                db.Album.RemoveRange(category.Album);
                db.Category.Remove(category);
                db.SaveChanges();
                return(true);
            }
        }
Beispiel #22
0
        public static List <Category> GetPopulaires()
        {
            List <Category> categories = null;

            using (TopMusicEntities db = new TopMusicEntities())
            {
                categories = db.Album
                             .Select(x => new { x.AlbumID, x.Category, Votes = x.AspNetUsers.Count })
                             .GroupBy(x => x.Category)
                             .Select(g => new { Category = g.Key, NbVotes = g.Sum(x => x.Votes) })
                             .OrderByDescending(x => x.NbVotes)
                             .Select(x => x.Category)
                             .ToList();
            }
            return(categories);
        }
Beispiel #23
0
        public static List <Category> GetTopRankCategories()
        {
            List <Category> categories = new List <Category>();

            using (TopMusicEntities db = new TopMusicEntities())
            {
                categories = db.Album
                             .Where(x => x.Category.Status == (int)CategoryVisibility.Opened)
                             .Select(x => new { x.Album_ID, x.Category, Votes = x.AspNetUsers.Count })
                             .GroupBy(x => x.Category)
                             .Select(y => new { Category = y.Key, NbVotes = y.Sum(x => x.Votes) })
                             .OrderByDescending(x => x.NbVotes)
                             .Select(x => x.Category)
                             .ToList();
            }
            return(categories);
        }
Beispiel #24
0
 public static bool AddAlbumInCategory(int id, string mBID, string title, string artistName)
 {
     if (GetAlbumsByCategoryID(id).Exists(a => a.MusicBrainzID == mBID))
     {
         return(false);
     }
     using (TopMusicEntities db = new TopMusicEntities())
     {
         var album = new Album
         {
             MusicBrainzID = mBID,
             ArtistName    = artistName,
             Title         = title,
             CategoryID    = id
         };
         db.Album.Add(album);
         db.SaveChanges();
     }
     return(true);
 }
Beispiel #25
0
 public static string CreateRole(string roleName)
 {
     try
     {
         using (TopMusicEntities db = new TopMusicEntities())
         {
             var role = new AspNetRoles
             {
                 Name = roleName,
                 Id   = Guid.NewGuid().ToString()
             };
             db.AspNetRoles.Add(role);
             db.SaveChanges();
             return(role.Name);
         }
     }
     catch (Exception error)
     {
         throw;
     }
 }