From f457f382635f4bbbbc7ed347256c66dbae369f95 Mon Sep 17 00:00:00 2001 From: Jeremy Mill Date: Thu, 12 Nov 2015 17:37:15 -0500 Subject: [PATCH] bunch of models, working on search --- API_REF.xlsx | Bin 9468 -> 9506 bytes .../Controllers/SearchController.cs | 63 ++++++++++++++++++ TeamDBAwesome/TeamDBAwesome/Models/Album.cs | 14 ++++ TeamDBAwesome/TeamDBAwesome/Models/Artist.cs | 13 ++++ TeamDBAwesome/TeamDBAwesome/Models/Genre.cs | 13 ++++ TeamDBAwesome/TeamDBAwesome/Models/Media.cs | 14 ++++ TeamDBAwesome/TeamDBAwesome/Models/Search.cs | 17 +++++ .../TeamDBAwesome/Models/SearchResult.cs | 17 +++++ TeamDBAwesome/TeamDBAwesome/Models/Track.cs | 20 ++++++ .../TeamDBAwesome/SqlService/MySqlService.cs | 21 ++++++ .../TeamDBAwesome/TeamDBAwesome.csproj | 1 + 11 files changed, 193 insertions(+) create mode 100644 TeamDBAwesome/TeamDBAwesome/Controllers/SearchController.cs create mode 100644 TeamDBAwesome/TeamDBAwesome/Models/Album.cs create mode 100644 TeamDBAwesome/TeamDBAwesome/Models/Artist.cs create mode 100644 TeamDBAwesome/TeamDBAwesome/Models/Genre.cs create mode 100644 TeamDBAwesome/TeamDBAwesome/Models/Media.cs create mode 100644 TeamDBAwesome/TeamDBAwesome/Models/Search.cs create mode 100644 TeamDBAwesome/TeamDBAwesome/Models/SearchResult.cs create mode 100644 TeamDBAwesome/TeamDBAwesome/Models/Track.cs diff --git a/API_REF.xlsx b/API_REF.xlsx index 631f7a5e0a4a8dbbda737e3520ee8df1ec5199cc..dadd4206dbc8ac9c4d25934f6dd43a8da6f442cb 100644 GIT binary patch delta 1747 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 N`6MF-z##wt001 0) + { + //set each one to blank first + dbsearch.Media = ""; + dbsearch.Album = ""; + dbsearch.Artist = ""; + dbsearch.Track = ""; + dbsearch.Composer = ""; + dbsearch.Genre = ""; + + foreach (Match match in m) + { + string tag = match.Value.Split(':')[1]; + if (tag == "Media") { dbsearch.Media = search; } + else if (tag == "Album") { dbsearch.Album = search; } + else if (tag == "Artist") { dbsearch.Artist = search; } + else if (tag == "Track") { dbsearch.Track = search; } + else if (tag == "Composer") { dbsearch.Composer = search; } + else if (tag == "Genre") { dbsearch.Genre = search; } + } + } + else + { + dbsearch.Media = search; + dbsearch.Album = search; + dbsearch.Artist = search; + dbsearch.Track = search; + dbsearch.Composer = search; + dbsearch.Genre = search; + } + //return it + return message; + } + + + } +} diff --git a/TeamDBAwesome/TeamDBAwesome/Models/Album.cs b/TeamDBAwesome/TeamDBAwesome/Models/Album.cs new file mode 100644 index 0000000..e08d95b --- /dev/null +++ b/TeamDBAwesome/TeamDBAwesome/Models/Album.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace TeamDBAwesome.Models +{ + public class Album + { + public int AlbumId { get; set; } + public string Title { get; set; } + public int ArtistId { get; set; } + } +} \ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/Models/Artist.cs b/TeamDBAwesome/TeamDBAwesome/Models/Artist.cs new file mode 100644 index 0000000..d332660 --- /dev/null +++ b/TeamDBAwesome/TeamDBAwesome/Models/Artist.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace TeamDBAwesome.Models +{ + public class Artist + { + public int ArtistId { get; set; } + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/Models/Genre.cs b/TeamDBAwesome/TeamDBAwesome/Models/Genre.cs new file mode 100644 index 0000000..145b361 --- /dev/null +++ b/TeamDBAwesome/TeamDBAwesome/Models/Genre.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace TeamDBAwesome.Models +{ + public class Genre + { + public int GenreId { get; set; } + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/Models/Media.cs b/TeamDBAwesome/TeamDBAwesome/Models/Media.cs new file mode 100644 index 0000000..3e04248 --- /dev/null +++ b/TeamDBAwesome/TeamDBAwesome/Models/Media.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace TeamDBAwesome.Models +{ + public class Media + { + //as a note, in the DB this is mediatype + public int MediaTypeId { get; set; } + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/Models/Search.cs b/TeamDBAwesome/TeamDBAwesome/Models/Search.cs new file mode 100644 index 0000000..3476702 --- /dev/null +++ b/TeamDBAwesome/TeamDBAwesome/Models/Search.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace TeamDBAwesome.Models +{ + public class Search + { + public string Media { get; set; } + public string Album { get; set; } + public string Artist { get; set; } + public string Track { get; set; } + public string Composer { get; set; } + public string Genre { get; set; } + } +} \ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/Models/SearchResult.cs b/TeamDBAwesome/TeamDBAwesome/Models/SearchResult.cs new file mode 100644 index 0000000..d06cbb8 --- /dev/null +++ b/TeamDBAwesome/TeamDBAwesome/Models/SearchResult.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace TeamDBAwesome.Models +{ + public class SearchResult + { + List Media { get; set; } + List Album { get; set; } + List Artist { get; set; } + List Track { get; set; } + List Composer { get; set; } + List Genre { get; set; } + } +} \ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/Models/Track.cs b/TeamDBAwesome/TeamDBAwesome/Models/Track.cs new file mode 100644 index 0000000..181b954 --- /dev/null +++ b/TeamDBAwesome/TeamDBAwesome/Models/Track.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace TeamDBAwesome.Models +{ + public class Track + { + public int TrackId { get; set; } + public string Name { get; set; } + public int AlbumId { get; set; } + public int MediaTypeId { get; set; } + public int GenreId { get; set; } + public string Composer { get; set; } + public int Milliseconds { get; set; } + public int Bytes { get; set; } + public float UnitPrice { get; set; } + } +} \ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/SqlService/MySqlService.cs b/TeamDBAwesome/TeamDBAwesome/SqlService/MySqlService.cs index 014cda3..72ec1da 100644 --- a/TeamDBAwesome/TeamDBAwesome/SqlService/MySqlService.cs +++ b/TeamDBAwesome/TeamDBAwesome/SqlService/MySqlService.cs @@ -166,9 +166,30 @@ public Customer GetCustomer(int PersonID) } } + private string GetDBString(string SqlFieldName, MySqlDataReader Reader) { return Reader[SqlFieldName].Equals(DBNull.Value) ? String.Empty : Reader.GetString(SqlFieldName); } + + public SearchResult Search(Search search) + { + bool open = this.OpenConnection(); + SearchResult result = new SearchResult(); + + if(open == true) + { + //do the search + //need to make the track, album, genre,media,composer, artist models + //nope. composer is inside of track + } + else + { + //handle a failure + } + + + return result; + } } } \ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj b/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj index b3db73d..92c7571 100644 --- a/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj +++ b/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj @@ -166,6 +166,7 @@ + Global.asax