diff --git a/TeamDBAwesome/TeamDBAwesome/Controllers/AddTrackCustomPlaylistController.cs b/TeamDBAwesome/TeamDBAwesome/Controllers/AddTrackCustomPlaylistController.cs
new file mode 100644
index 0000000..9021dc5
--- /dev/null
+++ b/TeamDBAwesome/TeamDBAwesome/Controllers/AddTrackCustomPlaylistController.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using TeamDBAwesome.SqlService;
+
+namespace TeamDBAwesome.Controllers
+{
+ public class AddTrackCustomPlaylistController : ApiController
+ {
+ public HttpResponseMessage Get(int PlaylistID, int TrackID)
+ {
+ HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.OK);
+
+ MySqlService sql = new MySqlService();
+
+ int status = sql.addToCustomPlaylist(TrackID, PlaylistID);
+
+ message.Content = new StringContent(status.ToString());
+
+ return message;
+ }
+ }
+}
diff --git a/TeamDBAwesome/TeamDBAwesome/Controllers/AddTrackPlaylistController.cs b/TeamDBAwesome/TeamDBAwesome/Controllers/AddTrackPlaylistController.cs
new file mode 100644
index 0000000..2b3ecda
--- /dev/null
+++ b/TeamDBAwesome/TeamDBAwesome/Controllers/AddTrackPlaylistController.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using TeamDBAwesome.SqlService;
+using TeamDBAwesome.Models;
+
+namespace TeamDBAwesome.Controllers
+{
+ public class AddTrackPlaylistController : ApiController
+ {
+ public HttpResponseMessage Get(int PlaylistID, int TrackID)
+ {
+ HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.OK);
+
+ MySqlService sql = new MySqlService();
+
+ int status = sql.addToPlaylist(TrackID, PlaylistID);
+
+ message.Content = new StringContent(status.ToString());
+
+ return message;
+ }
+
+ }
+}
diff --git a/TeamDBAwesome/TeamDBAwesome/Controllers/CreateOrderController.cs b/TeamDBAwesome/TeamDBAwesome/Controllers/CreateOrderController.cs
new file mode 100644
index 0000000..5f1b48c
--- /dev/null
+++ b/TeamDBAwesome/TeamDBAwesome/Controllers/CreateOrderController.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using TeamDBAwesome.SqlService;
+
+namespace TeamDBAwesome.Controllers
+{
+ public class CreateOrderController : ApiController
+ {
+ public HttpResponseMessage Get(int CustomerID)
+ {
+ HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.OK);
+
+ MySqlService sql = new MySqlService();
+
+ int newOrder = sql.createOrder(CustomerID);
+
+ message.Content = new StringContent(newOrder.ToString());
+
+ return message;
+ }
+ }
+}
diff --git a/TeamDBAwesome/TeamDBAwesome/Controllers/RemoveCustomTrackController.cs b/TeamDBAwesome/TeamDBAwesome/Controllers/RemoveCustomTrackController.cs
new file mode 100644
index 0000000..74a044c
--- /dev/null
+++ b/TeamDBAwesome/TeamDBAwesome/Controllers/RemoveCustomTrackController.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using TeamDBAwesome.SqlService;
+
+namespace TeamDBAwesome.Controllers
+{
+ public class RemoveCustomTrackController : ApiController
+ {
+ public HttpResponseMessage Get(int PlaylistID, int TrackID)
+ {
+ HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.OK);
+
+ MySqlService sql = new MySqlService();
+
+ int status = sql.removeFromCustomPlaylist(TrackID, PlaylistID);
+
+ message.Content = new StringContent(status.ToString());
+
+ return message;
+ }
+ }
+}
diff --git a/TeamDBAwesome/TeamDBAwesome/Controllers/RemoveTrackController.cs b/TeamDBAwesome/TeamDBAwesome/Controllers/RemoveTrackController.cs
new file mode 100644
index 0000000..56344e6
--- /dev/null
+++ b/TeamDBAwesome/TeamDBAwesome/Controllers/RemoveTrackController.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using TeamDBAwesome.SqlService;
+
+namespace TeamDBAwesome.Controllers
+{
+ public class RemoveTrackController : ApiController
+ {
+ public HttpResponseMessage Get(int PlaylistID, int TrackID)
+ {
+ HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.OK);
+
+ MySqlService sql = new MySqlService();
+
+ int status = sql.removeFromPlaylist(TrackID, PlaylistID);
+
+ message.Content = new StringContent(status.ToString());
+
+ return message;
+ }
+ }
+}
diff --git a/TeamDBAwesome/TeamDBAwesome/SqlService/MySqlService.cs b/TeamDBAwesome/TeamDBAwesome/SqlService/MySqlService.cs
index 25eefa1..6c6f1a5 100644
--- a/TeamDBAwesome/TeamDBAwesome/SqlService/MySqlService.cs
+++ b/TeamDBAwesome/TeamDBAwesome/SqlService/MySqlService.cs
@@ -142,6 +142,96 @@ namespace TeamDBAwesome.SqlService
}
+ public int addToPlaylist(int trackid, int playlistid)
+ {
+ bool connect = this.OpenConnection();
+ if(connect == true)
+ {
+ string insert = "INSERT INTO PlaylistTrack (PlaylistId,TrackId) VALUES (" + playlistid + "," + trackid + ")";
+ MySqlCommand command = new MySqlCommand(insert, SqlConn);
+ command.ExecuteNonQuery();
+ return 0;
+ }
+ else
+ {
+ return 1;
+ }
+
+ }
+
+ public int addToCustomPlaylist(int trackid, int playlistid)
+ {
+ bool connect = this.OpenConnection();
+ if (connect == true)
+ {
+ string insert = "INSERT INTO MyPlaylistTrack (PlaylistId,TrackId) VALUES (" + playlistid + "," + trackid + ")";
+ MySqlCommand command = new MySqlCommand(insert, SqlConn);
+ command.ExecuteNonQuery();
+ return 0;
+ }
+ else
+ {
+ return 1;
+ }
+
+ }
+
+ public int removeFromCustomPlaylist(int trackid, int playlistid)
+ {
+ bool connect = this.OpenConnection();
+ if (connect == true)
+ {
+ string insert = "DELETE FROM MyPlaylistTrack WHERE PlaylistId = " + playlistid + " AND TrackId = " + trackid;
+ MySqlCommand command = new MySqlCommand(insert, SqlConn);
+ command.ExecuteNonQuery();
+ return 0;
+ }
+ else
+ {
+ return 1;
+ }
+
+ }
+
+ public int removeFromPlaylist(int trackid, int playlistid)
+ {
+ bool connect = this.OpenConnection();
+ if (connect == true)
+ {
+ string insert = "DELETE FROM PlaylistTrack WHERE PlaylistId = " + playlistid + " AND TrackId = " + trackid;
+ MySqlCommand command = new MySqlCommand(insert, SqlConn);
+ command.ExecuteNonQuery();
+ return 0;
+ }
+ else
+ {
+ return 1;
+ }
+
+ }
+
+ public int createOrder(int custId)
+ {
+ bool open = this.OpenConnection();
+ if(open == true)
+ {
+ string insert = "INSERT INTO Orders (CustomerId) VALUES (" + custId + ")";
+ MySqlCommand command = new MySqlCommand(insert, SqlConn);
+ command.ExecuteNonQuery();
+
+ string pk_query = "SELECT LAST_INSERT_ID()";
+ command = new MySqlCommand(pk_query, SqlConn);
+ int newOrderID = int.Parse(command.ExecuteScalar() + "");
+
+
+ return newOrderID;
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
///
/// adds a payment type to the database
///
@@ -459,7 +549,7 @@ namespace TeamDBAwesome.SqlService
return searchresult;
}
}
-
+
public int NewCustomPlaylist(CustomPlaylistId playlist)
{
bool open = this.OpenConnection();
@@ -637,7 +727,7 @@ namespace TeamDBAwesome.SqlService
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, " +
+ "track.Milliseconds,track.Bytes, track.UnitPrice, Album.Title as albumtitle,MediaType.Name as mediatype, artist.name as artist, " +
"Genre.Name as genre " +
"from track " +
"left join playlisttrack on track.TrackId = playlisttrack.trackid " +
@@ -645,6 +735,7 @@ namespace TeamDBAwesome.SqlService
"left join Album on track.AlbumId = Album.AlbumId " +
"left join mediatype on track.MediaTypeId=mediatype.MediaTypeId " +
"left join genre on track.GenreId = genre.GenreId " +
+ "left join artist on album.artistid = artist.artistid " +
"where playlist.PlaylistId = " + PlaylistID;
MySqlCommand cmd = new MySqlCommand(query, SqlConn);
@@ -666,6 +757,7 @@ namespace TeamDBAwesome.SqlService
track.AlbumTitle = GetDBString("albumtitle", reader);
track.MediaType = GetDBString("mediatype", reader);
track.Genre = GetDBString("genre", reader);
+ track.artist = GetDBString("artist", reader);
tracklist.Add(track);
}
@@ -688,7 +780,7 @@ namespace TeamDBAwesome.SqlService
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, " +
+ "track.Milliseconds,track.Bytes, track.UnitPrice, Album.Title as albumtitle,MediaType.Name as mediatype, artist.name as artist, " +
"Genre.Name as genre " +
"from track " +
"left join MyPlaylistTrack on track.TrackId = MyPlaylistTrack.trackid " +
@@ -696,6 +788,7 @@ namespace TeamDBAwesome.SqlService
"left join Album on track.AlbumId = Album.AlbumId " +
"left join mediatype on track.MediaTypeId=mediatype.MediaTypeId " +
"left join genre on track.GenreId = genre.GenreId " +
+ "left join artist on album.artistid = artist.artistid " +
"where playlist.PlaylistId = " + PlaylistID;
MySqlCommand cmd = new MySqlCommand(query, SqlConn);
@@ -717,6 +810,7 @@ namespace TeamDBAwesome.SqlService
track.AlbumTitle = GetDBString("albumtitle", reader);
track.MediaType = GetDBString("mediatype", reader);
track.Genre = GetDBString("genre", reader);
+ track.artist = GetDBString("artist", reader);
tracklist.Add(track);
}
diff --git a/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj b/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj
index 2dee957..44eccf4 100644
--- a/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj
+++ b/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj
@@ -166,6 +166,9 @@
+
+
+
@@ -177,6 +180,8 @@
+
+
diff --git a/chinookmodel.mwb b/chinookmodel.mwb
index 2397d0f..d896264 100644
Binary files a/chinookmodel.mwb and b/chinookmodel.mwb differ
diff --git a/chinookmodel.mwb.bak b/chinookmodel.mwb.bak
index 4e36f1e..2397d0f 100644
Binary files a/chinookmodel.mwb.bak and b/chinookmodel.mwb.bak differ