APIHandler.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using MusicPlayer;
  7. using Newtonsoft.Json.Linq;
  8. namespace MusicPlayer
  9. {
  10. public class APIHandler
  11. {
  12. private NetworkHandler nw;
  13. public APIHandler(NetworkHandler nw)
  14. {
  15. this.nw = nw;
  16. }
  17. public string GetSongURLByID(string id)
  18. {
  19. JObject o = nw.SendString("getsongbyid?id=" + id);
  20. if (o["result"].ToString() == "OK") {
  21. return o["songurl"].ToString();
  22. }
  23. return o["errormsg"].ToString();
  24. }
  25. public List<Song> GetSongsByAlbum(string albumname)
  26. {
  27. return GetSongsByArgs("album=" + albumname);
  28. }
  29. public List<Song> GetSongsByArtist(string artistname)
  30. {
  31. return GetSongsByArgs("artist=" + artistname);
  32. }
  33. public List<Song> GetSongsByGenre(string genre)
  34. {
  35. return GetSongsByArgs("genre=" + genre);
  36. }
  37. public List<Song> GetSongsByYear(string year)
  38. {
  39. return GetSongsByArgs("album=" + year);
  40. }
  41. public List<Song> GetSongsByArgs(string args)
  42. {
  43. List<Song> songslist = new List<Song>();
  44. JObject o = nw.SendString("getsongs?"+args);
  45. if (o["result"].ToString() == "OK")
  46. {
  47. dynamic songs = o["songs"];
  48. for (int i = 0; i < songs.Count; i++)
  49. {
  50. songslist.Add(new Song(songs[i][0].ToString(), songs[i][3].ToString(), songs[i][5].ToString(), songs[i][4].ToString(), this));
  51. }
  52. }
  53. return songslist;
  54. }
  55. public List<Artist> GetArtists()
  56. {
  57. List<Artist> artistlist = new List<Artist>();
  58. JObject o = nw.SendString("getartists?id=hallo");
  59. if (o["result"].ToString() == "OK")
  60. {
  61. for (int i = 0; i < o["artists"].Count(); i++) {
  62. artistlist.Add(new Artist(o["artists"][i][0].ToString()));
  63. }
  64. }
  65. return artistlist;
  66. }
  67. public List<Album> GetAlbums()
  68. {
  69. List<Album> albumlist = new List<Album>();
  70. JObject o = nw.SendString("getalbums?id=hallo");
  71. if (o["result"].ToString() == "OK")
  72. {
  73. for (int i = 0; i < o["albums"].Count(); i++)
  74. {
  75. albumlist.Add(new Album(o["albums"][i][0].ToString()));
  76. }
  77. }
  78. return albumlist;
  79. }
  80. public List<Year> GetYears()
  81. {
  82. List<Year> yearlist = new List<Year> ();
  83. JObject o = nw.SendString("getyears?id=hallo");
  84. if (o["result"].ToString() == "OK")
  85. {
  86. for (int i = 0; i < o["years"].Count(); i++)
  87. {
  88. yearlist.Add(new Year(o["years"][i][0].ToString()));
  89. }
  90. }
  91. return yearlist;
  92. }
  93. }
  94. }