// GET: Playlists/Details
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                this.AddNotification("Invalid playlist id!", NotificationType.ERROR);
                return(RedirectToAction("MyPlaylists"));
            }

            Playlist playlist = db.Playlists.Include(a => a.Songs).FirstOrDefault(a => a.Id == id);


            ConvertToM3u(playlist);

            if (playlist == null)
            {
                this.AddNotification("Invalid playlist id!", NotificationType.ERROR);
                return(RedirectToAction("MyPlaylists"));
            }

            if (!playlist.IsPublic)
            {
                if (!IsAuthorizedToOperate(playlist))
                {
                    this.AddNotification("Playlist is not public!", NotificationType.ERROR);
                    return(RedirectToAction("MyPlaylists"));
                }
            }

            var model = new PlaylistDetailsViewModel
            {
                Id              = playlist.Id,
                Name            = playlist.PlaylistName,
                CreatedDate     = playlist.DateCreated,
                Creator         = playlist.Creator.FullName,
                SongsInPlaylist = playlist.Songs
            };

            return(View(model));
        }
Esempio n. 2
0
        public IActionResult Details(Guid?id)
        {
            var dummyPlaylist = new PlaylistDetailsViewModel
            {
                Title         = "TestPlaylist",
                Description   = "Playlist created just for test",
                OwnerUsername = "******",
                UtcDateTime   = DateTime.UtcNow,
                Audios        = new List <AudioViewModel>
                {
                    new AudioViewModel
                    {
                        AudioId = Guid.NewGuid(),
                        Path    = "dummy path",
                        Meta    = new AudioMetaViewModel
                        {
                            Title  = "Back in Black",
                            Author = "AC/DC",
                            Album  = "Unknown"
                        }
                    },
                    new AudioViewModel
                    {
                        AudioId = Guid.NewGuid(),
                        Path    = "dummy path2",
                        Meta    = new AudioMetaViewModel
                        {
                            Title  = "Thunder",
                            Author = "AC/DC",
                            Album  = "Unknown"
                        }
                    }
                }
            };

            return(View(dummyPlaylist));
        }
Esempio n. 3
0
 public PlaylistDetailsPage(Playlist playlist)
 {
     InitializeComponent();
     BindingContext = model = new PlaylistDetailsViewModel(playlist);
 }