Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
updated search to include only tracks
  • Loading branch information
Jeremy Mill committed Dec 5, 2015
1 parent 63e212f commit 739e072
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 30 deletions.
16 changes: 8 additions & 8 deletions TeamDBAwesome/TeamDBAwesome/Models/SearchResult.cs
Expand Up @@ -7,22 +7,22 @@ namespace TeamDBAwesome.Models
{
public class SearchResult
{
public List<Media> Media { get; set; }
public List<Album> Album { get; set; }
public List<Artist> Artist { get; set; }
public List<Track> Media { get; set; }
public List<Track> Album { get; set; }
public List<Track> Artist { get; set; }
public List<Track> Track { get; set; }
//pretty sure I don't need this
public List<Track> Composer { get; set; }
public List<Genre> Genre { get; set; }
public List<Track> Genre { get; set; }

public SearchResult()
{
Media = new List<Media>();
Album = new List<Album>();
Artist = new List<Artist>();
Media = new List<Track>();
Album = new List<Track>();
Artist = new List<Track>();
Track = new List<Track>();
Composer = new List<Track>();
Genre = new List<Genre>();
Genre = new List<Track>();
}

}
Expand Down
94 changes: 72 additions & 22 deletions TeamDBAwesome/TeamDBAwesome/SqlService/MySqlService.cs
Expand Up @@ -294,20 +294,37 @@ namespace TeamDBAwesome.SqlService
//need to write some logic to see any of the fields are blank, otherwise do each search, and add them to the lists in result
Dictionary<string, string> queries = new Dictionary<string, string>();

queries.Add("Media", "select * from chinook.mediatype where name like \'%" + search.Media + "%\' ");
queries.Add("Album", "select * from chinook.album where Title like \'%" + search.Album + "%\' ");
queries.Add("Artist", "select * from chinook.artist where name like \'%" + search.Artist + "%\' ");
string mediaQuery = "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, artist.Name as artist "
+ "from track 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 MediaType.Name like \'%" + search.Media + "%\'";

queries.Add("Media", mediaQuery);

string albumQuery = "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, artist.Name as artist "
+ "from track 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 album.Title like \'%" + search.Album + "%\'";

queries.Add("Album", albumQuery);

string artistQuery = "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, artist.Name as artist "
+ "from track 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 artist.Name like \'%" + search.Artist + "%\'";

queries.Add("Artist", artistQuery);

string trackQuery = "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 Album on track.AlbumId = Album.AlbumId left join mediatype on track.MediaTypeId=mediatype.MediaTypeId left join genre on track.GenreId = genre.GenreId "
+ "Album.Title as albumtitle,MediaType.Name as mediatype,Genre.Name as genre, artist.Name as artist "
+ "from track 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 track.Name like \'%" + search.Track + "%\'";

queries.Add("Track", trackQuery);

string composerQuery = "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 Album on track.AlbumId = Album.AlbumId left join mediatype on track.MediaTypeId=mediatype.MediaTypeId left join genre on track.GenreId = genre.GenreId "
+ "Album.Title as albumtitle,MediaType.Name as mediatype,Genre.Name as genre, artist.Name as artist "
+ "from track 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 track.Composer like \'%" + search.Composer + "%\'";

queries.Add("Composer", composerQuery);
Expand All @@ -332,27 +349,50 @@ namespace TeamDBAwesome.SqlService
{
if (key.Key == "Media")
{
searchresult.Media.Add(new Media
searchresult.Media.Add(new Track
{
MediaTypeId = int.Parse(GetDBString("MediaTypeId", reader)),
Name = GetDBString("Name", reader)
TrackId = int.Parse(GetDBString("TrackId", reader)),
TrackName = GetDBString("trackname", reader),
Composer = GetDBString("trackcomposer", reader),
Milliseconds = int.Parse(GetDBString("Milliseconds", reader)),
Bytes = int.Parse(GetDBString("Bytes", reader)),
UnitPrice = float.Parse(GetDBString("UnitPrice", reader)),
AlbumTitle = GetDBString("albumtitle", reader),
MediaType = GetDBString("mediatype", reader),
Genre = GetDBString("genre", reader),
artist = GetDBString("artist",reader)
});
}
else if (key.Key == "Album")
{
searchresult.Album.Add(new Album
searchresult.Album.Add(new Track
{
AlbumId = int.Parse(GetDBString("AlbumId", reader)),
ArtistId = int.Parse(GetDBString("ArtistId", reader)),
Title = GetDBString("Title", reader)
TrackId = int.Parse(GetDBString("TrackId", reader)),
TrackName = GetDBString("trackname", reader),
Composer = GetDBString("trackcomposer", reader),
Milliseconds = int.Parse(GetDBString("Milliseconds", reader)),
Bytes = int.Parse(GetDBString("Bytes", reader)),
UnitPrice = float.Parse(GetDBString("UnitPrice", reader)),
AlbumTitle = GetDBString("albumtitle", reader),
MediaType = GetDBString("mediatype", reader),
Genre = GetDBString("genre", reader),
artist = GetDBString("artist", reader)
});
}
else if (key.Key == "Artist")
{
searchresult.Artist.Add(new Artist
searchresult.Artist.Add(new Track
{
ArtistId = int.Parse(GetDBString("ArtistId", reader)),
Name = GetDBString("Name", reader)
TrackId = int.Parse(GetDBString("TrackId", reader)),
TrackName = GetDBString("trackname", reader),
Composer = GetDBString("trackcomposer", reader),
Milliseconds = int.Parse(GetDBString("Milliseconds", reader)),
Bytes = int.Parse(GetDBString("Bytes", reader)),
UnitPrice = float.Parse(GetDBString("UnitPrice", reader)),
AlbumTitle = GetDBString("albumtitle", reader),
MediaType = GetDBString("mediatype", reader),
Genre = GetDBString("genre", reader),
artist = GetDBString("artist", reader)
});
}
else if (key.Key == "Track")
Expand All @@ -367,7 +407,8 @@ namespace TeamDBAwesome.SqlService
UnitPrice = float.Parse(GetDBString("UnitPrice", reader)),
AlbumTitle = GetDBString("albumtitle", reader),
MediaType = GetDBString("mediatype", reader),
Genre = GetDBString("genre", reader)
Genre = GetDBString("genre", reader),
artist = GetDBString("artist", reader)
});
}
else if (key.Key == "Composer")
Expand All @@ -382,15 +423,24 @@ namespace TeamDBAwesome.SqlService
UnitPrice = float.Parse(GetDBString("UnitPrice", reader)),
AlbumTitle = GetDBString("albumtitle", reader),
MediaType = GetDBString("mediatype", reader),
Genre = GetDBString("genre", reader)
Genre = GetDBString("genre", reader),
artist = GetDBString("artist", reader)
});
}
else if (key.Key == "Genre")
{
searchresult.Genre.Add(new Genre
searchresult.Genre.Add(new Track
{
GenreId = int.Parse(GetDBString("GenreId", reader)),
Name = GetDBString("Name", reader)
TrackId = int.Parse(GetDBString("TrackId", reader)),
TrackName = GetDBString("trackname", reader),
Composer = GetDBString("trackcomposer", reader),
Milliseconds = int.Parse(GetDBString("Milliseconds", reader)),
Bytes = int.Parse(GetDBString("Bytes", reader)),
UnitPrice = float.Parse(GetDBString("UnitPrice", reader)),
AlbumTitle = GetDBString("albumtitle", reader),
MediaType = GetDBString("mediatype", reader),
Genre = GetDBString("genre", reader),
artist = GetDBString("artist", reader)
});
}
}
Expand Down

0 comments on commit 739e072

Please sign in to comment.