示例#1
0
        public ActionResult <SongModel> GetSong(string id)
        {
            var lib = libraryService.GetUserLibrary();

            if (!lib.Any(s => s.Id == id))
            {
                return(NotFound());
            }
            return(SongModel.FromSong(lib.First(s => s.Id == id)));
        }
示例#2
0
        public IHttpActionResult Get(int id)
        {
            var song = this.data.Songs.Get(id);

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

            var songModel = SongModel.FromSong(song);

            return(Ok(songModel));
        }
示例#3
0
        public IHttpActionResult Delete(int id)
        {
            var existingSong = this.data.Songs.Get(id);

            if (existingSong == null)
            {
                return(BadRequest(BabRequestMessage));
            }

            var songModel = SongModel.FromSong(existingSong);

            this.data.Songs.Delete(existingSong);
            this.data.SaveChanges();

            return(Ok(songModel));
        }
示例#4
0
        public async Task <ActionResult> PostCompleteSongUpload([FromForm] string qquuid, [FromForm] string qqfilename)
        {
            if (!uploadChunkCache.TryGetValue(qquuid, out MemoryStream stream))
            {
                return(BadRequest());
            }

            var addSongResult = await libraryService.AddSongAsync(stream, qqfilename);

            if (!addSongResult.Success)
            {
                return(BadRequest());
            }

            return(Ok(new { success = true, song = SongModel.FromSong(addSongResult.Song) }));
        }
示例#5
0
 public ActionResult <List <SongModel> > GetSongs(int page = 1, int size = 100)
 {
     if (page < 1)
     {
         page = 1;
     }
     if (size < 1 || size > 1000)
     {
         size = 100;
     }
     return(libraryService.GetUserLibrary().Skip((page - 1) * size).Take(size).Select(s => SongModel.FromSong(s)).ToList());
 }