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); }
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)); }
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)); }
public ActionResult <bool> AddSongToPlaylist([FromBody] SongInPlaylist songInPlaylist) { var result = _songService.AddSongToPlaylist(songInPlaylist); if (result == false) { return(BadRequest()); } return(true); }
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)); }
public IHttpActionResult GetSongInPlaylist(int id) { SongInPlaylist songInPlaylist = db.SongsInPlaylists.Find(id); if (songInPlaylist == null) { return(NotFound()); } return(Ok(songInPlaylist)); }
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)); }
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)); }
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); }
public SongInPlaylist GetSongInPlaylist(Guid Gid) { SongInPlaylist p = db.SongsInPlaylist.AsNoTracking().FirstOrDefault(pp => pp.Gid == Gid); return(p); }