Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
added GetPlaylist controller
API ref not updated yet, but it's

http://localhost:50031/api/GetPlaylist?PlaylistID=3
  • Loading branch information
Jeremy Mill committed Dec 3, 2015
1 parent e390155 commit d6de9da
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 0 deletions.
30 changes: 30 additions & 0 deletions TeamDBAwesome/TeamDBAwesome/Controllers/GetPlaylistController.cs
@@ -0,0 +1,30 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using TeamDBAwesome.Models;
using TeamDBAwesome.SqlService;

namespace TeamDBAwesome.Controllers
{
public class GetPlaylistController : ApiController
{
public HttpResponseMessage Get(int PlaylistID)
{
HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.OK);

MySqlService sql = new MySqlService();

List<Track> trackList = sql.GetPlayListTracks(PlaylistID);

string serialzed = JsonConvert.SerializeObject(trackList);

message.Content = new StringContent(serialzed);

return message;
}
}
}
45 changes: 45 additions & 0 deletions TeamDBAwesome/TeamDBAwesome/SqlService/MySqlService.cs
Expand Up @@ -479,6 +479,51 @@ namespace TeamDBAwesome.SqlService
return payList;
}

public List<Track> GetPlayListTracks(int PlaylistID)
{
List<Track> tracklist = new List<Track>();
bool open = this.OpenConnection();
if(open == true)
{
string query = "select track.TrackId as TrackID, track.Name as trackname,track.Composer as trackcomposer, " +
"track.Milliseconds,track.Bytes, track.UnitPrice, Album.Title as albumtitle,MediaType.Name as mediatype, " +
"Genre.Name as genre " +
"from track " +
"left join playlisttrack on track.TrackId = playlisttrack.trackid " +
"left join playlist on playlist.PlaylistId = playlisttrack.PlaylistId " +
"left join Album on track.AlbumId = Album.AlbumId " +
"left join mediatype on track.MediaTypeId=mediatype.MediaTypeId " +
"left join genre on track.GenreId = genre.GenreId " +
"where playlist.PlaylistId = " + PlaylistID;

MySqlCommand cmd = new MySqlCommand(query, SqlConn);

MySqlDataReader reader = cmd.ExecuteReader();

Track track;

while(reader.Read())
{
track = new Track();

track.TrackId = int.Parse(GetDBString("TrackId", reader));
track.TrackName = GetDBString("trackname", reader);
track.Composer = GetDBString("trackcomposer", reader);
track.Milliseconds = int.Parse(GetDBString("Milliseconds", reader));
track.Bytes = int.Parse(GetDBString("Bytes", reader));
track.UnitPrice = float.Parse(GetDBString("UnitPrice", reader));
track.AlbumTitle = GetDBString("albumtitle", reader);
track.MediaType = GetDBString("mediatype", reader);
track.Genre = GetDBString("genre", reader);

tracklist.Add(track);
}

}


return tracklist;
}

/// <summary>
/// Gets a track from the DB
Expand Down
1 change: 1 addition & 0 deletions TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj
Expand Up @@ -166,6 +166,7 @@
<Compile Include="Controllers\AddPaymentController.cs" />
<Compile Include="Controllers\GetCustomerController.cs" />
<Compile Include="Controllers\GetPaymentController.cs" />
<Compile Include="Controllers\GetPlaylistController.cs" />
<Compile Include="Controllers\GetTrackController.cs" />
<Compile Include="Controllers\HomeController.cs" />
<Compile Include="Controllers\NewCustomerController.cs" />
Expand Down

0 comments on commit d6de9da

Please sign in to comment.