Ejemplo n.º 1
0
        public ActionResult Prev(Guid id)
        {
            SongInPlaylist songin = dal.GetPlayable(id);

            if (songin == null)
            {
                return(HttpNotFound());
            }
            Playlist p = dal.GetPlaylist(songin.Playlist.Gid);

            if (p == null)
            {
                return(HttpNotFound());
            }
            int index = p.Songs.IndexOf(p.Songs.FirstOrDefault(s => s.Gid == songin.Gid));

            if (index > 0)
            {
                index--;
            }
            else
            {
                index = p.SongsCount - 1;
            }
            songin = p.Songs[index];
            return(RedirectToAction("Play", new { id = songin.Gid }));

            //ViewBag.SongUrl = Url.Action("mp3", "songs", new { id = songin.Song.Gid });
            //ViewBag.Song = songin;
            //ViewBag.Playlist = p;
            //return View("Play", p.Songs);
        }
Ejemplo n.º 2
0
        public IHttpActionResult PutSongInPlaylist(int id, SongInPlaylist songInPlaylist)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != songInPlaylist.Id)
            {
                return(BadRequest());
            }

            db.Entry(songInPlaylist).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SongInPlaylistExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Ejemplo n.º 3
0
        public ActionResult Songs(Playlist playlist, string SubAction, string SongGid)
        {
            ModelState.Clear();
            switch (SubAction)
            {
            case "AddSong":
                Song s = dal.GetSong(Guid.Parse(SongGid));

                SongInPlaylist ss = new SongInPlaylist();
                ss.Song     = s;
                ss.NumOrder = playlist.SongsCount;

                playlist.Songs.Add(ss);
                break;

            case "RemoveSong":
                SongInPlaylist SongToRemove = playlist.Songs.FirstOrDefault(p => p.Gid == Guid.Parse(SongGid));
                if (SongToRemove != null)
                {
                    playlist.Songs.Remove(SongToRemove);
                }
                break;
            }

            dal.SavePlaylist(playlist);

            return(View(playlist));
        }
Ejemplo n.º 4
0
        public ActionResult <bool> AddSongToPlaylist([FromBody] SongInPlaylist songInPlaylist)
        {
            var result = _songService.AddSongToPlaylist(songInPlaylist);

            if (result == false)
            {
                return(BadRequest());
            }
            return(true);
        }
Ejemplo n.º 5
0
        public ActionResult Play(Guid?id)
        {
            SongInPlaylist songin = dal.GetPlayable(id ?? Guid.Empty);

            ViewBag.SongUrl = Url.Action("mp3", "songs", new { id = songin.Song.Gid });
            Playlist p = dal.GetPlaylist(songin.Playlist.Gid);

            ViewBag.Song     = songin;
            ViewBag.Playlist = p;
            return(View(p.Songs));
        }
Ejemplo n.º 6
0
        public IHttpActionResult GetSongInPlaylist(int id)
        {
            SongInPlaylist songInPlaylist = db.SongsInPlaylists.Find(id);

            if (songInPlaylist == null)
            {
                return(NotFound());
            }

            return(Ok(songInPlaylist));
        }
Ejemplo n.º 7
0
        public IHttpActionResult PostSongInPlaylist(SongInPlaylist songInPlaylist)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.SongsInPlaylists.Add(songInPlaylist);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = songInPlaylist.Id }, songInPlaylist));
        }
Ejemplo n.º 8
0
        public IHttpActionResult DeleteSongInPlaylist(int id)
        {
            SongInPlaylist songInPlaylist = db.SongsInPlaylists.Find(id);

            if (songInPlaylist == null)
            {
                return(NotFound());
            }

            db.SongsInPlaylists.Remove(songInPlaylist);
            db.SaveChanges();

            return(Ok(songInPlaylist));
        }
Ejemplo n.º 9
0
        public SongInPlaylist GetPlayable(Guid Gid)
        {
            SongInPlaylist song = this.GetSongInPlaylist(Gid);

            if (song == null)
            {
                Playlist playlist = this.GetPlaylist(Gid);
                if (playlist != null)
                {
                    if (playlist.SongsCount > 0)
                    {
                        song = playlist.Songs.First();
                    }
                }
            }
            return(song);
        }
Ejemplo n.º 10
0
        public SongInPlaylist GetSongInPlaylist(Guid Gid)
        {
            SongInPlaylist p = db.SongsInPlaylist.AsNoTracking().FirstOrDefault(pp => pp.Gid == Gid);

            return(p);
        }