diff --git a/API_REF.xlsx b/API_REF.xlsx index 2030358..db78909 100644 Binary files a/API_REF.xlsx and b/API_REF.xlsx differ diff --git a/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj b/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj index ecb1ab5..47dd533 100644 --- a/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj +++ b/TeamDBAwesome/TeamDBAwesome/TeamDBAwesome.csproj @@ -218,6 +218,7 @@ + diff --git a/TeamDBAwesome/TeamDBAwesome/app.js b/TeamDBAwesome/TeamDBAwesome/app.js index 9e5a7a5..776ba5c 100644 --- a/TeamDBAwesome/TeamDBAwesome/app.js +++ b/TeamDBAwesome/TeamDBAwesome/app.js @@ -47,6 +47,14 @@ app.config(function ($stateProvider, $urlRouterProvider, $httpProvider) { 'footer': {templateUrl: 'pages/templates/footer.html'} } }) + .state('user-orders', { + url: '/orders', + views: { + 'header': { templateUrl: 'pages/templates/user-header.html' }, + 'content': { templateUrl: 'pages/user-orders.html' }, + 'footer': { templateUrl: 'pages/templates/footer.html' } + } + }) .state('user-account', { url: '/manageaccount', views: { diff --git a/TeamDBAwesome/TeamDBAwesome/js/userController.js b/TeamDBAwesome/TeamDBAwesome/js/userController.js index d9a71d8..acc2ec2 100644 --- a/TeamDBAwesome/TeamDBAwesome/js/userController.js +++ b/TeamDBAwesome/TeamDBAwesome/js/userController.js @@ -13,29 +13,59 @@ angular.module('routerApp').controller('userController', function ($q, $window, $http.get("http://localhost:50031/api/GetCustomer?PersonID=" + customerid) .success(function (response) { $scope.user = angular.copy(response); - console.log($scope.user); - console.log(response); }) } // Update User Information $scope.updateUser = function () { - console.log("Update User"); var promise = $http({ method: "post", - url: "http://localhost:50031/api/NewCustomer", + url: "http://localhost:50031/api/UpdateCustomer", headers: { contentType: "application/json" }, data: $scope.user }). success(function (data, status, headers, config) { - $scope.messages = 'You are now registered and may now log in. '; + $scope.messages = 'You have successfully updated your information. '; }). error(function (error, status, headers, config) { $scope.messages = 'There was a network error. Try again later.'; }); } + // Dealing with Search + $scope.columns = [ + { field: 'TrackId', displayName: ' ', cellTemplate: '
' }, + { field: 'TrackName', displayName: ' Track Name'}, + { field: 'AlbumTitle', displayName: ' Album Title '}, + { field: 'MediaType', displayName: ' Media Type ' }, + { field: 'Genre', displayName: ' Genre ' }, + { field: 'Clip', displayName: ' Sound Clip '}, + { field: 'UnitPrice', displayName: ' Unit Price ' } + ]; + + $scope.gridOptions = { + data: null, + enableSorting: true, + columnDefs: $scope.columns, + onRegisterApi: function (gridApi) { + $scope.gridApi = gridApi; + var cellTemplate = 'ui-grid/selectionRowHeader'; + $scope.gridApi.core.addRowHeaderColumn({ name: 'rowHeaderCol', displayName: '', width: 30, cellTemplate: cellTemplate }); + } + }; + + + // Search Function + $scope.search = function (token) { + console.log(token); + $http.get("http://localhost:50031/api/Search?search=" + token) + .success(function (response) { + $scope.data = angular.copy(response); + $scope.gridOptions.data = $scope.data.Track; + }); + } + /* Begin Function Definitions */ $scope.authenticateUser = function (id, pass) { return $q(function (resolve, reject) { @@ -58,6 +88,10 @@ angular.module('routerApp').controller('userController', function ($q, $window, }) } + $scope.addToCart = function (trackid) { + console.log(trackid); + } + $scope.logout = function () { $scope.messages = 'You have been logged out.'; $cookies.remove("PWD"); diff --git a/TeamDBAwesome/TeamDBAwesome/pages/admin-customerinfo.html b/TeamDBAwesome/TeamDBAwesome/pages/admin-customerinfo.html index fd19d26..57903e8 100644 --- a/TeamDBAwesome/TeamDBAwesome/pages/admin-customerinfo.html +++ b/TeamDBAwesome/TeamDBAwesome/pages/admin-customerinfo.html @@ -3,24 +3,14 @@

Customer Info

- + + + Review Customer Demographic Screen – this screen should be similar to the edit profile + screen (see Figure 1 again) but it should include the ability to search for a customer by + different means. This could include any of: First and Last Names, Company Name, + Address/City/State/Country/Postal Code, Phone, Fax, and Email; whatever seems + appropriate. - - - - - - - Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas non imperdiet ante, in eleifend nunc. Cras sollicitudin vehicula faucibus. Ut egestas tincidunt fermentum. Vestibulum eu nibh imperdiet lorem vulputate pulvinar vel ut turpis. Aenean rutrum et leo eu tincidunt. Praesent egestas velit eget odio interdum sollicitudin. Maecenas et feugiat erat. Nunc venenatis elit eu maximus porttitor. Mauris facilisis vestibulum purus et condimentum. Fusce ex erat, ullamcorper sed turpis nec, sollicitudin accumsan nibh. Maecenas sodales nulla id nibh efficitur euismod vitae a massa. Aliquam efficitur dignissim libero, eu dapibus nibh pulvinar pulvinar. -
-
- - - - Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas non imperdiet ante, in eleifend nunc. Cras sollicitudin vehicula faucibus. Ut egestas tincidunt fermentum. Vestibulum eu nibh imperdiet lorem vulputate pulvinar vel ut turpis. Aenean rutrum et leo eu tincidunt. Praesent egestas velit eget odio interdum sollicitudin. Maecenas et feugiat erat. Nunc venenatis elit eu maximus porttitor. Mauris facilisis vestibulum purus et condimentum. Fusce ex erat, ullamcorper sed turpis nec, sollicitudin accumsan nibh. Maecenas sodales nulla id nibh efficitur euismod vitae a massa. Aliquam efficitur dignissim libero, eu dapibus nibh pulvinar pulvinar. -
-
- -
+


\ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/pages/admin-home.html b/TeamDBAwesome/TeamDBAwesome/pages/admin-home.html index 3da1bf4..223da9a 100644 --- a/TeamDBAwesome/TeamDBAwesome/pages/admin-home.html +++ b/TeamDBAwesome/TeamDBAwesome/pages/admin-home.html @@ -4,6 +4,11 @@

Welcome Admin

Display Orders to move to invoice



+ Active Order Screen - where clicking an order from the dashboard goes to another screen to + show the status and content of each order. This should have a similar content and structure + to the “Pending/Completed Orders and Status Screen” of the Customer. This will also + involve additional capabilities for processing the order and interacting with customers on + screen that is enabled from the click.
diff --git a/TeamDBAwesome/TeamDBAwesome/pages/admin-mediacenter.html b/TeamDBAwesome/TeamDBAwesome/pages/admin-mediacenter.html index f50ad51..c4c0440 100644 --- a/TeamDBAwesome/TeamDBAwesome/pages/admin-mediacenter.html +++ b/TeamDBAwesome/TeamDBAwesome/pages/admin-mediacenter.html @@ -1,5 +1,21 @@
-

Media Center Here

+

Media Center Here



+ Enter/Edit New Media Screen – as shown in Figure 4 for the UConnJobSearch app, there + needs to a screen to enter all of the information on a new media item including: track name, + album name, artist name, composer name, genre name, and/or media name; this means + entering new artists, albums, genres, media types, and tracks. You may also need to add + new track names as well.

+ Create/Manage Playlists: A screen that for a Employee to create/manage/modify playlists + (nPlaylist and PlaylistTrack entities/tables) for the Chinook web app, which requires + detailed search capabilities for tracks (track name, album name, artist name, composer + name, genre name, and/or media name). This has the ability to modify an existing Chinook + playlist (add or remove tracks or remove the entire playlist). This also has the ability to + create a new named Chinook playlist which will allow the Employee to perform a detailed + search and select tracks. The Search Screen, as shown in Figure 3 for the UConn Job Search, + the upper left should have a set of options to search media by track name, album name, artist + name, composer name, genre name, and/or media name, return the results. You will need to + support multiple pages for the result sets since there can be many results based on the search + criteria.

\ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/pages/admin-view.html b/TeamDBAwesome/TeamDBAwesome/pages/admin-view.html index e5405ac..6c6b9ee 100644 --- a/TeamDBAwesome/TeamDBAwesome/pages/admin-view.html +++ b/TeamDBAwesome/TeamDBAwesome/pages/admin-view.html @@ -1,5 +1,21 @@

Results View here

-
+


+ o Sales Reporting: There a number of dimensions that can be used singularly or combined. + The duration dimension would support search by day, month, year, or date range. The + location dimension of would support by city/state/country. The media dimension would + allow different combinations of: track name, album name, artist name, composer name, + genre name, and/or media. The customer dimension would include: single customer, set + of customers (selected by administrator), customers in a city, customers in a state, + customers in a country. Any one or more could be combined. The sales reporting would + be taken from the Invoice and InvoiceLine Tables for the appropriate costs (sales can be + total or broken down – another dimension) which could include both the UnitPrice + (Track) as well as the total Sales (all UnitPrices for all tracks) and the Quantity + (InvoiceLine Table).
+ Inventory Reporting: Drop down selections for: A screen that has the ability to run a + wide range of reports on media by track name, artist, composer, genre, media, + milliseconds, bytes, and/or composer. These can be summary reports by artist name, by + compose, genre, etc. The report needs to work for all combinations. This is utilizing the + media dimension \ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/pages/templates/user-header.html b/TeamDBAwesome/TeamDBAwesome/pages/templates/user-header.html index 99877a8..4fda969 100644 --- a/TeamDBAwesome/TeamDBAwesome/pages/templates/user-header.html +++ b/TeamDBAwesome/TeamDBAwesome/pages/templates/user-header.html @@ -1,27 +1,53 @@ \ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/pages/user-account.html b/TeamDBAwesome/TeamDBAwesome/pages/user-account.html index 5605bb0..edfc599 100644 --- a/TeamDBAwesome/TeamDBAwesome/pages/user-account.html +++ b/TeamDBAwesome/TeamDBAwesome/pages/user-account.html @@ -61,7 +61,10 @@
- +

+

Update Payment Methods


+ Set/edit payment types Screen – design a screen that lets a customer choose credit card, + check, paypal, Google Pay, and Apple Pay options. diff --git a/TeamDBAwesome/TeamDBAwesome/pages/user-home.html b/TeamDBAwesome/TeamDBAwesome/pages/user-home.html index fd223db..6b603e3 100644 --- a/TeamDBAwesome/TeamDBAwesome/pages/user-home.html +++ b/TeamDBAwesome/TeamDBAwesome/pages/user-home.html @@ -1,12 +1,123 @@ + + +
-
-

Welcome User

-

Navigation Above

- Display Orders
- Display Serach
-

-
-
+

Suggested Search

+
+ + + + +
+
+
+
+
+
+ +
+
+
+
+ +

+

Current Search

+ +
+ + +
+ + + + + + + + + + + + +
?????
Album Name
Artist Name
{{x.Title}}{{x.ArtistId}}
+
+ + + + + + + + +
+ + {{x.STATEMENT}}
+
+ + + + + + + + + + + + + + + + + + + +
Track Name
Album Name
Media Type
Genre
CLIP
Price
{{x.TrackName}}{{x.AlbumTitle}}{{x.MediaType}}{{x.Genre}}CLIP{{x.UnitPrice}}
+
+ + + + + + + + + +
+

Still need to display Orders


diff --git a/TeamDBAwesome/TeamDBAwesome/pages/user-orders.html b/TeamDBAwesome/TeamDBAwesome/pages/user-orders.html new file mode 100644 index 0000000..44fddf9 --- /dev/null +++ b/TeamDBAwesome/TeamDBAwesome/pages/user-orders.html @@ -0,0 +1,19 @@ +
+

Order Stuff goes here


+ Link to Order Screen that lets a customer select a playlist to order (from MyPlaylist + or Playlist) or as selected by track via the detailed searching of tracks by track name, + album name, artist name, composer name, genre name, and/or media name. The + Order screen is tied to a Shopping Cart.
+ Pending/Completed Orders and Status Screen – this should drill down to one order in a read + only mode to view a specific order when reached from the selection on the Customer + Dashboard
Order Screen: A screen for that lets a customer select a playlist to order (from MyPlaylist or + Playlist) or as selected by track via the detailed searching of tracks by track name, album + name, artist name, composer name, genre name, and/or media name. The Order screen is + tied to a Shopping Cart. You need to decide the way for customers to select either playlists + (their own in MyPlaylists or in Playlists) or from tracks that are then included in a shopping + cart.
+ + Shopping Cart Screen – to show the items that are being placed for potential order. Time + permitting, you should add the ability to edit the order (remove tracks) but this is not an + immediate initial features. +
\ No newline at end of file diff --git a/TeamDBAwesome/TeamDBAwesome/pages/user-playlists.html b/TeamDBAwesome/TeamDBAwesome/pages/user-playlists.html index d7b1eb6..c7a6aa9 100644 --- a/TeamDBAwesome/TeamDBAwesome/pages/user-playlists.html +++ b/TeamDBAwesome/TeamDBAwesome/pages/user-playlists.html @@ -1,4 +1,20 @@
-

Playlist Stuff goes here

+

Playlist Stuff goes here


+ Link to a screen that for a Customer to create/manage/modify his/her playlists (new + MyPlaylist and MyPlaylistTrack entities/tables) which involves detailed searching of + tracks by track name, album name, artist name, composer name, genre name, and/or + media name

+ + Create/Manage MyPlaylists: A screen that for a Customer to create/manage/modify his/her + playlists (new MyPlaylist and MyPlaylistTrack entities/tables) which requires detailed + search capabilities for tracks (by track name, album name, artist name, composer name, + genre name, and/or media name.). This will display a list of a customer’s play list and when + clicking upon a list will show all of the tracks. This has the ability to modify an existing play + list (add or remove tracks or remove the entire playlist). This also has the ability to create a + new named play list which will allow the customer to perform a detailed search and select + tracks. The Search Screen, as shown in Figure 3 for the UConn Job Search, the upper left + should have a set of options to search media, by name, artist, composer, genre, media, and/or + composer; and, based on the values, return the results. You will need to support multiple + pages for the result sets since there can be many results based on the search criteria.
\ No newline at end of file