// GET: Songs public ActionResult MySongs() { var currentUser = this.User.Identity.GetUserId(); var userSongs = db.Songs .Where(s => s.Uploader.Id == currentUser) .OrderByDescending(d => d.UploadDate) .Include(u => u.Uploader) .Include(s => s.Tags) .ToList(); var playlists = db.Playlists .Where(a => a.Creator.Id == currentUser) .ToList(); var songsPerPage = userSongs.Take(5).ToList(); var lastPage = Math.Ceiling((decimal)userSongs.Count() / 5); var model = new ListAllSongsViewModel { Songs = songsPerPage, UserPlaylists = playlists, LastPage = lastPage }; return(PartialView(model)); }
public ActionResult List(int?id) { if (id == null) { this.AddNotification("Song does not exist", NotificationType.ERROR); return(RedirectToAction("MySongs")); } using (var db = new ApplicationDbContext()) { var songs = db.Tags .Include(t => t.Songs.Select(s => s.Tags)) .Include(t => t.Songs.Select(s => s.Uploader)) .FirstOrDefault(t => t.id == id) .Songs .ToList(); var currentUser = this.User.Identity.GetUserId(); var userPlaylists = db.Playlists .Where(a => a.Creator.Id == currentUser) .ToList(); var model = new ListAllSongsViewModel { Songs = songs, UserPlaylists = userPlaylists, }; return(View(model)); } }
public ActionResult ListSongs(ListAllSongsViewModel songsModel) { var allSongs = db.Songs.OrderBy(s => s.Id).ToList(); var currentPageSongs = allSongs.Skip((songsModel.CurrentPage - 1) * 6).Take(6).ToList(); songsModel.Songs = currentPageSongs; songsModel.UserPlaylists = LoggedUser(); return(PartialView("SongPartial", songsModel)); }
public ActionResult Genres() { var allSongs = db.Songs.ToList(); var allGenres = db.Genres.ToList(); var currentPageSong = allSongs.Take(6).ToList(); var songsTotalPages = Math.Ceiling((decimal)allSongs.Count() / 6); var songsModel = new ListAllSongsViewModel { Songs = currentPageSong, UserPlaylists = LoggedUser(), LastPage = songsTotalPages }; ViewBag.Genres = allGenres; return(View(songsModel)); }
public ActionResult MySongs(ListAllSongsViewModel model) { var currentUser = this.User.Identity.GetUserId(); var userSongs = db.Songs .Where(s => s.Uploader.Id == currentUser) .OrderByDescending(d => d.UploadDate) .Include(u => u.Uploader) .Include(s => s.Tags) .ToList(); var playlists = db.Playlists .Where(a => a.Creator.Id == currentUser) .ToList(); var currentPageSongs = userSongs.Skip((model.CurrentPage - 1) * 5).Take(5).ToList(); model.Songs = currentPageSongs; model.UserPlaylists = playlists; return(PartialView("SongPartial", model)); }
public ActionResult Genres(int id) { var selectedGenre = db.Genres.Select(i => i.Id).Contains(id); if (!selectedGenre) { return(HttpNotFound()); } var songsInGenre = db.Songs.Where(g => g.GenreId == id).ToList(); var lastSongPage = Math.Ceiling((decimal)songsInGenre.Count() / 6); var model = new ListAllSongsViewModel { Songs = songsInGenre, UserPlaylists = LoggedUser(), LastPage = lastSongPage }; return(PartialView("SongPartial", model)); }
public ActionResult List(string id) { switch (id) { case "Songs": var allSongs = db.Songs.OrderBy(s => s.Id).ToList(); var songsTotalPages = Math.Ceiling((decimal)allSongs.Count() / 6); var currentPageSongs = allSongs.Take(6).ToList(); var songsModel = new ListAllSongsViewModel { Songs = currentPageSongs, UserPlaylists = LoggedUser(), LastPage = songsTotalPages }; return(View("ListSongs", songsModel)); case "Playlists": var allPlaylists = db.Playlists.Where(p => p.IsPublic).OrderBy(p => p.Id).ToList(); var playlistsTotalPages = Math.Ceiling((decimal)allPlaylists.Count() / 6); var currentPagePlaylists = allPlaylists.Take(6).ToList(); var playlistsModel = new ListAllPlaylistsViewModel { Playlists = currentPagePlaylists, LastPage = playlistsTotalPages }; return(View("ListPlaylists", playlistsModel)); default: this.AddNotification("Somethings get wrong", NotificationType.WARNING); return(null); } }
public ActionResult SearchSongs(ListAllSongsViewModel model) { return(null); }
public ActionResult Search(string query, string type) { switch (type) { case "songs": var allSongs = db.Songs; var songResult = allSongs .AsQueryable() .Where(song => song.Artist.ToLower().Contains(query.ToLower()) || song.Title.ToLower().Contains(query.ToLower())) .ToList(); var songsPerPage = songResult.Take(6).ToList(); var songsTotalPages = Math.Ceiling((decimal)songResult.Count() / 6); var songModel = new ListAllSongsViewModel { Songs = songsPerPage, UserPlaylists = LoggedUser(), LastPage = songsTotalPages, }; if (query == string.Empty) { songModel.Songs = allSongs.ToList(); songModel.LastPage = Math.Ceiling((decimal)allSongs.Count() / 6); } return(PartialView("SearchSongs", songModel)); case "playlists": var publicPlaylists = db.Playlists.Where(playlist => playlist.IsPublic).ToList(); var playlistResult = publicPlaylists .AsQueryable() .Where(playlist => playlist.PlaylistName.ToLower().Contains(query.ToLower())) .ToList(); var playlistsPerPage = playlistResult.Take(6).ToList(); var playlistsTotalPages = Math.Ceiling((decimal)playlistResult.Count() / 6); var playlistModel = new ListAllPlaylistsViewModel { Playlists = playlistsPerPage, LastPage = playlistsTotalPages, }; if (query == string.Empty) { playlistModel.Playlists = publicPlaylists; playlistModel.LastPage = Math.Ceiling((decimal)publicPlaylists.Count() / 6); } return(PartialView("SearchPlaylists", playlistModel)); default: return(HttpNotFound()); } }