From baae62132b6114486f5c8f77a42676c44c20ce45 Mon Sep 17 00:00:00 2001 From: Steve Sanderson Date: Thu, 18 May 2017 13:52:58 +0100 Subject: [PATCH] Remove projects and packages obsoleted in v2 --- JavaScriptServices.sln | 51 +- samples/angular/MusicStore/.gitignore | 9 - .../MusicStore/Apis/AlbumsApiController.cs | 216 -- .../MusicStore/Apis/ArtistsApiController.cs | 30 - .../MusicStore/Apis/GenresApiController.cs | 70 - .../Apis/Models/AccountViewModels.cs | 63 - .../angular/MusicStore/Apis/Models/Album.cs | 40 - .../angular/MusicStore/Apis/Models/Artist.cs | 12 - .../MusicStore/Apis/Models/CartItem.cs | 21 - .../angular/MusicStore/Apis/Models/Genre.cs | 24 - .../Apis/Models/MusicStoreContext.cs | 34 - .../angular/MusicStore/Apis/Models/Order.cs | 73 - .../MusicStore/Apis/Models/OrderDetail.cs | 14 - .../MusicStore/Apis/Models/SampleData.cs | 915 ------ .../Apis/Models/SentimentAnalysis.cs | 38 - .../MusicStore/Apis/Models/ShoppingCart.cs | 207 -- .../MusicStore/Controllers/HomeController.cs | 17 - .../Infrastructure/NoCacheAttribute.cs | 19 - .../MusicStore/Infrastructure/PagedList.cs | 150 - .../Infrastructure/SortDirection.cs | 13 - .../Infrastructure/SortExpression.cs | 87 - samples/angular/MusicStore/MusicStore.csproj | 31 - samples/angular/MusicStore/Startup.cs | 103 - .../MusicStore/Views/Home/Index.cshtml | 23 - .../MusicStore/Views/Shared/Error.cshtml | 6 - .../MusicStore/Views/Shared/_Layout.cshtml | 40 - .../MusicStore/Views/_ViewImports.cshtml | 4 - .../MusicStore/Views/_ViewStart.cshtml | 3 - samples/angular/MusicStore/gulpfile.js | 53 - samples/angular/MusicStore/package.json | 32 - samples/angular/MusicStore/tsconfig.json | 13 - samples/angular/MusicStore/tsd.json | 12 - .../MusicStore/typings/es6-shim/es6-shim.d.ts | 668 ----- samples/angular/MusicStore/typings/tsd.d.ts | 2 - .../MusicStore/typings/url-workaround.d.ts | 7 - .../angular/MusicStore/wwwroot/css/site.css | 3 - .../MusicStore/wwwroot/css/styles.less | 14 - .../wwwroot/images/home-showcase.png | Bin 254130 -> 0 bytes .../MusicStore/wwwroot/images/logo.png | Bin 2963 -> 0 bytes .../MusicStore/wwwroot/images/placeholder.png | Bin 1221 -> 0 bytes .../MusicStore/wwwroot/ng-app/boot-client.ts | 8 - .../MusicStore/wwwroot/ng-app/boot-server.ts | 30 - .../admin/admin-home/admin-home.html | 3 - .../components/admin/admin-home/admin-home.ts | 19 - .../album-delete-prompt.html | 17 - .../album-delete-prompt.ts | 20 - .../admin/album-details/album-details.html | 50 - .../admin/album-details/album-details.ts | 20 - .../admin/album-edit/album-edit.html | 47 - .../components/admin/album-edit/album-edit.ts | 94 - .../admin/albums-list/albums-list.html | 44 - .../admin/albums-list/albums-list.ts | 68 - .../admin/form-field/form-field.html | 9 - .../components/admin/form-field/form-field.ts | 19 - .../wwwroot/ng-app/components/app/app.css | 0 .../wwwroot/ng-app/components/app/app.html | 30 - .../wwwroot/ng-app/components/app/app.ts | 33 - .../public/album-details/album-details.html | 26 - .../public/album-details/album-details.ts | 18 - .../public/album-tile/album-tile.html | 4 - .../public/album-tile/album-tile.ts | 12 - .../public/genre-contents/genre-contents.html | 7 - .../public/genre-contents/genre-contents.ts | 20 - .../public/genres-list/genres-list.html | 13 - .../public/genres-list/genres-list.ts | 19 - .../ng-app/components/public/home/home.html | 10 - .../ng-app/components/public/home/home.ts | 19 - .../wwwroot/ng-app/models/models.ts | 16 - .../MusicStore/wwwroot/system.config.js | 3 - samples/angular/MusicStore/wwwroot/web.config | 9 - samples/react/MusicStore/.babelrc | 3 - samples/react/MusicStore/.gitignore | 4 - .../MusicStore/Apis/AlbumsApiController.cs | 201 -- .../MusicStore/Apis/ArtistsApiController.cs | 30 - .../MusicStore/Apis/GenresApiController.cs | 70 - .../Apis/Models/AccountViewModels.cs | 63 - samples/react/MusicStore/Apis/Models/Album.cs | 40 - .../react/MusicStore/Apis/Models/Artist.cs | 12 - .../react/MusicStore/Apis/Models/CartItem.cs | 21 - samples/react/MusicStore/Apis/Models/Genre.cs | 24 - .../Apis/Models/MusicStoreContext.cs | 34 - samples/react/MusicStore/Apis/Models/Order.cs | 73 - .../MusicStore/Apis/Models/OrderDetail.cs | 14 - .../MusicStore/Apis/Models/SampleData.cs | 915 ------ .../MusicStore/Apis/Models/ShoppingCart.cs | 207 -- .../MusicStore/Controllers/HomeController.cs | 16 - .../Infrastructure/NoCacheAttribute.cs | 19 - .../MusicStore/Infrastructure/PagedList.cs | 150 - .../Infrastructure/SortDirection.cs | 13 - .../Infrastructure/SortExpression.cs | 87 - samples/react/MusicStore/MusicStore.csproj | 34 - .../MusicStore/Properties/launchSettings.json | 25 - .../react/MusicStore/ReactApp/boot-server.tsx | 50 - samples/react/MusicStore/ReactApp/boot.tsx | 25 - .../ReactApp/components/NavMenu.tsx | 49 - .../components/public/AlbumDetails.tsx | 58 - .../ReactApp/components/public/AlbumTile.tsx | 17 - .../components/public/GenreDetails.tsx | 45 - .../ReactApp/components/public/Genres.tsx | 38 - .../ReactApp/components/public/Home.tsx | 34 - .../MusicStore/ReactApp/configureStore.ts | 34 - samples/react/MusicStore/ReactApp/routes.tsx | 25 - .../MusicStore/ReactApp/store/AlbumDetails.ts | 81 - .../ReactApp/store/FeaturedAlbums.ts | 62 - .../MusicStore/ReactApp/store/GenreDetails.ts | 68 - .../MusicStore/ReactApp/store/GenreList.ts | 55 - .../react/MusicStore/ReactApp/store/index.ts | 27 - .../MusicStore/ReactApp/styles/styles.css | 3 - samples/react/MusicStore/SiteSettings.cs | 13 - samples/react/MusicStore/Startup.cs | 114 - .../react/MusicStore/Views/Home/Index.cshtml | 11 - .../MusicStore/Views/Shared/Error.cshtml | 6 - .../MusicStore/Views/Shared/_Layout.cshtml | 12 - .../MusicStore/Views/_ViewImports.cshtml | 3 - .../react/MusicStore/Views/_ViewStart.cshtml | 3 - samples/react/MusicStore/package.json | 52 - samples/react/MusicStore/tsconfig.json | 21 - samples/react/MusicStore/webpack.config.js | 32 - samples/react/MusicStore/wwwroot/favicon.ico | Bin 32038 -> 0 bytes .../wwwroot/images/home-showcase.png | Bin 254130 -> 0 bytes .../react/MusicStore/wwwroot/images/logo.png | Bin 2963 -> 0 bytes .../MusicStore/wwwroot/images/placeholder.png | Bin 1221 -> 0 bytes samples/react/MusicStore/wwwroot/web.config | 9 - samples/react/ReactGrid/.babelrc | 3 - samples/react/ReactGrid/.gitignore | 3 - .../ReactGrid/Controllers/HomeController.cs | 17 - .../Controllers/PeopleApiController.cs | 30 - samples/react/ReactGrid/README.txt | 2 - .../react/ReactGrid/ReactApp/boot-client.jsx | 8 - .../react/ReactGrid/ReactApp/boot-server.jsx | 23 - .../ReactApp/components/CustomPager.jsx | 50 - .../ReactApp/components/PeopleGrid.jsx | 31 - .../ReactApp/components/PersonEditor.jsx | 57 - .../ReactApp/components/ReactApp.jsx | 18 - .../ReactGrid/ReactApp/data/columnMeta.jsx | 60 - .../react/ReactGrid/ReactApp/data/fakeData.js | 2486 ----------------- samples/react/ReactGrid/ReactGrid.csproj | 25 - samples/react/ReactGrid/Startup.cs | 65 - .../react/ReactGrid/Views/Home/Index.cshtml | 6 - .../react/ReactGrid/Views/Shared/Error.cshtml | 6 - .../ReactGrid/Views/Shared/_Layout.cshtml | 14 - .../react/ReactGrid/Views/_ViewImports.cshtml | 3 - .../react/ReactGrid/Views/_ViewStart.cshtml | 3 - samples/react/ReactGrid/appsettings.json | 1 - samples/react/ReactGrid/jsconfig.json | 6 - samples/react/ReactGrid/package.json | 39 - samples/react/ReactGrid/webpack.config.js | 28 - samples/react/ReactGrid/wwwroot/favicon.ico | Bin 32038 -> 0 bytes samples/react/ReactGrid/wwwroot/web.config | 9 - .../.gitignore | 1 - ...icrosoft.AspNetCore.AngularServices.csproj | 20 - .../PrimeCacheHelper.cs | 81 - .../.gitignore | 1 - .../Microsoft.AspNetCore.ReactServices.csproj | 20 - .../WebApplicationBasic/ClientApp/App.ts | 5 - .../ClientApp/css/site.css | 24 - .../Controllers/HomeController.cs | 35 - templates/WebApplicationBasic/Program.cs | 31 - templates/WebApplicationBasic/Startup.cs | 59 - .../Views/Home/About.cshtml | 7 - .../Views/Home/Contact.cshtml | 17 - .../Views/Home/Index.cshtml | 114 - .../Views/Shared/Error.cshtml | 6 - .../Views/Shared/_Layout.cshtml | 43 - .../Views/_ViewImports.cshtml | 2 - .../Views/_ViewStart.cshtml | 3 - .../WebApplicationBasic.csproj | 36 - .../WebApplicationBasic/appsettings.json | 10 - templates/WebApplicationBasic/global.json | 3 - templates/WebApplicationBasic/package.json | 18 - .../WebApplicationBasic/template_gitignore | 236 -- templates/WebApplicationBasic/tsconfig.json | 13 - templates/WebApplicationBasic/web.config | 14 - .../WebApplicationBasic/webpack.config.dev.js | 12 - .../WebApplicationBasic/webpack.config.js | 35 - .../webpack.config.prod.js | 8 - .../webpack.config.vendor.js | 36 - .../WebApplicationBasic/wwwroot/favicon.ico | Bin 32038 -> 0 bytes .../wwwroot/images/ASP-NET-Banners-01.png | Bin 8314 -> 0 bytes .../wwwroot/images/ASP-NET-Banners-02.png | Bin 8616 -> 0 bytes .../wwwroot/images/Banner-01-Azure.png | Bin 14436 -> 0 bytes .../wwwroot/images/Banner-02-VS.png | Bin 12388 -> 0 bytes 182 files changed, 1 insertion(+), 10688 deletions(-) delete mode 100644 samples/angular/MusicStore/.gitignore delete mode 100644 samples/angular/MusicStore/Apis/AlbumsApiController.cs delete mode 100644 samples/angular/MusicStore/Apis/ArtistsApiController.cs delete mode 100644 samples/angular/MusicStore/Apis/GenresApiController.cs delete mode 100644 samples/angular/MusicStore/Apis/Models/AccountViewModels.cs delete mode 100644 samples/angular/MusicStore/Apis/Models/Album.cs delete mode 100644 samples/angular/MusicStore/Apis/Models/Artist.cs delete mode 100644 samples/angular/MusicStore/Apis/Models/CartItem.cs delete mode 100644 samples/angular/MusicStore/Apis/Models/Genre.cs delete mode 100644 samples/angular/MusicStore/Apis/Models/MusicStoreContext.cs delete mode 100644 samples/angular/MusicStore/Apis/Models/Order.cs delete mode 100644 samples/angular/MusicStore/Apis/Models/OrderDetail.cs delete mode 100644 samples/angular/MusicStore/Apis/Models/SampleData.cs delete mode 100644 samples/angular/MusicStore/Apis/Models/SentimentAnalysis.cs delete mode 100644 samples/angular/MusicStore/Apis/Models/ShoppingCart.cs delete mode 100755 samples/angular/MusicStore/Controllers/HomeController.cs delete mode 100644 samples/angular/MusicStore/Infrastructure/NoCacheAttribute.cs delete mode 100644 samples/angular/MusicStore/Infrastructure/PagedList.cs delete mode 100644 samples/angular/MusicStore/Infrastructure/SortDirection.cs delete mode 100644 samples/angular/MusicStore/Infrastructure/SortExpression.cs delete mode 100644 samples/angular/MusicStore/MusicStore.csproj delete mode 100755 samples/angular/MusicStore/Startup.cs delete mode 100755 samples/angular/MusicStore/Views/Home/Index.cshtml delete mode 100755 samples/angular/MusicStore/Views/Shared/Error.cshtml delete mode 100755 samples/angular/MusicStore/Views/Shared/_Layout.cshtml delete mode 100755 samples/angular/MusicStore/Views/_ViewImports.cshtml delete mode 100755 samples/angular/MusicStore/Views/_ViewStart.cshtml delete mode 100755 samples/angular/MusicStore/gulpfile.js delete mode 100644 samples/angular/MusicStore/package.json delete mode 100644 samples/angular/MusicStore/tsconfig.json delete mode 100644 samples/angular/MusicStore/tsd.json delete mode 100644 samples/angular/MusicStore/typings/es6-shim/es6-shim.d.ts delete mode 100644 samples/angular/MusicStore/typings/tsd.d.ts delete mode 100644 samples/angular/MusicStore/typings/url-workaround.d.ts delete mode 100644 samples/angular/MusicStore/wwwroot/css/site.css delete mode 100644 samples/angular/MusicStore/wwwroot/css/styles.less delete mode 100644 samples/angular/MusicStore/wwwroot/images/home-showcase.png delete mode 100644 samples/angular/MusicStore/wwwroot/images/logo.png delete mode 100644 samples/angular/MusicStore/wwwroot/images/placeholder.png delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/boot-client.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/boot-server.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/admin-home/admin-home.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/admin-home/admin-home.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-delete-prompt/album-delete-prompt.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-delete-prompt/album-delete-prompt.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-details/album-details.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-details/album-details.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-edit/album-edit.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-edit/album-edit.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/albums-list/albums-list.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/albums-list/albums-list.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/form-field/form-field.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/admin/form-field/form-field.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/app/app.css delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/app/app.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/app/app.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/public/album-details/album-details.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/public/album-details/album-details.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/public/album-tile/album-tile.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/public/album-tile/album-tile.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/public/genre-contents/genre-contents.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/public/genre-contents/genre-contents.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/public/genres-list/genres-list.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/public/genres-list/genres-list.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/public/home/home.html delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/components/public/home/home.ts delete mode 100644 samples/angular/MusicStore/wwwroot/ng-app/models/models.ts delete mode 100644 samples/angular/MusicStore/wwwroot/system.config.js delete mode 100644 samples/angular/MusicStore/wwwroot/web.config delete mode 100644 samples/react/MusicStore/.babelrc delete mode 100644 samples/react/MusicStore/.gitignore delete mode 100644 samples/react/MusicStore/Apis/AlbumsApiController.cs delete mode 100644 samples/react/MusicStore/Apis/ArtistsApiController.cs delete mode 100644 samples/react/MusicStore/Apis/GenresApiController.cs delete mode 100644 samples/react/MusicStore/Apis/Models/AccountViewModels.cs delete mode 100644 samples/react/MusicStore/Apis/Models/Album.cs delete mode 100644 samples/react/MusicStore/Apis/Models/Artist.cs delete mode 100644 samples/react/MusicStore/Apis/Models/CartItem.cs delete mode 100644 samples/react/MusicStore/Apis/Models/Genre.cs delete mode 100644 samples/react/MusicStore/Apis/Models/MusicStoreContext.cs delete mode 100644 samples/react/MusicStore/Apis/Models/Order.cs delete mode 100644 samples/react/MusicStore/Apis/Models/OrderDetail.cs delete mode 100644 samples/react/MusicStore/Apis/Models/SampleData.cs delete mode 100644 samples/react/MusicStore/Apis/Models/ShoppingCart.cs delete mode 100755 samples/react/MusicStore/Controllers/HomeController.cs delete mode 100644 samples/react/MusicStore/Infrastructure/NoCacheAttribute.cs delete mode 100644 samples/react/MusicStore/Infrastructure/PagedList.cs delete mode 100644 samples/react/MusicStore/Infrastructure/SortDirection.cs delete mode 100644 samples/react/MusicStore/Infrastructure/SortExpression.cs delete mode 100644 samples/react/MusicStore/MusicStore.csproj delete mode 100644 samples/react/MusicStore/Properties/launchSettings.json delete mode 100644 samples/react/MusicStore/ReactApp/boot-server.tsx delete mode 100644 samples/react/MusicStore/ReactApp/boot.tsx delete mode 100644 samples/react/MusicStore/ReactApp/components/NavMenu.tsx delete mode 100644 samples/react/MusicStore/ReactApp/components/public/AlbumDetails.tsx delete mode 100644 samples/react/MusicStore/ReactApp/components/public/AlbumTile.tsx delete mode 100644 samples/react/MusicStore/ReactApp/components/public/GenreDetails.tsx delete mode 100644 samples/react/MusicStore/ReactApp/components/public/Genres.tsx delete mode 100644 samples/react/MusicStore/ReactApp/components/public/Home.tsx delete mode 100644 samples/react/MusicStore/ReactApp/configureStore.ts delete mode 100644 samples/react/MusicStore/ReactApp/routes.tsx delete mode 100644 samples/react/MusicStore/ReactApp/store/AlbumDetails.ts delete mode 100644 samples/react/MusicStore/ReactApp/store/FeaturedAlbums.ts delete mode 100644 samples/react/MusicStore/ReactApp/store/GenreDetails.ts delete mode 100644 samples/react/MusicStore/ReactApp/store/GenreList.ts delete mode 100644 samples/react/MusicStore/ReactApp/store/index.ts delete mode 100644 samples/react/MusicStore/ReactApp/styles/styles.css delete mode 100644 samples/react/MusicStore/SiteSettings.cs delete mode 100755 samples/react/MusicStore/Startup.cs delete mode 100755 samples/react/MusicStore/Views/Home/Index.cshtml delete mode 100755 samples/react/MusicStore/Views/Shared/Error.cshtml delete mode 100755 samples/react/MusicStore/Views/Shared/_Layout.cshtml delete mode 100755 samples/react/MusicStore/Views/_ViewImports.cshtml delete mode 100755 samples/react/MusicStore/Views/_ViewStart.cshtml delete mode 100644 samples/react/MusicStore/package.json delete mode 100644 samples/react/MusicStore/tsconfig.json delete mode 100644 samples/react/MusicStore/webpack.config.js delete mode 100755 samples/react/MusicStore/wwwroot/favicon.ico delete mode 100644 samples/react/MusicStore/wwwroot/images/home-showcase.png delete mode 100644 samples/react/MusicStore/wwwroot/images/logo.png delete mode 100644 samples/react/MusicStore/wwwroot/images/placeholder.png delete mode 100644 samples/react/MusicStore/wwwroot/web.config delete mode 100644 samples/react/ReactGrid/.babelrc delete mode 100644 samples/react/ReactGrid/.gitignore delete mode 100755 samples/react/ReactGrid/Controllers/HomeController.cs delete mode 100644 samples/react/ReactGrid/Controllers/PeopleApiController.cs delete mode 100644 samples/react/ReactGrid/README.txt delete mode 100644 samples/react/ReactGrid/ReactApp/boot-client.jsx delete mode 100644 samples/react/ReactGrid/ReactApp/boot-server.jsx delete mode 100644 samples/react/ReactGrid/ReactApp/components/CustomPager.jsx delete mode 100644 samples/react/ReactGrid/ReactApp/components/PeopleGrid.jsx delete mode 100644 samples/react/ReactGrid/ReactApp/components/PersonEditor.jsx delete mode 100644 samples/react/ReactGrid/ReactApp/components/ReactApp.jsx delete mode 100644 samples/react/ReactGrid/ReactApp/data/columnMeta.jsx delete mode 100644 samples/react/ReactGrid/ReactApp/data/fakeData.js delete mode 100644 samples/react/ReactGrid/ReactGrid.csproj delete mode 100755 samples/react/ReactGrid/Startup.cs delete mode 100755 samples/react/ReactGrid/Views/Home/Index.cshtml delete mode 100755 samples/react/ReactGrid/Views/Shared/Error.cshtml delete mode 100755 samples/react/ReactGrid/Views/Shared/_Layout.cshtml delete mode 100755 samples/react/ReactGrid/Views/_ViewImports.cshtml delete mode 100755 samples/react/ReactGrid/Views/_ViewStart.cshtml delete mode 100755 samples/react/ReactGrid/appsettings.json delete mode 100644 samples/react/ReactGrid/jsconfig.json delete mode 100644 samples/react/ReactGrid/package.json delete mode 100644 samples/react/ReactGrid/webpack.config.js delete mode 100755 samples/react/ReactGrid/wwwroot/favicon.ico delete mode 100644 samples/react/ReactGrid/wwwroot/web.config delete mode 100644 src/Microsoft.AspNetCore.AngularServices/.gitignore delete mode 100644 src/Microsoft.AspNetCore.AngularServices/Microsoft.AspNetCore.AngularServices.csproj delete mode 100644 src/Microsoft.AspNetCore.AngularServices/PrimeCacheHelper.cs delete mode 100644 src/Microsoft.AspNetCore.ReactServices/.gitignore delete mode 100644 src/Microsoft.AspNetCore.ReactServices/Microsoft.AspNetCore.ReactServices.csproj delete mode 100644 templates/WebApplicationBasic/ClientApp/App.ts delete mode 100755 templates/WebApplicationBasic/ClientApp/css/site.css delete mode 100755 templates/WebApplicationBasic/Controllers/HomeController.cs delete mode 100644 templates/WebApplicationBasic/Program.cs delete mode 100755 templates/WebApplicationBasic/Startup.cs delete mode 100755 templates/WebApplicationBasic/Views/Home/About.cshtml delete mode 100755 templates/WebApplicationBasic/Views/Home/Contact.cshtml delete mode 100755 templates/WebApplicationBasic/Views/Home/Index.cshtml delete mode 100755 templates/WebApplicationBasic/Views/Shared/Error.cshtml delete mode 100755 templates/WebApplicationBasic/Views/Shared/_Layout.cshtml delete mode 100755 templates/WebApplicationBasic/Views/_ViewImports.cshtml delete mode 100755 templates/WebApplicationBasic/Views/_ViewStart.cshtml delete mode 100644 templates/WebApplicationBasic/WebApplicationBasic.csproj delete mode 100755 templates/WebApplicationBasic/appsettings.json delete mode 100644 templates/WebApplicationBasic/global.json delete mode 100644 templates/WebApplicationBasic/package.json delete mode 100644 templates/WebApplicationBasic/template_gitignore delete mode 100644 templates/WebApplicationBasic/tsconfig.json delete mode 100644 templates/WebApplicationBasic/web.config delete mode 100644 templates/WebApplicationBasic/webpack.config.dev.js delete mode 100644 templates/WebApplicationBasic/webpack.config.js delete mode 100644 templates/WebApplicationBasic/webpack.config.prod.js delete mode 100644 templates/WebApplicationBasic/webpack.config.vendor.js delete mode 100755 templates/WebApplicationBasic/wwwroot/favicon.ico delete mode 100755 templates/WebApplicationBasic/wwwroot/images/ASP-NET-Banners-01.png delete mode 100755 templates/WebApplicationBasic/wwwroot/images/ASP-NET-Banners-02.png delete mode 100755 templates/WebApplicationBasic/wwwroot/images/Banner-01-Azure.png delete mode 100755 templates/WebApplicationBasic/wwwroot/images/Banner-02-VS.png diff --git a/JavaScriptServices.sln b/JavaScriptServices.sln index a560cb2..e401470 100644 --- a/JavaScriptServices.sln +++ b/JavaScriptServices.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26228.4 +VisualStudioVersion = 15.0.26430.4 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{27304DDE-AFB2-4F8B-B765-E3E2F11E886C}" EndProject @@ -11,10 +11,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.NodeSe EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SpaServices", "src\Microsoft.AspNetCore.SpaServices\Microsoft.AspNetCore.SpaServices.csproj", "{66B071A8-EFC8-4A06-BEF6-06B99AE27EEC}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.AngularServices", "src\Microsoft.AspNetCore.AngularServices\Microsoft.AspNetCore.AngularServices.csproj", "{58AAABB6-9D21-42F6-BC97-3DD282B55FD6}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.ReactServices", "src\Microsoft.AspNetCore.ReactServices\Microsoft.AspNetCore.ReactServices.csproj", "{F1081B9A-8D67-4A5E-80C6-615F9A975D4F}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "misc", "misc", "{99EAF1FE-22C8-4526-BE78-74B24125D37F}" ProjectSection(SolutionItems) = preProject .gitignore = .gitignore @@ -32,16 +28,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Webpack", "samples\misc\Web EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NodeServicesExamples", "samples\misc\NodeServicesExamples\NodeServicesExamples.csproj", "{93EFCC5F-C6EE-4623-894F-A42B22C0B6FE}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "angular", "angular", "{B54435EB-D5E8-4CEC-A02E-DDCB0C750E34}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MusicStore", "samples\angular\MusicStore\MusicStore.csproj", "{63FC66E7-559B-4426-93E1-2D951EFC8293}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "react", "react", "{BD77E73E-13BC-4550-99DA-51869BD8DFC4}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReactGrid", "samples\react\ReactGrid\ReactGrid.csproj", "{3B023106-88DB-4C3A-B01F-C1AECB02D80B}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MusicStore", "samples\react\MusicStore\MusicStore.csproj", "{6E898586-79CA-4AA8-946E-943B3682F376}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "templates", "templates", "{1598B415-73F1-4B37-B3B4-0A10677ABB2D}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KnockoutSpa", "templates\KnockoutSpa\KnockoutSpa.csproj", "{F60248B1-940E-43FB-BEA0-589362AA6320}" @@ -54,8 +40,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReactSpa", "templates\React EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReactReduxSpa", "templates\ReactReduxSpa\ReactReduxSpa.csproj", "{9D4D15A1-A25B-44EC-AB63-F1CE9986712E}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApplicationBasic", "templates\WebApplicationBasic\WebApplicationBasic.csproj", "{86911E07-C733-4C18-B49F-9A007A651246}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{E415FE14-13B0-469F-836D-95059E6BAA6E}" ProjectSection(SolutionItems) = preProject src\build\common.props = src\build\common.props @@ -82,14 +66,6 @@ Global {66B071A8-EFC8-4A06-BEF6-06B99AE27EEC}.Debug|Any CPU.Build.0 = Debug|Any CPU {66B071A8-EFC8-4A06-BEF6-06B99AE27EEC}.Release|Any CPU.ActiveCfg = Release|Any CPU {66B071A8-EFC8-4A06-BEF6-06B99AE27EEC}.Release|Any CPU.Build.0 = Release|Any CPU - {58AAABB6-9D21-42F6-BC97-3DD282B55FD6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {58AAABB6-9D21-42F6-BC97-3DD282B55FD6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {58AAABB6-9D21-42F6-BC97-3DD282B55FD6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {58AAABB6-9D21-42F6-BC97-3DD282B55FD6}.Release|Any CPU.Build.0 = Release|Any CPU - {F1081B9A-8D67-4A5E-80C6-615F9A975D4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1081B9A-8D67-4A5E-80C6-615F9A975D4F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1081B9A-8D67-4A5E-80C6-615F9A975D4F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1081B9A-8D67-4A5E-80C6-615F9A975D4F}.Release|Any CPU.Build.0 = Release|Any CPU {1931B19A-EC42-4D56-B2D0-FB06D17244DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1931B19A-EC42-4D56-B2D0-FB06D17244DA}.Debug|Any CPU.Build.0 = Debug|Any CPU {1931B19A-EC42-4D56-B2D0-FB06D17244DA}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -102,18 +78,6 @@ Global {93EFCC5F-C6EE-4623-894F-A42B22C0B6FE}.Debug|Any CPU.Build.0 = Debug|Any CPU {93EFCC5F-C6EE-4623-894F-A42B22C0B6FE}.Release|Any CPU.ActiveCfg = Release|Any CPU {93EFCC5F-C6EE-4623-894F-A42B22C0B6FE}.Release|Any CPU.Build.0 = Release|Any CPU - {63FC66E7-559B-4426-93E1-2D951EFC8293}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {63FC66E7-559B-4426-93E1-2D951EFC8293}.Debug|Any CPU.Build.0 = Debug|Any CPU - {63FC66E7-559B-4426-93E1-2D951EFC8293}.Release|Any CPU.ActiveCfg = Release|Any CPU - {63FC66E7-559B-4426-93E1-2D951EFC8293}.Release|Any CPU.Build.0 = Release|Any CPU - {3B023106-88DB-4C3A-B01F-C1AECB02D80B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B023106-88DB-4C3A-B01F-C1AECB02D80B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B023106-88DB-4C3A-B01F-C1AECB02D80B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3B023106-88DB-4C3A-B01F-C1AECB02D80B}.Release|Any CPU.Build.0 = Release|Any CPU - {6E898586-79CA-4AA8-946E-943B3682F376}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6E898586-79CA-4AA8-946E-943B3682F376}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6E898586-79CA-4AA8-946E-943B3682F376}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6E898586-79CA-4AA8-946E-943B3682F376}.Release|Any CPU.Build.0 = Release|Any CPU {F60248B1-940E-43FB-BEA0-589362AA6320}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F60248B1-940E-43FB-BEA0-589362AA6320}.Debug|Any CPU.Build.0 = Debug|Any CPU {F60248B1-940E-43FB-BEA0-589362AA6320}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -134,10 +98,6 @@ Global {9D4D15A1-A25B-44EC-AB63-F1CE9986712E}.Debug|Any CPU.Build.0 = Debug|Any CPU {9D4D15A1-A25B-44EC-AB63-F1CE9986712E}.Release|Any CPU.ActiveCfg = Release|Any CPU {9D4D15A1-A25B-44EC-AB63-F1CE9986712E}.Release|Any CPU.Build.0 = Release|Any CPU - {86911E07-C733-4C18-B49F-9A007A651246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {86911E07-C733-4C18-B49F-9A007A651246}.Debug|Any CPU.Build.0 = Debug|Any CPU - {86911E07-C733-4C18-B49F-9A007A651246}.Release|Any CPU.ActiveCfg = Release|Any CPU - {86911E07-C733-4C18-B49F-9A007A651246}.Release|Any CPU.Build.0 = Release|Any CPU {49D7665A-20EC-43FC-B8E8-EA0204F2D8C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {49D7665A-20EC-43FC-B8E8-EA0204F2D8C3}.Debug|Any CPU.Build.0 = Debug|Any CPU {49D7665A-20EC-43FC-B8E8-EA0204F2D8C3}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -150,24 +110,15 @@ Global {66B77203-1469-41DF-92F2-2BE6900BD36F} = {27304DDE-AFB2-4F8B-B765-E3E2F11E886C} {F46DEF99-6FAA-4406-B5D8-6FF34EF669E3} = {27304DDE-AFB2-4F8B-B765-E3E2F11E886C} {66B071A8-EFC8-4A06-BEF6-06B99AE27EEC} = {27304DDE-AFB2-4F8B-B765-E3E2F11E886C} - {58AAABB6-9D21-42F6-BC97-3DD282B55FD6} = {27304DDE-AFB2-4F8B-B765-E3E2F11E886C} - {F1081B9A-8D67-4A5E-80C6-615F9A975D4F} = {27304DDE-AFB2-4F8B-B765-E3E2F11E886C} {E6A161EA-646C-4033-9090-95BE809AB8D9} = {23836492-E7F4-4376-85BF-A635C304AC46} {1931B19A-EC42-4D56-B2D0-FB06D17244DA} = {E6A161EA-646C-4033-9090-95BE809AB8D9} {DE479DC3-1461-4EAD-A188-4AF7AA4AE344} = {E6A161EA-646C-4033-9090-95BE809AB8D9} {93EFCC5F-C6EE-4623-894F-A42B22C0B6FE} = {E6A161EA-646C-4033-9090-95BE809AB8D9} - {B54435EB-D5E8-4CEC-A02E-DDCB0C750E34} = {23836492-E7F4-4376-85BF-A635C304AC46} - {63FC66E7-559B-4426-93E1-2D951EFC8293} = {B54435EB-D5E8-4CEC-A02E-DDCB0C750E34} - {BD77E73E-13BC-4550-99DA-51869BD8DFC4} = {23836492-E7F4-4376-85BF-A635C304AC46} - {3B023106-88DB-4C3A-B01F-C1AECB02D80B} = {BD77E73E-13BC-4550-99DA-51869BD8DFC4} - {6E898586-79CA-4AA8-946E-943B3682F376} = {BD77E73E-13BC-4550-99DA-51869BD8DFC4} {F60248B1-940E-43FB-BEA0-589362AA6320} = {1598B415-73F1-4B37-B3B4-0A10677ABB2D} {4D4B84C9-13F7-40CA-B05A-DC98FD6019AC} = {1598B415-73F1-4B37-B3B4-0A10677ABB2D} {4D57B6E1-7141-48ED-959E-872BDD4A2F72} = {1598B415-73F1-4B37-B3B4-0A10677ABB2D} {868A630E-C61B-4807-B7A8-7EB53BE1C28A} = {1598B415-73F1-4B37-B3B4-0A10677ABB2D} {9D4D15A1-A25B-44EC-AB63-F1CE9986712E} = {1598B415-73F1-4B37-B3B4-0A10677ABB2D} - {86911E07-C733-4C18-B49F-9A007A651246} = {1598B415-73F1-4B37-B3B4-0A10677ABB2D} - {E415FE14-13B0-469F-836D-95059E6BAA6E} = {27304DDE-AFB2-4F8B-B765-E3E2F11E886C} {49D7665A-20EC-43FC-B8E8-EA0204F2D8C3} = {1598B415-73F1-4B37-B3B4-0A10677ABB2D} EndGlobalSection EndGlobal diff --git a/samples/angular/MusicStore/.gitignore b/samples/angular/MusicStore/.gitignore deleted file mode 100644 index a31c74a..0000000 --- a/samples/angular/MusicStore/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -/node_modules/ -/wwwroot/lib/ -/wwwroot/ng-app/**/*.js -/music-db.sqlite -/Properties/launchSettings.json - -# Obviously you don't really want your DB to go in wwwroot, but due to https://github.com/aspnet/Microsoft.Data.Sqlite/issues/188 -# it currently does when run from IIS Express. Will resolve this once RC2 is out, which is supposed to eliminate the inconsistency. -/wwwroot/music-db.sqlite diff --git a/samples/angular/MusicStore/Apis/AlbumsApiController.cs b/samples/angular/MusicStore/Apis/AlbumsApiController.cs deleted file mode 100644 index 3b98a1e..0000000 --- a/samples/angular/MusicStore/Apis/AlbumsApiController.cs +++ /dev/null @@ -1,216 +0,0 @@ -using System.ComponentModel.DataAnnotations; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using AutoMapper; -using MusicStore.Models; -using MusicStore.Infrastructure; - -namespace MusicStore.Apis -{ - [Route("api/albums")] - public class AlbumsApiController : Controller - { - private readonly MusicStoreContext _storeContext; - - public AlbumsApiController(MusicStoreContext storeContext) - { - _storeContext = storeContext; - } - - [HttpGet] - [NoCache] - public async Task Paged(int page = 1, int pageSize = 50, string sortBy = null) - { - await _storeContext.Genres.LoadAsync(); - await _storeContext.Artists.LoadAsync(); - - var albums = await _storeContext.Albums - .Include(a => a.Genre) - .Include(a => a.Artist) - .ToPagedListAsync(page, pageSize, sortBy, - a => a.Title, // sortExpression - SortDirection.Ascending, // defaultSortDirection - a => Mapper.Map(a, new AlbumResultDto())); // selector - - return Json(albums); - } - - [HttpGet("all")] - [NoCache] - public async Task All() - { - var albums = await _storeContext.Albums - .Include(a => a.Genre) - .Include(a => a.Artist) - .OrderBy(a => a.Title) - .ToListAsync(); - - return Json(albums.Select(a => Mapper.Map(a, new AlbumResultDto()))); - } - - [HttpGet("mostPopular")] - [NoCache] - public async Task MostPopular(int count = 6) - { - count = count > 0 && count < 20 ? count : 6; - var albums = await _storeContext.Albums - .OrderByDescending(a => a.OrderDetails.Count()) - .Take(count) - .ToListAsync(); - - // TODO: Move the .Select() to end of albums query when EF supports it - return Json(albums.Select(a => Mapper.Map(a, new AlbumResultDto()))); - } - - [HttpGet("{albumId:int}")] - [NoCache] - public async Task Details(int albumId) - { - await _storeContext.Genres.LoadAsync(); - await _storeContext.Artists.LoadAsync(); - - var album = await _storeContext.Albums - .Include(a => a.Artist) - .Include(a => a.Genre) - .Where(a => a.AlbumId == albumId) - .SingleOrDefaultAsync(); - - var albumResult = Mapper.Map(album, new AlbumResultDto()); - - // TODO: Add null checking and return 404 in that case - - return Json(albumResult); - } - - [HttpPost] - [Authorize("app-ManageStore")] - public async Task CreateAlbum([FromBody]AlbumChangeDto album) - { - if (!ModelState.IsValid) - { - // Return the model errors - return BadRequest(ModelState); - } - - // Save the changes to the DB - var dbAlbum = new Album(); - _storeContext.Albums.Add(Mapper.Map(album, dbAlbum)); - await _storeContext.SaveChangesAsync(); - - // TODO: Handle missing record, key violations, concurrency issues, etc. - - return new ObjectResult(new { - Data = dbAlbum.AlbumId, - Message = "Album created successfully." - }); - } - - [HttpPut("{albumId:int}/update")] - public async Task UpdateAlbum(int albumId, [FromBody] AlbumChangeDto album) - { - if (!ModelState.IsValid) - { - // Return the model errors - return BadRequest(ModelState); - } - - var dbAlbum = await _storeContext.Albums.SingleOrDefaultAsync(a => a.AlbumId == albumId); - - if (dbAlbum == null) - { - return new ObjectResult(new { - Message = string.Format("The album with ID {0} was not found.", albumId) - }) { StatusCode = 404 }; - } - - // Save the changes to the DB - Mapper.Map(album, dbAlbum); - await _storeContext.SaveChangesAsync(); - - // TODO: Handle missing record, key violations, concurrency issues, etc. - - return new ObjectResult (new { - Message = "Album updated successfully." - }); - } - - [HttpDelete("{albumId:int}")] - [Authorize("app-ManageStore")] - public async Task DeleteAlbum(int albumId) - { - var album = await _storeContext.Albums.SingleOrDefaultAsync(a => a.AlbumId == albumId); - - if (album != null) - { - _storeContext.Albums.Remove(album); - - // Save the changes to the DB - await _storeContext.SaveChangesAsync(); - - // TODO: Handle missing record, key violations, concurrency issues, etc. - } - - return new ObjectResult (new { - Message = "Album deleted successfully." - }); - } - } - - [ModelMetadataType(typeof(Album))] - public class AlbumChangeDto : IValidatableObject - { - public int GenreId { get; set; } - - public int ArtistId { get; set; } - - public string Title { get; set; } - - public decimal Price { get; set; } - - public string AlbumArtUrl { get; set; } - - public IEnumerable Validate(ValidationContext validationContext) - { - // An example of object-level (i.e., multi-property) validation - if (this.GenreId == 13 /* Indie */) { - switch (SentimentAnalysis.GetSentiment(Title)) { - case SentimentAnalysis.SentimentResult.Positive: - yield return new ValidationResult("Sounds too positive. Indie music requires more ambiguity."); - break; - case SentimentAnalysis.SentimentResult.Negative: - yield return new ValidationResult("Sounds too negative. Indie music requires more ambiguity."); - break; - } - } - } - } - - public class AlbumResultDto : AlbumChangeDto - { - public AlbumResultDto() - { - Artist = new ArtistResultDto(); - Genre = new GenreResultDto(); - } - - public int AlbumId { get; set; } - - public ArtistResultDto Artist { get; private set; } - - public GenreResultDto Genre { get; private set; } - } - - public class ArtistResultDto - { - public string Name { get; set; } - } - - public class GenreResultDto - { - public string Name { get; set; } - } -} diff --git a/samples/angular/MusicStore/Apis/ArtistsApiController.cs b/samples/angular/MusicStore/Apis/ArtistsApiController.cs deleted file mode 100644 index f3568ae..0000000 --- a/samples/angular/MusicStore/Apis/ArtistsApiController.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using MusicStore.Models; - -namespace MusicStore.Apis -{ - [Route("api/artists")] - public class ArtistsApiController : Controller - { - private readonly MusicStoreContext _storeContext; - - public ArtistsApiController(MusicStoreContext storeContext) - { - _storeContext = storeContext; - } - - [HttpGet("lookup")] - public async Task Lookup() - { - var artists = await _storeContext.Artists - .OrderBy(a => a.Name) - .ToListAsync(); - - return Json(artists); - } - } -} diff --git a/samples/angular/MusicStore/Apis/GenresApiController.cs b/samples/angular/MusicStore/Apis/GenresApiController.cs deleted file mode 100644 index 338ca2f..0000000 --- a/samples/angular/MusicStore/Apis/GenresApiController.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using MusicStore.Models; -using MusicStore.Infrastructure; - -namespace MusicStore.Apis -{ - [Route("api/genres")] - public class GenresApiController : Controller - { - private readonly MusicStoreContext _storeContext; - - public GenresApiController(MusicStoreContext storeContext) - { - _storeContext = storeContext; - } - - [HttpGet] - public async Task GenreList() - { - var genres = await _storeContext.Genres - //.Include(g => g.Albums) - .OrderBy(g => g.Name) - .ToListAsync(); - - return Json(genres); - } - - [HttpGet("genre-lookup")] - public async Task Lookup() - { - var genres = await _storeContext.Genres - .Select(g => new { g.GenreId, g.Name }) - .ToListAsync(); - - return Json(genres); - } - - [HttpGet("menu")] - public async Task GenreMenuList(int count = 9) - { - count = count > 0 && count < 20 ? count : 9; - - var genres = await _storeContext.Genres - .OrderByDescending(g => - g.Albums.Sum(a => - a.OrderDetails.Sum(od => od.Quantity))) - .Take(count) - .ToListAsync(); - - return Json(genres); - } - - [HttpGet("{genreId:int}/albums")] - [NoCache] - public async Task GenreAlbums(int genreId) - { - var albums = await _storeContext.Albums - .Where(a => a.GenreId == genreId) - //.Include(a => a.Genre) - //.Include(a => a.Artist) - //.OrderBy(a => a.Genre.Name) - .ToListAsync(); - - return Json(albums); - } - } -} diff --git a/samples/angular/MusicStore/Apis/Models/AccountViewModels.cs b/samples/angular/MusicStore/Apis/Models/AccountViewModels.cs deleted file mode 100644 index 831978a..0000000 --- a/samples/angular/MusicStore/Apis/Models/AccountViewModels.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System.ComponentModel.DataAnnotations; - -namespace MusicStore.Models -{ - public class ExternalLoginConfirmationViewModel - { - [Required] - [Display(Name = "User name")] - public string UserName { get; set; } - } - - public class ManageUserViewModel - { - [Required] - [DataType(DataType.Password)] - [Display(Name = "Current password")] - public string OldPassword { get; set; } - - [Required] - [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] - [DataType(DataType.Password)] - [Display(Name = "New password")] - public string NewPassword { get; set; } - - [DataType(DataType.Password)] - [Display(Name = "Confirm new password")] - [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] - public string ConfirmPassword { get; set; } - } - - public class LoginViewModel - { - [Required] - [Display(Name = "User name")] - public string UserName { get; set; } - - [Required] - [DataType(DataType.Password)] - [Display(Name = "Password")] - public string Password { get; set; } - - [Display(Name = "Remember me?")] - public bool RememberMe { get; set; } - } - - public class RegisterViewModel - { - [Required] - [Display(Name = "User name")] - public string UserName { get; set; } - - [Required] - [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] - [DataType(DataType.Password)] - [Display(Name = "Password")] - public string Password { get; set; } - - [DataType(DataType.Password)] - [Display(Name = "Confirm password")] - [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] - public string ConfirmPassword { get; set; } - } -} diff --git a/samples/angular/MusicStore/Apis/Models/Album.cs b/samples/angular/MusicStore/Apis/Models/Album.cs deleted file mode 100644 index b4495f3..0000000 --- a/samples/angular/MusicStore/Apis/Models/Album.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; - -namespace MusicStore.Models -{ - public class Album - { - public Album() - { - // TODO: Temporary hack to populate the orderdetails until EF does this automatically. - OrderDetails = new List(); - } - - [ScaffoldColumn(false)] - public int AlbumId { get; set; } - - public int GenreId { get; set; } - - public int ArtistId { get; set; } - - [Required] - [StringLength(160, MinimumLength = 2)] - public string Title { get; set; } - - [Required] - [RangeAttribute(typeof(decimal), "0.01", "100")] // Long-form constructor to work around https://github.com/dotnet/coreclr/issues/2172 - [DataType(DataType.Currency)] - public decimal Price { get; set; } - - [Display(Name = "Album Art URL")] - [StringLength(1024)] - public string AlbumArtUrl { get; set; } - - public virtual Genre Genre { get; set; } - - public virtual Artist Artist { get; set; } - - public virtual ICollection OrderDetails { get; set; } - } -} diff --git a/samples/angular/MusicStore/Apis/Models/Artist.cs b/samples/angular/MusicStore/Apis/Models/Artist.cs deleted file mode 100644 index b364a89..0000000 --- a/samples/angular/MusicStore/Apis/Models/Artist.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.ComponentModel.DataAnnotations; - -namespace MusicStore.Models -{ - public class Artist - { - public int ArtistId { get; set; } - - [Required] - public string Name { get; set; } - } -} diff --git a/samples/angular/MusicStore/Apis/Models/CartItem.cs b/samples/angular/MusicStore/Apis/Models/CartItem.cs deleted file mode 100644 index 7209462..0000000 --- a/samples/angular/MusicStore/Apis/Models/CartItem.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; - -namespace MusicStore.Models -{ - public class CartItem - { - [Key] - public int CartItemId { get; set; } - - [Required] - public string CartId { get; set; } - public int AlbumId { get; set; } - public int Count { get; set; } - - [DataType(DataType.DateTime)] - public DateTime DateCreated { get; set; } - - public virtual Album Album { get; set; } - } -} diff --git a/samples/angular/MusicStore/Apis/Models/Genre.cs b/samples/angular/MusicStore/Apis/Models/Genre.cs deleted file mode 100644 index eed5616..0000000 --- a/samples/angular/MusicStore/Apis/Models/Genre.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using Newtonsoft.Json; - -namespace MusicStore.Models -{ - public class Genre - { - public Genre() - { - Albums = new List(); - } - - public int GenreId { get; set; } - - [Required] - public string Name { get; set; } - - public string Description { get; set; } - - [JsonIgnore] - public virtual ICollection Albums { get; set; } - } -} diff --git a/samples/angular/MusicStore/Apis/Models/MusicStoreContext.cs b/samples/angular/MusicStore/Apis/Models/MusicStoreContext.cs deleted file mode 100644 index aee7aed..0000000 --- a/samples/angular/MusicStore/Apis/Models/MusicStoreContext.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Microsoft.AspNetCore.Identity.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore; - -namespace MusicStore.Models -{ - public class ApplicationUser : IdentityUser { } - - public class MusicStoreContext : IdentityDbContext - { - public MusicStoreContext(DbContextOptions options) : base(options) - { - } - - public DbSet Albums { get; set; } - public DbSet Artists { get; set; } - public DbSet Orders { get; set; } - public DbSet Genres { get; set; } - public DbSet CartItems { get; set; } - public DbSet OrderDetails { get; set; } - - protected override void OnModelCreating(ModelBuilder builder) - { - // Configure pluralization - builder.Entity().ToTable("Albums"); - builder.Entity().ToTable("Artists"); - builder.Entity().ToTable("Orders"); - builder.Entity().ToTable("Genres"); - builder.Entity().ToTable("CartItems"); - builder.Entity().ToTable("OrderDetails"); - - base.OnModelCreating(builder); - } - } -} diff --git a/samples/angular/MusicStore/Apis/Models/Order.cs b/samples/angular/MusicStore/Apis/Models/Order.cs deleted file mode 100644 index 110a77d..0000000 --- a/samples/angular/MusicStore/Apis/Models/Order.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; - -namespace MusicStore.Models -{ - //[Bind(Include = "FirstName,LastName,Address,City,State,PostalCode,Country,Phone,Email")] - public class Order - { - public Order() - { - OrderDetails = new List(); - } - - [ScaffoldColumn(false)] - public int OrderId { get; set; } - - [ScaffoldColumn(false)] - public DateTime OrderDate { get; set; } - - [Required] - [ScaffoldColumn(false)] - public string Username { get; set; } - - [Required] - [Display(Name = "First Name")] - [StringLength(160)] - public string FirstName { get; set; } - - [Required] - [Display(Name = "Last Name")] - [StringLength(160)] - public string LastName { get; set; } - - [Required] - [StringLength(70, MinimumLength = 3)] - public string Address { get; set; } - - [Required] - [StringLength(40)] - public string City { get; set; } - - [Required] - [StringLength(40)] - public string State { get; set; } - - [Required] - [Display(Name = "Postal Code")] - [StringLength(10, MinimumLength = 5)] - public string PostalCode { get; set; } - - [Required] - [StringLength(40)] - public string Country { get; set; } - - [Required] - [StringLength(24)] - [DataType(DataType.PhoneNumber)] - public string Phone { get; set; } - - [Required] - [Display(Name = "Email Address")] - [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", - ErrorMessage = "Email is not valid.")] - [DataType(DataType.EmailAddress)] - public string Email { get; set; } - - [ScaffoldColumn(false)] - public decimal Total { get; set; } - - public ICollection OrderDetails { get; set; } - } -} diff --git a/samples/angular/MusicStore/Apis/Models/OrderDetail.cs b/samples/angular/MusicStore/Apis/Models/OrderDetail.cs deleted file mode 100644 index cb1e693..0000000 --- a/samples/angular/MusicStore/Apis/Models/OrderDetail.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace MusicStore.Models -{ - public class OrderDetail - { - public int OrderDetailId { get; set; } - public int OrderId { get; set; } - public int AlbumId { get; set; } - public int Quantity { get; set; } - public decimal UnitPrice { get; set; } - - public virtual Album Album { get; set; } - public virtual Order Order { get; set; } - } -} diff --git a/samples/angular/MusicStore/Apis/Models/SampleData.cs b/samples/angular/MusicStore/Apis/Models/SampleData.cs deleted file mode 100644 index b1d98a7..0000000 --- a/samples/angular/MusicStore/Apis/Models/SampleData.cs +++ /dev/null @@ -1,915 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Security.Claims; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Identity; -using Microsoft.AspNetCore.Identity.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Options; - -namespace MusicStore.Models -{ - public static class SampleData - { - const string imgUrl = "/images/placeholder.png"; - - public static async Task InitializeMusicStoreDatabaseAsync(IServiceProvider serviceProvider) - { - using (var db = serviceProvider.GetService()) - { - if (await db.Database.EnsureCreatedAsync()) - { - await InsertTestData(serviceProvider); - } - } - } - - private static async Task InsertTestData(IServiceProvider serviceProvider) - { - var albums = GetAlbums(imgUrl, Genres, Artists); - await AddOrUpdateAsync(serviceProvider, g => g.GenreId, Genres.Select(genre => genre.Value)); - await AddOrUpdateAsync(serviceProvider, a => a.ArtistId, Artists.Select(artist => artist.Value)); - await AddOrUpdateAsync(serviceProvider, a => a.AlbumId, albums); - } - - // TODO [EF] This may be replaced by a first class mechanism in EF - private static async Task AddOrUpdateAsync( - IServiceProvider serviceProvider, - Func propertyToMatch, IEnumerable entities) - where TEntity : class - { - // Query in a separate context so that we can attach existing entities as modified - List existingData; - - using (var scope = serviceProvider.GetRequiredService().CreateScope()) - using (var db = scope.ServiceProvider.GetService()) - { - existingData = db.Set().ToList(); - } - - using (var scope = serviceProvider.GetRequiredService().CreateScope()) - using (var db = scope.ServiceProvider.GetService()) - { - foreach (var item in entities) - { - db.Entry(item).State = existingData.Any(g => propertyToMatch(g).Equals(propertyToMatch(item))) - ? EntityState.Modified - : EntityState.Added; - } - - await db.SaveChangesAsync(); - } - } - - private static Album[] GetAlbums(string imgUrl, Dictionary genres, Dictionary artists) - { - var albums = new Album[] - { - new Album { Title = "The Best Of The Men At Work", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Men At Work"], AlbumArtUrl = imgUrl }, - new Album { Title = "...And Justice For All", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "עד גבול האור", Genre = genres["World"], Price = 8.99M, Artist = artists["אריק אינשטיין"], AlbumArtUrl = imgUrl }, - new Album { Title = "Black Light Syndrome", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Terry Bozzio, Tony Levin & Steve Stevens"], AlbumArtUrl = imgUrl }, - new Album { Title = "10,000 Days", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Tool"], AlbumArtUrl = imgUrl }, - new Album { Title = "11i", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Supreme Beings of Leisure"], AlbumArtUrl = imgUrl }, - new Album { Title = "1960", Genre = genres["Indie"], Price = 8.99M, Artist = artists["Soul-Junk"], AlbumArtUrl = imgUrl }, - new Album { Title = "4x4=12 ", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["deadmau5"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Copland Celebration, Vol. I", Genre = genres["Classical"], Price = 8.99M, Artist = artists["London Symphony Orchestra"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Lively Mind", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Paul Oakenfold"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Matter of Life and Death", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Real Dead One", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Real Live One", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Rush of Blood to the Head", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Coldplay"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Soprano Inspired", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Britten Sinfonia, Ivor Bolton & Lesley Garrett"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Winter Symphony", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Abbey Road", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Beatles"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ace Of Spades", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Motörhead"], AlbumArtUrl = imgUrl }, - new Album { Title = "Achtung Baby", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Acústico MTV", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Os Paralamas Do Sucesso"], AlbumArtUrl = imgUrl }, - new Album { Title = "Adams, John: The Chairman Dances", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Edo de Waart & San Francisco Symphony"], AlbumArtUrl = imgUrl }, - new Album { Title = "Adrenaline", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deftones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ænima", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Tool"], AlbumArtUrl = imgUrl }, - new Album { Title = "Afrociberdelia", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Chico Science & Nação Zumbi"], AlbumArtUrl = imgUrl }, - new Album { Title = "After the Goldrush", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Neil Young"], AlbumArtUrl = imgUrl }, - new Album { Title = "Airdrawn Dagger", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Sasha"], AlbumArtUrl = imgUrl }, - new Album { Title = "Album Title Goes Here", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["deadmau5"], AlbumArtUrl = imgUrl }, - new Album { Title = "Alcohol Fueled Brewtality Live! [Disc 1]", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Black Label Society"], AlbumArtUrl = imgUrl }, - new Album { Title = "Alcohol Fueled Brewtality Live! [Disc 2]", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Black Label Society"], AlbumArtUrl = imgUrl }, - new Album { Title = "Alive 2007", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Daft Punk"], AlbumArtUrl = imgUrl }, - new Album { Title = "All I Ask of You", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Amen (So Be It)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Paddy Casey"], AlbumArtUrl = imgUrl }, - new Album { Title = "Animal Vehicle", Genre = genres["Pop"], Price = 8.99M, Artist = artists["The Axis of Awesome"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ao Vivo [IMPORT]", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Zeca Pagodinho"], AlbumArtUrl = imgUrl }, - new Album { Title = "Apocalyptic Love", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Slash"], AlbumArtUrl = imgUrl }, - new Album { Title = "Appetite for Destruction", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Guns N' Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "Are You Experienced?", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Jimi Hendrix"], AlbumArtUrl = imgUrl }, - new Album { Title = "Arquivo II", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Os Paralamas Do Sucesso"], AlbumArtUrl = imgUrl }, - new Album { Title = "Arquivo Os Paralamas Do Sucesso", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Os Paralamas Do Sucesso"], AlbumArtUrl = imgUrl }, - new Album { Title = "A-Sides", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Soundgarden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Audioslave", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Audioslave"], AlbumArtUrl = imgUrl }, - new Album { Title = "Automatic for the People", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["R.E.M."], AlbumArtUrl = imgUrl }, - new Album { Title = "Axé Bahia 2001", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Various Artists"], AlbumArtUrl = imgUrl }, - new Album { Title = "Babel", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Mumford & Sons"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bach: Goldberg Variations", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Wilhelm Kempff"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bach: The Brandenburg Concertos", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Orchestra of The Age of Enlightenment"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bach: The Cello Suites", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Yo-Yo Ma"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bach: Toccata & Fugue in D Minor", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Ton Koopman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bad Motorfinger", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Soundgarden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Balls to the Wall", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Accept"], AlbumArtUrl = imgUrl }, - new Album { Title = "Banadeek Ta'ala", Genre = genres["World"], Price = 8.99M, Artist = artists["Amr Diab"], AlbumArtUrl = imgUrl }, - new Album { Title = "Barbie Girl", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Aqua"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bark at the Moon (Remastered)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bartok: Violin & Viola Concertos", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Yehudi Menuhin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Barulhinho Bom", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Marisa Monte"], AlbumArtUrl = imgUrl }, - new Album { Title = "BBC Sessions [Disc 1] [Live]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "BBC Sessions [Disc 2] [Live]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Be Here Now", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Oasis"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bedrock 11 Compiled & Mixed", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["John Digweed"], AlbumArtUrl = imgUrl }, - new Album { Title = "Berlioz: Symphonie Fantastique", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Michael Tilson Thomas"], AlbumArtUrl = imgUrl }, - new Album { Title = "Beyond Good And Evil", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Cult"], AlbumArtUrl = imgUrl }, - new Album { Title = "Big Bad Wolf ", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Armand Van Helden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Big Ones", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Aerosmith"], AlbumArtUrl = imgUrl }, - new Album { Title = "Black Album", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Black Sabbath Vol. 4 (Remaster)", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Black Sabbath"], AlbumArtUrl = imgUrl }, - new Album { Title = "Black Sabbath", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Black Sabbath"], AlbumArtUrl = imgUrl }, - new Album { Title = "Black", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Blackwater Park", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Opeth"], AlbumArtUrl = imgUrl }, - new Album { Title = "Blizzard of Ozz", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Blood", Genre = genres["Rock"], Price = 8.99M, Artist = artists["In This Moment"], AlbumArtUrl = imgUrl }, - new Album { Title = "Blue Moods", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Incognito"], AlbumArtUrl = imgUrl }, - new Album { Title = "Blue", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Weezer"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bongo Fury", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Frank Zappa & Captain Beefheart"], AlbumArtUrl = imgUrl }, - new Album { Title = "Boys & Girls", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Alabama Shakes"], AlbumArtUrl = imgUrl }, - new Album { Title = "Brave New World", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "B-Sides 1980-1990", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bunkka", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Paul Oakenfold"], AlbumArtUrl = imgUrl }, - new Album { Title = "By The Way", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Red Hot Chili Peppers"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cake: B-Sides and Rarities", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Cake"], AlbumArtUrl = imgUrl }, - new Album { Title = "Californication", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Red Hot Chili Peppers"], AlbumArtUrl = imgUrl }, - new Album { Title = "Carmina Burana", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Boston Symphony Orchestra & Seiji Ozawa"], AlbumArtUrl = imgUrl }, - new Album { Title = "Carried to Dust (Bonus Track Version)", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Calexico"], AlbumArtUrl = imgUrl }, - new Album { Title = "Carry On", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Chris Cornell"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cássia Eller - Sem Limite [Disc 1]", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Cássia Eller"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chemical Wedding", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Bruce Dickinson"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chill: Brazil (Disc 1)", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Marcos Valle"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chill: Brazil (Disc 2)", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Antônio Carlos Jobim"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chocolate Starfish And The Hot Dog Flavored Water", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Limp Bizkit"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chronicle, Vol. 1", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Creedence Clearwater Revival"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chronicle, Vol. 2", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Creedence Clearwater Revival"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ciao, Baby", Genre = genres["Rock"], Price = 8.99M, Artist = artists["TheStart"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cidade Negra - Hits", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Cidade Negra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Classic Munkle: Turbo Edition", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Munkle"], AlbumArtUrl = imgUrl }, - new Album { Title = "Classics: The Best of Sarah Brightman", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Coda", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Come Away With Me", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Norah Jones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Come Taste The Band", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Comfort Eagle", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Cake"], AlbumArtUrl = imgUrl }, - new Album { Title = "Common Reaction", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Uh Huh Her "], AlbumArtUrl = imgUrl }, - new Album { Title = "Compositores", Genre = genres["Rock"], Price = 8.99M, Artist = artists["O Terço"], AlbumArtUrl = imgUrl }, - new Album { Title = "Contraband", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Velvet Revolver"], AlbumArtUrl = imgUrl }, - new Album { Title = "Core", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Stone Temple Pilots"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cornerstone", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Styx"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cosmicolor", Genre = genres["Rap"], Price = 8.99M, Artist = artists["M-Flo"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cross", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Justice"], AlbumArtUrl = imgUrl }, - new Album { Title = "Culture of Fear", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Thievery Corporation"], AlbumArtUrl = imgUrl }, - new Album { Title = "Da Lama Ao Caos", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Chico Science & Nação Zumbi"], AlbumArtUrl = imgUrl }, - new Album { Title = "Dakshina", Genre = genres["World"], Price = 8.99M, Artist = artists["Deva Premal"], AlbumArtUrl = imgUrl }, - new Album { Title = "Dark Side of the Moon", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pink Floyd"], AlbumArtUrl = imgUrl }, - new Album { Title = "Death Magnetic", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Deep End of Down", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Above the Fold"], AlbumArtUrl = imgUrl }, - new Album { Title = "Deep Purple In Rock", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Deixa Entrar", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Falamansa"], AlbumArtUrl = imgUrl }, - new Album { Title = "Deja Vu", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Crosby, Stills, Nash, and Young"], AlbumArtUrl = imgUrl }, - new Album { Title = "Di Korpu Ku Alma", Genre = genres["World"], Price = 8.99M, Artist = artists["Lura"], AlbumArtUrl = imgUrl }, - new Album { Title = "Diary of a Madman (Remastered)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Diary of a Madman", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Dirt", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Alice in Chains"], AlbumArtUrl = imgUrl }, - new Album { Title = "Diver Down", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Van Halen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Djavan Ao Vivo - Vol. 02", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Djavan"], AlbumArtUrl = imgUrl }, - new Album { Title = "Djavan Ao Vivo - Vol. 1", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Djavan"], AlbumArtUrl = imgUrl }, - new Album { Title = "Drum'n'bass for Papa", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Plug"], AlbumArtUrl = imgUrl }, - new Album { Title = "Duluth", Genre = genres["Country"], Price = 8.99M, Artist = artists["Trampled By Turtles"], AlbumArtUrl = imgUrl }, - new Album { Title = "Dummy", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Portishead"], AlbumArtUrl = imgUrl }, - new Album { Title = "Duos II", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Luciana Souza/Romero Lubambo"], AlbumArtUrl = imgUrl }, - new Album { Title = "Earl Scruggs and Friends", Genre = genres["Country"], Price = 8.99M, Artist = artists["Earl Scruggs"], AlbumArtUrl = imgUrl }, - new Album { Title = "Eden", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "El Camino", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Black Keys"], AlbumArtUrl = imgUrl }, - new Album { Title = "Elegant Gypsy", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Al di Meola"], AlbumArtUrl = imgUrl }, - new Album { Title = "Elements Of Life", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Tiësto"], AlbumArtUrl = imgUrl }, - new Album { Title = "Elis Regina-Minha História", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Elis Regina"], AlbumArtUrl = imgUrl }, - new Album { Title = "Emergency On Planet Earth", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Jamiroquai"], AlbumArtUrl = imgUrl }, - new Album { Title = "Emotion", Genre = genres["World"], Price = 8.99M, Artist = artists["Papa Wemba"], AlbumArtUrl = imgUrl }, - new Album { Title = "English Renaissance", Genre = genres["Classical"], Price = 8.99M, Artist = artists["The King's Singers"], AlbumArtUrl = imgUrl }, - new Album { Title = "Every Kind of Light", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Posies"], AlbumArtUrl = imgUrl }, - new Album { Title = "Faceless", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Godsmack"], AlbumArtUrl = imgUrl }, - new Album { Title = "Facelift", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Alice in Chains"], AlbumArtUrl = imgUrl }, - new Album { Title = "Fair Warning", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Van Halen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Fear of a Black Planet", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Public Enemy"], AlbumArtUrl = imgUrl }, - new Album { Title = "Fear Of The Dark", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Feels Like Home", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Norah Jones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Fireball", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Fly", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "For Those About To Rock We Salute You", Genre = genres["Rock"], Price = 8.99M, Artist = artists["AC/DC"], AlbumArtUrl = imgUrl }, - new Album { Title = "Four", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Blues Traveler"], AlbumArtUrl = imgUrl }, - new Album { Title = "Frank", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Amy Winehouse"], AlbumArtUrl = imgUrl }, - new Album { Title = "Further Down the Spiral", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Nine Inch Nails"], AlbumArtUrl = imgUrl }, - new Album { Title = "Garage Inc. (Disc 1)", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Garage Inc. (Disc 2)", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Garbage", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Garbage"], AlbumArtUrl = imgUrl }, - new Album { Title = "Good News For People Who Love Bad News", Genre = genres["Indie"], Price = 8.99M, Artist = artists["Modest Mouse"], AlbumArtUrl = imgUrl }, - new Album { Title = "Gordon", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Barenaked Ladies"], AlbumArtUrl = imgUrl }, - new Album { Title = "Górecki: Symphony No. 3", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Adrian Leaper & Doreen de Feis"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Hits I", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Queen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Hits II", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Queen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Hits", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Duck Sauce"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Hits", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Lenny Kravitz"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Hits", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Lenny Kravitz"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Kiss", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Kiss"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greetings from Michigan", Genre = genres["Indie"], Price = 8.99M, Artist = artists["Sufjan Stevens"], AlbumArtUrl = imgUrl }, - new Album { Title = "Group Therapy", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Above & Beyond"], AlbumArtUrl = imgUrl }, - new Album { Title = "Handel: The Messiah (Highlights)", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Scholars Baroque Ensemble"], AlbumArtUrl = imgUrl }, - new Album { Title = "Haydn: Symphonies 99 - 104", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Royal Philharmonic Orchestra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Heart of the Night", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Spyro Gyra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Heart On", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Eagles of Death Metal"], AlbumArtUrl = imgUrl }, - new Album { Title = "Holy Diver", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Dio"], AlbumArtUrl = imgUrl }, - new Album { Title = "Homework", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Daft Punk"], AlbumArtUrl = imgUrl }, - new Album { Title = "Hot Rocks, 1964-1971 (Disc 1)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Rolling Stones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Houses Of The Holy", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "How To Dismantle An Atomic Bomb", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Human", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Projected"], AlbumArtUrl = imgUrl }, - new Album { Title = "Hunky Dory", Genre = genres["Rock"], Price = 8.99M, Artist = artists["David Bowie"], AlbumArtUrl = imgUrl }, - new Album { Title = "Hymns", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Projected"], AlbumArtUrl = imgUrl }, - new Album { Title = "Hysteria", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Def Leppard"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Absentia", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Porcupine Tree"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Between", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Paul Van Dyk"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Rainbows", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Radiohead"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Step", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Stevie Ray Vaughan & Double Trouble"], AlbumArtUrl = imgUrl }, - new Album { Title = "In the court of the Crimson King", Genre = genres["Rock"], Price = 8.99M, Artist = artists["King Crimson"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Through The Out Door", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Your Honor [Disc 1]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Foo Fighters"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Your Honor [Disc 2]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Foo Fighters"], AlbumArtUrl = imgUrl }, - new Album { Title = "Indestructible", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Rancid"], AlbumArtUrl = imgUrl }, - new Album { Title = "Infinity", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Journey"], AlbumArtUrl = imgUrl }, - new Album { Title = "Into The Light", Genre = genres["Rock"], Price = 8.99M, Artist = artists["David Coverdale"], AlbumArtUrl = imgUrl }, - new Album { Title = "Introspective", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Pet Shop Boys"], AlbumArtUrl = imgUrl }, - new Album { Title = "Iron Maiden", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "ISAM", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Amon Tobin"], AlbumArtUrl = imgUrl }, - new Album { Title = "IV", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Jagged Little Pill", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Alanis Morissette"], AlbumArtUrl = imgUrl }, - new Album { Title = "Jagged Little Pill", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Alanis Morissette"], AlbumArtUrl = imgUrl }, - new Album { Title = "Jorge Ben Jor 25 Anos", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Jorge Ben"], AlbumArtUrl = imgUrl }, - new Album { Title = "Jota Quest-1995", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Jota Quest"], AlbumArtUrl = imgUrl }, - new Album { Title = "Kick", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["INXS"], AlbumArtUrl = imgUrl }, - new Album { Title = "Kill 'Em All", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Kind of Blue", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Miles Davis"], AlbumArtUrl = imgUrl }, - new Album { Title = "King For A Day Fool For A Lifetime", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Faith No More"], AlbumArtUrl = imgUrl }, - new Album { Title = "Kiss", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Carly Rae Jepsen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Last Call", Genre = genres["Country"], Price = 8.99M, Artist = artists["Cayouche"], AlbumArtUrl = imgUrl }, - new Album { Title = "Le Freak", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Chic"], AlbumArtUrl = imgUrl }, - new Album { Title = "Le Tigre", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Le Tigre"], AlbumArtUrl = imgUrl }, - new Album { Title = "Led Zeppelin I", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Led Zeppelin II", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Led Zeppelin III", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Let There Be Rock", Genre = genres["Rock"], Price = 8.99M, Artist = artists["AC/DC"], AlbumArtUrl = imgUrl }, - new Album { Title = "Little Earthquakes", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Tori Amos"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live [Disc 1]", Genre = genres["Blues"], Price = 8.99M, Artist = artists["The Black Crowes"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live [Disc 2]", Genre = genres["Blues"], Price = 8.99M, Artist = artists["The Black Crowes"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live After Death", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live At Donington 1992 (Disc 1)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live At Donington 1992 (Disc 2)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live on Earth", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["The Cat Empire"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live On Two Legs [Live]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pearl Jam"], AlbumArtUrl = imgUrl }, - new Album { Title = "Living After Midnight", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Judas Priest"], AlbumArtUrl = imgUrl }, - new Album { Title = "Living", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Paddy Casey"], AlbumArtUrl = imgUrl }, - new Album { Title = "Load", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Love Changes Everything", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "MacArthur Park Suite", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Donna Summer"], AlbumArtUrl = imgUrl }, - new Album { Title = "Machine Head", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Magical Mystery Tour", Genre = genres["Pop"], Price = 8.99M, Artist = artists["The Beatles"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mais Do Mesmo", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Legião Urbana"], AlbumArtUrl = imgUrl }, - new Album { Title = "Maquinarama", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Skank"], AlbumArtUrl = imgUrl }, - new Album { Title = "Marasim", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Jagjit Singh"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mascagni: Cavalleria Rusticana", Genre = genres["Classical"], Price = 8.99M, Artist = artists["James Levine"], AlbumArtUrl = imgUrl }, - new Album { Title = "Master of Puppets", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mechanics & Mathematics", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Venus Hum"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mental Jewelry", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Live"], AlbumArtUrl = imgUrl }, - new Album { Title = "Metallics", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "meteora", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Linkin Park"], AlbumArtUrl = imgUrl }, - new Album { Title = "Meus Momentos", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Gonzaguinha"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mezmerize", Genre = genres["Metal"], Price = 8.99M, Artist = artists["System Of A Down"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mezzanine", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Massive Attack"], AlbumArtUrl = imgUrl }, - new Album { Title = "Miles Ahead", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Miles Davis"], AlbumArtUrl = imgUrl }, - new Album { Title = "Milton Nascimento Ao Vivo", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Milton Nascimento"], AlbumArtUrl = imgUrl }, - new Album { Title = "Minas", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Milton Nascimento"], AlbumArtUrl = imgUrl }, - new Album { Title = "Minha Historia", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Chico Buarque"], AlbumArtUrl = imgUrl }, - new Album { Title = "Misplaced Childhood", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Marillion"], AlbumArtUrl = imgUrl }, - new Album { Title = "MK III The Final Concerts [Disc 1]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Morning Dance", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Spyro Gyra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Motley Crue Greatest Hits", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Mötley Crüe"], AlbumArtUrl = imgUrl }, - new Album { Title = "Moving Pictures", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Rush"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mozart: Chamber Music", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Nash Ensemble"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mozart: Symphonies Nos. 40 & 41", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Berliner Philharmoniker"], AlbumArtUrl = imgUrl }, - new Album { Title = "Murder Ballads", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Nick Cave and the Bad Seeds"], AlbumArtUrl = imgUrl }, - new Album { Title = "Music For The Jilted Generation", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["The Prodigy"], AlbumArtUrl = imgUrl }, - new Album { Title = "My Generation - The Very Best Of The Who", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Who"], AlbumArtUrl = imgUrl }, - new Album { Title = "My Name is Skrillex", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Skrillex"], AlbumArtUrl = imgUrl }, - new Album { Title = "Na Pista", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Cláudio Zoli"], AlbumArtUrl = imgUrl }, - new Album { Title = "Nevermind", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Nirvana"], AlbumArtUrl = imgUrl }, - new Album { Title = "New Adventures In Hi-Fi", Genre = genres["Rock"], Price = 8.99M, Artist = artists["R.E.M."], AlbumArtUrl = imgUrl }, - new Album { Title = "New Divide", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Linkin Park"], AlbumArtUrl = imgUrl }, - new Album { Title = "New York Dolls", Genre = genres["Punk"], Price = 8.99M, Artist = artists["New York Dolls"], AlbumArtUrl = imgUrl }, - new Album { Title = "News Of The World", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Queen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Nielsen: The Six Symphonies", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Göteborgs Symfoniker & Neeme Järvi"], AlbumArtUrl = imgUrl }, - new Album { Title = "Night At The Opera", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Queen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Night Castle", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Trans-Siberian Orchestra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Nkolo", Genre = genres["World"], Price = 8.99M, Artist = artists["Lokua Kanza"], AlbumArtUrl = imgUrl }, - new Album { Title = "No More Tears (Remastered)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "No Prayer For The Dying", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "No Security", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Rolling Stones"], AlbumArtUrl = imgUrl }, - new Album { Title = "O Brother, Where Art Thou?", Genre = genres["Country"], Price = 8.99M, Artist = artists["Alison Krauss"], AlbumArtUrl = imgUrl }, - new Album { Title = "O Samba Poconé", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Skank"], AlbumArtUrl = imgUrl }, - new Album { Title = "O(+>", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Prince"], AlbumArtUrl = imgUrl }, - new Album { Title = "Oceania", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Smashing Pumpkins"], AlbumArtUrl = imgUrl }, - new Album { Title = "Off the Deep End", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Weird Al"], AlbumArtUrl = imgUrl }, - new Album { Title = "OK Computer", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Radiohead"], AlbumArtUrl = imgUrl }, - new Album { Title = "Olodum", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Olodum"], AlbumArtUrl = imgUrl }, - new Album { Title = "One Love", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["David Guetta"], AlbumArtUrl = imgUrl }, - new Album { Title = "Operation: Mindcrime", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Queensrÿche"], AlbumArtUrl = imgUrl }, - new Album { Title = "Opiate", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Tool"], AlbumArtUrl = imgUrl }, - new Album { Title = "Outbreak", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Dennis Chambers"], AlbumArtUrl = imgUrl }, - new Album { Title = "Pachelbel: Canon & Gigue", Genre = genres["Classical"], Price = 8.99M, Artist = artists["English Concert & Trevor Pinnock"], AlbumArtUrl = imgUrl }, - new Album { Title = "Paid in Full", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Eric B. and Rakim"], AlbumArtUrl = imgUrl }, - new Album { Title = "Para Siempre", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Vicente Fernandez"], AlbumArtUrl = imgUrl }, - new Album { Title = "Pause", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Four Tet"], AlbumArtUrl = imgUrl }, - new Album { Title = "Peace Sells... but Who's Buying", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Megadeth"], AlbumArtUrl = imgUrl }, - new Album { Title = "Physical Graffiti [Disc 1]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Physical Graffiti [Disc 2]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Physical Graffiti", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Piece Of Mind", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Pinkerton", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Weezer"], AlbumArtUrl = imgUrl }, - new Album { Title = "Plays Metallica By Four Cellos", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Apocalyptica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Pop", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Powerslave", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Prenda Minha", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Caetano Veloso"], AlbumArtUrl = imgUrl }, - new Album { Title = "Presence", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Pretty Hate Machine", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Nine Inch Nails"], AlbumArtUrl = imgUrl }, - new Album { Title = "Prisoner", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Jezabels"], AlbumArtUrl = imgUrl }, - new Album { Title = "Privateering", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Mark Knopfler"], AlbumArtUrl = imgUrl }, - new Album { Title = "Prokofiev: Romeo & Juliet", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Michael Tilson Thomas"], AlbumArtUrl = imgUrl }, - new Album { Title = "Prokofiev: Symphony No.1", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sergei Prokofiev & Yuri Temirkanov"], AlbumArtUrl = imgUrl }, - new Album { Title = "PSY's Best 6th Part 1", Genre = genres["Pop"], Price = 8.99M, Artist = artists["PSY"], AlbumArtUrl = imgUrl }, - new Album { Title = "Purcell: The Fairy Queen", Genre = genres["Classical"], Price = 8.99M, Artist = artists["London Classical Players"], AlbumArtUrl = imgUrl }, - new Album { Title = "Purpendicular", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Purple", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Stone Temple Pilots"], AlbumArtUrl = imgUrl }, - new Album { Title = "Quanta Gente Veio Ver (Live)", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Gilberto Gil"], AlbumArtUrl = imgUrl }, - new Album { Title = "Quanta Gente Veio ver--Bônus De Carnaval", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Gilberto Gil"], AlbumArtUrl = imgUrl }, - new Album { Title = "Quiet Songs", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Aisha Duo"], AlbumArtUrl = imgUrl }, - new Album { Title = "Raices", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Los Tigres del Norte"], AlbumArtUrl = imgUrl }, - new Album { Title = "Raising Hell", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Run DMC"], AlbumArtUrl = imgUrl }, - new Album { Title = "Raoul and the Kings of Spain ", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Tears For Fears"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rattle And Hum", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Raul Seixas", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Raul Seixas"], AlbumArtUrl = imgUrl }, - new Album { Title = "Recovery [Explicit]", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Eminem"], AlbumArtUrl = imgUrl }, - new Album { Title = "Reign In Blood", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Slayer"], AlbumArtUrl = imgUrl }, - new Album { Title = "Relayed", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Yes"], AlbumArtUrl = imgUrl }, - new Album { Title = "ReLoad", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Respighi:Pines of Rome", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Eugene Ormandy"], AlbumArtUrl = imgUrl }, - new Album { Title = "Restless and Wild", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Accept"], AlbumArtUrl = imgUrl }, - new Album { Title = "Retrospective I (1974-1980)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Rush"], AlbumArtUrl = imgUrl }, - new Album { Title = "Revelations", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Audioslave"], AlbumArtUrl = imgUrl }, - new Album { Title = "Revolver", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Beatles"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ride the Lighting ", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ride The Lightning", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ring My Bell", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Anita Ward"], AlbumArtUrl = imgUrl }, - new Album { Title = "Riot Act", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pearl Jam"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rise of the Phoenix", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Before the Dawn"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rock In Rio [CD1]", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rock In Rio [CD2]", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rock In Rio [CD2]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Roda De Funk", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Funk Como Le Gusta"], AlbumArtUrl = imgUrl }, - new Album { Title = "Room for Squares", Genre = genres["Pop"], Price = 8.99M, Artist = artists["John Mayer"], AlbumArtUrl = imgUrl }, - new Album { Title = "Root Down", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Jimmy Smith"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rounds", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Four Tet"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rubber Factory", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Black Keys"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rust in Peace", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Megadeth"], AlbumArtUrl = imgUrl }, - new Album { Title = "Sambas De Enredo 2001", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Various Artists"], AlbumArtUrl = imgUrl }, - new Album { Title = "Santana - As Years Go By", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Santana"], AlbumArtUrl = imgUrl }, - new Album { Title = "Santana Live", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Santana"], AlbumArtUrl = imgUrl }, - new Album { Title = "Saturday Night Fever", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Bee Gees"], AlbumArtUrl = imgUrl }, - new Album { Title = "Scary Monsters and Nice Sprites", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Skrillex"], AlbumArtUrl = imgUrl }, - new Album { Title = "Scheherazade", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Chicago Symphony Orchestra & Fritz Reiner"], AlbumArtUrl = imgUrl }, - new Album { Title = "SCRIABIN: Vers la flamme", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Christopher O'Riley"], AlbumArtUrl = imgUrl }, - new Album { Title = "Second Coming", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Stone Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "Serie Sem Limite (Disc 1)", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Tim Maia"], AlbumArtUrl = imgUrl }, - new Album { Title = "Serie Sem Limite (Disc 2)", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Tim Maia"], AlbumArtUrl = imgUrl }, - new Album { Title = "Serious About Men", Genre = genres["Rap"], Price = 8.99M, Artist = artists["The Rubberbandits"], AlbumArtUrl = imgUrl }, - new Album { Title = "Seventh Son of a Seventh Son", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Short Bus", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Filter"], AlbumArtUrl = imgUrl }, - new Album { Title = "Sibelius: Finlandia", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Berliner Philharmoniker"], AlbumArtUrl = imgUrl }, - new Album { Title = "Singles Collection", Genre = genres["Rock"], Price = 8.99M, Artist = artists["David Bowie"], AlbumArtUrl = imgUrl }, - new Album { Title = "Six Degrees of Inner Turbulence", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Dream Theater"], AlbumArtUrl = imgUrl }, - new Album { Title = "Slave To The Empire", Genre = genres["Metal"], Price = 8.99M, Artist = artists["T&N"], AlbumArtUrl = imgUrl }, - new Album { Title = "Slaves And Masters", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Slouching Towards Bethlehem", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Robert James"], AlbumArtUrl = imgUrl }, - new Album { Title = "Smash", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Offspring"], AlbumArtUrl = imgUrl }, - new Album { Title = "Something Special", Genre = genres["Country"], Price = 8.99M, Artist = artists["Dolly Parton"], AlbumArtUrl = imgUrl }, - new Album { Title = "Somewhere in Time", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Song(s) You Know By Heart", Genre = genres["Country"], Price = 8.99M, Artist = artists["Jimmy Buffett"], AlbumArtUrl = imgUrl }, - new Album { Title = "Sound of Music", Genre = genres["Punk"], Price = 8.99M, Artist = artists["Adicts"], AlbumArtUrl = imgUrl }, - new Album { Title = "South American Getaway", Genre = genres["Classical"], Price = 8.99M, Artist = artists["The 12 Cellists of The Berlin Philharmonic"], AlbumArtUrl = imgUrl }, - new Album { Title = "Sozinho Remix Ao Vivo", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Caetano Veloso"], AlbumArtUrl = imgUrl }, - new Album { Title = "Speak of the Devil", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Spiritual State", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Nujabes"], AlbumArtUrl = imgUrl }, - new Album { Title = "St. Anger", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Still Life", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Opeth"], AlbumArtUrl = imgUrl }, - new Album { Title = "Stop Making Sense", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Talking Heads"], AlbumArtUrl = imgUrl }, - new Album { Title = "Stormbringer", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Stranger than Fiction", Genre = genres["Punk"], Price = 8.99M, Artist = artists["Bad Religion"], AlbumArtUrl = imgUrl }, - new Album { Title = "Strauss: Waltzes", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Eugene Ormandy"], AlbumArtUrl = imgUrl }, - new Album { Title = "Supermodified", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Amon Tobin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Supernatural", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Santana"], AlbumArtUrl = imgUrl }, - new Album { Title = "Surfing with the Alien (Remastered)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Joe Satriani"], AlbumArtUrl = imgUrl }, - new Album { Title = "Switched-On Bach", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Wendy Carlos"], AlbumArtUrl = imgUrl }, - new Album { Title = "Symphony", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Szymanowski: Piano Works, Vol. 1", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Martin Roscoe"], AlbumArtUrl = imgUrl }, - new Album { Title = "Tchaikovsky: The Nutcracker", Genre = genres["Classical"], Price = 8.99M, Artist = artists["London Symphony Orchestra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ted Nugent", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ted Nugent"], AlbumArtUrl = imgUrl }, - new Album { Title = "Teflon Don", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Rick Ross"], AlbumArtUrl = imgUrl }, - new Album { Title = "Tell Another Joke at the Ol' Choppin' Block", Genre = genres["Indie"], Price = 8.99M, Artist = artists["Danielson Famile"], AlbumArtUrl = imgUrl }, - new Album { Title = "Temple of the Dog", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Temple of the Dog"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ten", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pearl Jam"], AlbumArtUrl = imgUrl }, - new Album { Title = "Texas Flood", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Stevie Ray Vaughan"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Battle Rages On", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Beast Live", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Paul D'Ianno"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best Of 1980-1990", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best of 1990–2000", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best of Beethoven", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Nicolaus Esterhazy Sinfonia"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best Of Billy Cobham", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Billy Cobham"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best of Ed Motta", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Ed Motta"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best Of Van Halen, Vol. I", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Van Halen"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Bridge", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Melanie Fiona"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Cage", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Tygers of Pan Tang"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Chicago Transit Authority", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Chicago "], AlbumArtUrl = imgUrl }, - new Album { Title = "The Chronic", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Dr. Dre"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Colour And The Shape", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Foo Fighters"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Crane Wife", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["The Decemberists"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Cream Of Clapton", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Eric Clapton"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Cure", Genre = genres["Pop"], Price = 8.99M, Artist = artists["The Cure"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Dark Side Of The Moon", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pink Floyd"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Divine Conspiracy", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Epica"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Doors", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Doors"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Dream of the Blue Turtles", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Sting"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Essential Miles Davis [Disc 1]", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Miles Davis"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Essential Miles Davis [Disc 2]", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Miles Davis"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Final Concerts (Disc 2)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Final Frontier", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Head and the Heart", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Head and the Heart"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Joshua Tree", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Last Night of the Proms", Genre = genres["Classical"], Price = 8.99M, Artist = artists["BBC Concert Orchestra"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Lumineers", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Lumineers"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Number of The Beast", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Number of The Beast", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Police Greatest Hits", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Police"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Song Remains The Same (Disc 1)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Song Remains The Same (Disc 2)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Southern Harmony and Musical Companion", Genre = genres["Blues"], Price = 8.99M, Artist = artists["The Black Crowes"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Spade", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Butch Walker & The Black Widows"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Stone Roses", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Stone Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Suburbs", Genre = genres["Indie"], Price = 8.99M, Artist = artists["Arcade Fire"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Three Tenors Disc1/Disc2", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Carreras, Pavarotti, Domingo"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Trees They Grow So High", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Wall", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pink Floyd"], AlbumArtUrl = imgUrl }, - new Album { Title = "The X Factor", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Them Crooked Vultures", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Them Crooked Vultures"], AlbumArtUrl = imgUrl }, - new Album { Title = "This Is Happening", Genre = genres["Rock"], Price = 8.99M, Artist = artists["LCD Soundsystem"], AlbumArtUrl = imgUrl }, - new Album { Title = "Thunder, Lightning, Strike", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Go! Team"], AlbumArtUrl = imgUrl }, - new Album { Title = "Time to Say Goodbye", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Time, Love & Tenderness", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Michael Bolton"], AlbumArtUrl = imgUrl }, - new Album { Title = "Tomorrow Starts Today", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Mobile"], AlbumArtUrl = imgUrl }, - new Album { Title = "Tribute", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Tuesday Night Music Club", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Sheryl Crow"], AlbumArtUrl = imgUrl }, - new Album { Title = "Umoja", Genre = genres["Rock"], Price = 8.99M, Artist = artists["BLØF"], AlbumArtUrl = imgUrl }, - new Album { Title = "Under the Pink", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Tori Amos"], AlbumArtUrl = imgUrl }, - new Album { Title = "Undertow", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Tool"], AlbumArtUrl = imgUrl }, - new Album { Title = "Un-Led-Ed", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Dread Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Unplugged [Live]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Kiss"], AlbumArtUrl = imgUrl }, - new Album { Title = "Unplugged", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Eric Clapton"], AlbumArtUrl = imgUrl }, - new Album { Title = "Unplugged", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Eric Clapton"], AlbumArtUrl = imgUrl }, - new Album { Title = "Untrue", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Burial"], AlbumArtUrl = imgUrl }, - new Album { Title = "Use Your Illusion I", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Guns N' Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "Use Your Illusion II", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Guns N' Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "Use Your Illusion II", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Guns N' Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "Van Halen III", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Van Halen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Van Halen", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Van Halen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Version 2.0", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Garbage"], AlbumArtUrl = imgUrl }, - new Album { Title = "Vinicius De Moraes", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Vinícius De Moraes"], AlbumArtUrl = imgUrl }, - new Album { Title = "Virtual XI", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Voodoo Lounge", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Rolling Stones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Vozes do MPB", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Various Artists"], AlbumArtUrl = imgUrl }, - new Album { Title = "Vs.", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pearl Jam"], AlbumArtUrl = imgUrl }, - new Album { Title = "Wagner: Favourite Overtures", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sir Georg Solti & Wiener Philharmoniker"], AlbumArtUrl = imgUrl }, - new Album { Title = "Walking Into Clarksdale", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Page & Plant"], AlbumArtUrl = imgUrl }, - new Album { Title = "Wapi Yo", Genre = genres["World"], Price = 8.99M, Artist = artists["Lokua Kanza"], AlbumArtUrl = imgUrl }, - new Album { Title = "War", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Warner 25 Anos", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Antônio Carlos Jobim"], AlbumArtUrl = imgUrl }, - new Album { Title = "Wasteland R&Btheque", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Raunchy"], AlbumArtUrl = imgUrl }, - new Album { Title = "Watermark", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Enya"], AlbumArtUrl = imgUrl }, - new Album { Title = "We Were Exploding Anyway", Genre = genres["Rock"], Price = 8.99M, Artist = artists["65daysofstatic"], AlbumArtUrl = imgUrl }, - new Album { Title = "Weill: The Seven Deadly Sins", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Orchestre de l'Opéra de Lyon"], AlbumArtUrl = imgUrl }, - new Album { Title = "White Pony", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deftones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Who's Next", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Who"], AlbumArtUrl = imgUrl }, - new Album { Title = "Wish You Were Here", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pink Floyd"], AlbumArtUrl = imgUrl }, - new Album { Title = "With Oden on Our Side", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Amon Amarth"], AlbumArtUrl = imgUrl }, - new Album { Title = "Worlds", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Aaron Goldberg"], AlbumArtUrl = imgUrl }, - new Album { Title = "Worship Music", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Anthrax"], AlbumArtUrl = imgUrl }, - new Album { Title = "X&Y", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Coldplay"], AlbumArtUrl = imgUrl }, - new Album { Title = "Xinti", Genre = genres["World"], Price = 8.99M, Artist = artists["Sara Tavares"], AlbumArtUrl = imgUrl }, - new Album { Title = "Yano", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Yano"], AlbumArtUrl = imgUrl }, - new Album { Title = "Yesterday Once More Disc 1/Disc 2", Genre = genres["Pop"], Price = 8.99M, Artist = artists["The Carpenters"], AlbumArtUrl = imgUrl }, - new Album { Title = "Zooropa", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Zoso", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - }; - - foreach (var album in albums) - { - album.ArtistId = album.Artist.ArtistId; - album.GenreId = album.Genre.GenreId; - } - - return albums; - } - - private static Dictionary artists; - public static Dictionary Artists - { - get - { - if (artists == null) - { - var artistsList = new Artist[] - { - new Artist { Name = "65daysofstatic" }, - new Artist { Name = "Aaron Goldberg" }, - new Artist { Name = "Above & Beyond" }, - new Artist { Name = "Above the Fold" }, - new Artist { Name = "AC/DC" }, - new Artist { Name = "Accept" }, - new Artist { Name = "Adicts" }, - new Artist { Name = "Adrian Leaper & Doreen de Feis" }, - new Artist { Name = "Aerosmith" }, - new Artist { Name = "Aisha Duo" }, - new Artist { Name = "Al di Meola" }, - new Artist { Name = "Alabama Shakes" }, - new Artist { Name = "Alanis Morissette" }, - new Artist { Name = "Alberto Turco & Nova Schola Gregoriana" }, - new Artist { Name = "Alice in Chains" }, - new Artist { Name = "Alison Krauss" }, - new Artist { Name = "Amon Amarth" }, - new Artist { Name = "Amon Tobin" }, - new Artist { Name = "Amr Diab" }, - new Artist { Name = "Amy Winehouse" }, - new Artist { Name = "Anita Ward" }, - new Artist { Name = "Anthrax" }, - new Artist { Name = "Antônio Carlos Jobim" }, - new Artist { Name = "Apocalyptica" }, - new Artist { Name = "Aqua" }, - new Artist { Name = "Armand Van Helden" }, - new Artist { Name = "Arcade Fire" }, - new Artist { Name = "Audioslave" }, - new Artist { Name = "Bad Religion" }, - new Artist { Name = "Barenaked Ladies" }, - new Artist { Name = "BBC Concert Orchestra" }, - new Artist { Name = "Bee Gees" }, - new Artist { Name = "Before the Dawn" }, - new Artist { Name = "Berliner Philharmoniker" }, - new Artist { Name = "Billy Cobham" }, - new Artist { Name = "Black Label Society" }, - new Artist { Name = "Black Sabbath" }, - new Artist { Name = "BLØF" }, - new Artist { Name = "Blues Traveler" }, - new Artist { Name = "Boston Symphony Orchestra & Seiji Ozawa" }, - new Artist { Name = "Britten Sinfonia, Ivor Bolton & Lesley Garrett" }, - new Artist { Name = "Bruce Dickinson" }, - new Artist { Name = "Buddy Guy" }, - new Artist { Name = "Burial" }, - new Artist { Name = "Butch Walker & The Black Widows" }, - new Artist { Name = "Caetano Veloso" }, - new Artist { Name = "Cake" }, - new Artist { Name = "Calexico" }, - new Artist { Name = "Carly Rae Jepsen" }, - new Artist { Name = "Carreras, Pavarotti, Domingo" }, - new Artist { Name = "Cássia Eller" }, - new Artist { Name = "Cayouche" }, - new Artist { Name = "Chic" }, - new Artist { Name = "Chicago " }, - new Artist { Name = "Chicago Symphony Orchestra & Fritz Reiner" }, - new Artist { Name = "Chico Buarque" }, - new Artist { Name = "Chico Science & Nação Zumbi" }, - new Artist { Name = "Choir Of Westminster Abbey & Simon Preston" }, - new Artist { Name = "Chris Cornell" }, - new Artist { Name = "Christopher O'Riley" }, - new Artist { Name = "Cidade Negra" }, - new Artist { Name = "Cláudio Zoli" }, - new Artist { Name = "Coldplay" }, - new Artist { Name = "Creedence Clearwater Revival" }, - new Artist { Name = "Crosby, Stills, Nash, and Young" }, - new Artist { Name = "Daft Punk" }, - new Artist { Name = "Danielson Famile" }, - new Artist { Name = "David Bowie" }, - new Artist { Name = "David Coverdale" }, - new Artist { Name = "David Guetta" }, - new Artist { Name = "deadmau5" }, - new Artist { Name = "Deep Purple" }, - new Artist { Name = "Def Leppard" }, - new Artist { Name = "Deftones" }, - new Artist { Name = "Dennis Chambers" }, - new Artist { Name = "Deva Premal" }, - new Artist { Name = "Dio" }, - new Artist { Name = "Djavan" }, - new Artist { Name = "Dolly Parton" }, - new Artist { Name = "Donna Summer" }, - new Artist { Name = "Dr. Dre" }, - new Artist { Name = "Dread Zeppelin" }, - new Artist { Name = "Dream Theater" }, - new Artist { Name = "Duck Sauce" }, - new Artist { Name = "Earl Scruggs" }, - new Artist { Name = "Ed Motta" }, - new Artist { Name = "Edo de Waart & San Francisco Symphony" }, - new Artist { Name = "Elis Regina" }, - new Artist { Name = "Eminem" }, - new Artist { Name = "English Concert & Trevor Pinnock" }, - new Artist { Name = "Enya" }, - new Artist { Name = "Epica" }, - new Artist { Name = "Eric B. and Rakim" }, - new Artist { Name = "Eric Clapton" }, - new Artist { Name = "Eugene Ormandy" }, - new Artist { Name = "Faith No More" }, - new Artist { Name = "Falamansa" }, - new Artist { Name = "Filter" }, - new Artist { Name = "Foo Fighters" }, - new Artist { Name = "Four Tet" }, - new Artist { Name = "Frank Zappa & Captain Beefheart" }, - new Artist { Name = "Fretwork" }, - new Artist { Name = "Funk Como Le Gusta" }, - new Artist { Name = "Garbage" }, - new Artist { Name = "Gerald Moore" }, - new Artist { Name = "Gilberto Gil" }, - new Artist { Name = "Godsmack" }, - new Artist { Name = "Gonzaguinha" }, - new Artist { Name = "Göteborgs Symfoniker & Neeme Järvi" }, - new Artist { Name = "Guns N' Roses" }, - new Artist { Name = "Gustav Mahler" }, - new Artist { Name = "In This Moment" }, - new Artist { Name = "Incognito" }, - new Artist { Name = "INXS" }, - new Artist { Name = "Iron Maiden" }, - new Artist { Name = "Jagjit Singh" }, - new Artist { Name = "James Levine" }, - new Artist { Name = "Jamiroquai" }, - new Artist { Name = "Jimi Hendrix" }, - new Artist { Name = "Jimmy Buffett" }, - new Artist { Name = "Jimmy Smith" }, - new Artist { Name = "Joe Satriani" }, - new Artist { Name = "John Digweed" }, - new Artist { Name = "John Mayer" }, - new Artist { Name = "Jorge Ben" }, - new Artist { Name = "Jota Quest" }, - new Artist { Name = "Journey" }, - new Artist { Name = "Judas Priest" }, - new Artist { Name = "Julian Bream" }, - new Artist { Name = "Justice" }, - new Artist { Name = "Orchestre de l'Opéra de Lyon" }, - new Artist { Name = "King Crimson" }, - new Artist { Name = "Kiss" }, - new Artist { Name = "LCD Soundsystem" }, - new Artist { Name = "Le Tigre" }, - new Artist { Name = "Led Zeppelin" }, - new Artist { Name = "Legião Urbana" }, - new Artist { Name = "Lenny Kravitz" }, - new Artist { Name = "Les Arts Florissants & William Christie" }, - new Artist { Name = "Limp Bizkit" }, - new Artist { Name = "Linkin Park" }, - new Artist { Name = "Live" }, - new Artist { Name = "Lokua Kanza" }, - new Artist { Name = "London Symphony Orchestra" }, - new Artist { Name = "Los Tigres del Norte" }, - new Artist { Name = "Luciana Souza/Romero Lubambo" }, - new Artist { Name = "Lulu Santos" }, - new Artist { Name = "Lura" }, - new Artist { Name = "Marcos Valle" }, - new Artist { Name = "Marillion" }, - new Artist { Name = "Marisa Monte" }, - new Artist { Name = "Mark Knopfler" }, - new Artist { Name = "Martin Roscoe" }, - new Artist { Name = "Massive Attack" }, - new Artist { Name = "Maurizio Pollini" }, - new Artist { Name = "Megadeth" }, - new Artist { Name = "Mela Tenenbaum, Pro Musica Prague & Richard Kapp" }, - new Artist { Name = "Melanie Fiona" }, - new Artist { Name = "Men At Work" }, - new Artist { Name = "Metallica" }, - new Artist { Name = "M-Flo" }, - new Artist { Name = "Michael Bolton" }, - new Artist { Name = "Michael Tilson Thomas" }, - new Artist { Name = "Miles Davis" }, - new Artist { Name = "Milton Nascimento" }, - new Artist { Name = "Mobile" }, - new Artist { Name = "Modest Mouse" }, - new Artist { Name = "Mötley Crüe" }, - new Artist { Name = "Motörhead" }, - new Artist { Name = "Mumford & Sons" }, - new Artist { Name = "Munkle" }, - new Artist { Name = "Nash Ensemble" }, - new Artist { Name = "Neil Young" }, - new Artist { Name = "New York Dolls" }, - new Artist { Name = "Nick Cave and the Bad Seeds" }, - new Artist { Name = "Nicolaus Esterhazy Sinfonia" }, - new Artist { Name = "Nine Inch Nails" }, - new Artist { Name = "Nirvana" }, - new Artist { Name = "Norah Jones" }, - new Artist { Name = "Nujabes" }, - new Artist { Name = "O Terço" }, - new Artist { Name = "Oasis" }, - new Artist { Name = "Olodum" }, - new Artist { Name = "Opeth" }, - new Artist { Name = "Orchestra of The Age of Enlightenment" }, - new Artist { Name = "Os Paralamas Do Sucesso" }, - new Artist { Name = "Ozzy Osbourne" }, - new Artist { Name = "Paddy Casey" }, - new Artist { Name = "Page & Plant" }, - new Artist { Name = "Papa Wemba" }, - new Artist { Name = "Paul D'Ianno" }, - new Artist { Name = "Paul Oakenfold" }, - new Artist { Name = "Paul Van Dyk" }, - new Artist { Name = "Pearl Jam" }, - new Artist { Name = "Pet Shop Boys" }, - new Artist { Name = "Pink Floyd" }, - new Artist { Name = "Plug" }, - new Artist { Name = "Porcupine Tree" }, - new Artist { Name = "Portishead" }, - new Artist { Name = "Prince" }, - new Artist { Name = "Projected" }, - new Artist { Name = "PSY" }, - new Artist { Name = "Public Enemy" }, - new Artist { Name = "Queen" }, - new Artist { Name = "Queensrÿche" }, - new Artist { Name = "R.E.M." }, - new Artist { Name = "Radiohead" }, - new Artist { Name = "Rancid" }, - new Artist { Name = "Raul Seixas" }, - new Artist { Name = "Raunchy" }, - new Artist { Name = "Red Hot Chili Peppers" }, - new Artist { Name = "Rick Ross" }, - new Artist { Name = "Robert James" }, - new Artist { Name = "London Classical Players" }, - new Artist { Name = "Royal Philharmonic Orchestra" }, - new Artist { Name = "Run DMC" }, - new Artist { Name = "Rush" }, - new Artist { Name = "Santana" }, - new Artist { Name = "Sara Tavares" }, - new Artist { Name = "Sarah Brightman" }, - new Artist { Name = "Sasha" }, - new Artist { Name = "Scholars Baroque Ensemble" }, - new Artist { Name = "Scorpions" }, - new Artist { Name = "Sergei Prokofiev & Yuri Temirkanov" }, - new Artist { Name = "Sheryl Crow" }, - new Artist { Name = "Sir Georg Solti & Wiener Philharmoniker" }, - new Artist { Name = "Skank" }, - new Artist { Name = "Skrillex" }, - new Artist { Name = "Slash" }, - new Artist { Name = "Slayer" }, - new Artist { Name = "Soul-Junk" }, - new Artist { Name = "Soundgarden" }, - new Artist { Name = "Spyro Gyra" }, - new Artist { Name = "Stevie Ray Vaughan & Double Trouble" }, - new Artist { Name = "Stevie Ray Vaughan" }, - new Artist { Name = "Sting" }, - new Artist { Name = "Stone Temple Pilots" }, - new Artist { Name = "Styx" }, - new Artist { Name = "Sufjan Stevens" }, - new Artist { Name = "Supreme Beings of Leisure" }, - new Artist { Name = "System Of A Down" }, - new Artist { Name = "T&N" }, - new Artist { Name = "Talking Heads" }, - new Artist { Name = "Tears For Fears" }, - new Artist { Name = "Ted Nugent" }, - new Artist { Name = "Temple of the Dog" }, - new Artist { Name = "Terry Bozzio, Tony Levin & Steve Stevens" }, - new Artist { Name = "The 12 Cellists of The Berlin Philharmonic" }, - new Artist { Name = "The Axis of Awesome" }, - new Artist { Name = "The Beatles" }, - new Artist { Name = "The Black Crowes" }, - new Artist { Name = "The Black Keys" }, - new Artist { Name = "The Carpenters" }, - new Artist { Name = "The Cat Empire" }, - new Artist { Name = "The Cult" }, - new Artist { Name = "The Cure" }, - new Artist { Name = "The Decemberists" }, - new Artist { Name = "The Doors" }, - new Artist { Name = "The Eagles of Death Metal" }, - new Artist { Name = "The Go! Team" }, - new Artist { Name = "The Head and the Heart" }, - new Artist { Name = "The Jezabels" }, - new Artist { Name = "The King's Singers" }, - new Artist { Name = "The Lumineers" }, - new Artist { Name = "The Offspring" }, - new Artist { Name = "The Police" }, - new Artist { Name = "The Posies" }, - new Artist { Name = "The Prodigy" }, - new Artist { Name = "The Rolling Stones" }, - new Artist { Name = "The Rubberbandits" }, - new Artist { Name = "The Smashing Pumpkins" }, - new Artist { Name = "The Stone Roses" }, - new Artist { Name = "The Who" }, - new Artist { Name = "Them Crooked Vultures" }, - new Artist { Name = "TheStart" }, - new Artist { Name = "Thievery Corporation" }, - new Artist { Name = "Tiësto" }, - new Artist { Name = "Tim Maia" }, - new Artist { Name = "Ton Koopman" }, - new Artist { Name = "Tool" }, - new Artist { Name = "Tori Amos" }, - new Artist { Name = "Trampled By Turtles" }, - new Artist { Name = "Trans-Siberian Orchestra" }, - new Artist { Name = "Tygers of Pan Tang" }, - new Artist { Name = "U2" }, - new Artist { Name = "UB40" }, - new Artist { Name = "Uh Huh Her " }, - new Artist { Name = "Van Halen" }, - new Artist { Name = "Various Artists" }, - new Artist { Name = "Velvet Revolver" }, - new Artist { Name = "Venus Hum" }, - new Artist { Name = "Vicente Fernandez" }, - new Artist { Name = "Vinícius De Moraes" }, - new Artist { Name = "Weezer" }, - new Artist { Name = "Weird Al" }, - new Artist { Name = "Wendy Carlos" }, - new Artist { Name = "Wilhelm Kempff" }, - new Artist { Name = "Yano" }, - new Artist { Name = "Yehudi Menuhin" }, - new Artist { Name = "Yes" }, - new Artist { Name = "Yo-Yo Ma" }, - new Artist { Name = "Zeca Pagodinho" }, - new Artist { Name = "אריק אינשטיין"} - }; - - // TODO [EF] Swap to store generated keys when available - int artistId = 1; - artists = new Dictionary(); - foreach (Artist artist in artistsList) - { - artist.ArtistId = artistId++; - artists.Add(artist.Name, artist); - } - } - - return artists; - } - } - - private static Dictionary genres; - public static Dictionary Genres - { - get - { - if (genres == null) - { - var genresList = new Genre[] - { - new Genre { Name = "Pop" }, - new Genre { Name = "Rock" }, - new Genre { Name = "Jazz" }, - new Genre { Name = "Metal" }, - new Genre { Name = "Electronic" }, - new Genre { Name = "Blues" }, - new Genre { Name = "Latin" }, - new Genre { Name = "Rap" }, - new Genre { Name = "Classical" }, - new Genre { Name = "Alternative" }, - new Genre { Name = "Country" }, - new Genre { Name = "R&B" }, - new Genre { Name = "Indie" }, - new Genre { Name = "Punk" }, - new Genre { Name = "World" } - }; - - genres = new Dictionary(); - // TODO [EF] Swap to store generated keys when available - int genreId = 1; - foreach (Genre genre in genresList) - { - genre.GenreId = genreId++; - - // TODO [EF] Remove when null values are supported by update pipeline - genre.Description = genre.Name + " is great music (if you like it)."; - - genres.Add(genre.Name, genre); - } - } - - return genres; - } - } - } -} diff --git a/samples/angular/MusicStore/Apis/Models/SentimentAnalysis.cs b/samples/angular/MusicStore/Apis/Models/SentimentAnalysis.cs deleted file mode 100644 index 8167ec3..0000000 --- a/samples/angular/MusicStore/Apis/Models/SentimentAnalysis.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System.Linq; -using System.Text.RegularExpressions; - -namespace MusicStore.Models -{ - // Obviously this is not a serious sentiment analyser. It is only here to provide an amusing demonstration of cross-property - // validation in AlbumsApiController. - public static class SentimentAnalysis - { - private static string[] positiveSentimentWords = new[] { "happy", "fun", "joy", "love", "delight", "bunny", "bunnies", "asp.net" }; - - private static string[] negativeSentimentWords = new[] { "sad", "pain", "despair", "hate", "scorn", "death", "package management" }; - - public static SentimentResult GetSentiment(string text) { - var numPositiveWords = CountWordOccurrences(text, positiveSentimentWords); - var numNegativeWords = CountWordOccurrences(text, negativeSentimentWords); - if (numPositiveWords > numNegativeWords) { - return SentimentResult.Positive; - } else if (numNegativeWords > numPositiveWords) { - return SentimentResult.Negative; - } else { - return SentimentResult.Neutral; - } - } - - private static int CountWordOccurrences(string text, string[] words) - { - // Very simplistic matching technique for this sample. Not scalable and not really even correct. - return new Regex(string.Join("|", words), RegexOptions.IgnoreCase).Matches(text).Count; - } - - public enum SentimentResult { - Negative, - Neutral, - Positive, - } - } -} diff --git a/samples/angular/MusicStore/Apis/Models/ShoppingCart.cs b/samples/angular/MusicStore/Apis/Models/ShoppingCart.cs deleted file mode 100644 index 1d2465a..0000000 --- a/samples/angular/MusicStore/Apis/Models/ShoppingCart.cs +++ /dev/null @@ -1,207 +0,0 @@ -using Microsoft.AspNetCore.Http; -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace MusicStore.Models -{ - public partial class ShoppingCart - { - MusicStoreContext _db; - string ShoppingCartId { get; set; } - - public ShoppingCart(MusicStoreContext db) - { - _db = db; - } - - public static ShoppingCart GetCart(MusicStoreContext db, HttpContext context) - { - var cart = new ShoppingCart(db); - cart.ShoppingCartId = cart.GetCartId(context); - return cart; - } - - public void AddToCart(Album album) - { - // Get the matching cart and album instances - var cartItem = _db.CartItems.SingleOrDefault( - c => c.CartId == ShoppingCartId - && c.AlbumId == album.AlbumId); - - if (cartItem == null) - { - // TODO [EF] Swap to store generated key once we support identity pattern - var nextCartItemId = _db.CartItems.Any() - ? _db.CartItems.Max(c => c.CartItemId) + 1 - : 1; - - // Create a new cart item if no cart item exists - cartItem = new CartItem - { - CartItemId = nextCartItemId, - AlbumId = album.AlbumId, - CartId = ShoppingCartId, - Count = 1, - DateCreated = DateTime.Now - }; - - _db.CartItems.Add(cartItem); - } - else - { - // If the item does exist in the cart, then add one to the quantity - cartItem.Count++; - - // TODO [EF] Remove this line once change detection is available - _db.Update(cartItem); - } - } - - public int RemoveFromCart(int id) - { - // Get the cart - var cartItem = _db.CartItems.Single( - cart => cart.CartId == ShoppingCartId - && cart.CartItemId == id); - - int itemCount = 0; - - if (cartItem != null) - { - if (cartItem.Count > 1) - { - cartItem.Count--; - - // TODO [EF] Remove this line once change detection is available - _db.Update(cartItem); - - itemCount = cartItem.Count; - } - else - { - _db.CartItems.Remove(cartItem); - } - } - - return itemCount; - } - - public void EmptyCart() - { - var cartItems = _db.CartItems.Where(cart => cart.CartId == ShoppingCartId); - - foreach (var cartItem in cartItems) - { - _db.Remove(cartItem); - } - } - - public List GetCartItems() - { - var cartItems = _db.CartItems.Where(cart => cart.CartId == ShoppingCartId).ToList(); - //TODO: Auto population of the related album data not available until EF feature is lighted up. - foreach (var cartItem in cartItems) - { - cartItem.Album = _db.Albums.Single(a => a.AlbumId == cartItem.AlbumId); - } - - return cartItems; - } - - public int GetCount() - { - // Get the count of each item in the cart and sum them up - int? count = (from cartItems in _db.CartItems - where cartItems.CartId == ShoppingCartId - select (int?)cartItems.Count).Sum(); - - // Return 0 if all entries are null - return count ?? 0; - } - - public decimal GetTotal() - { - // Multiply album price by count of that album to get - // the current price for each of those albums in the cart - // sum all album price totals to get the cart total - - // TODO Collapse to a single query once EF supports querying related data - decimal total = 0; - foreach (var item in _db.CartItems.Where(c => c.CartId == ShoppingCartId)) - { - var album = _db.Albums.Single(a => a.AlbumId == item.AlbumId); - total += item.Count * album.Price; - } - - return total; - } - - public int CreateOrder(Order order) - { - decimal orderTotal = 0; - - var cartItems = GetCartItems(); - - // TODO [EF] Swap to store generated identity key when supported - var nextId = _db.OrderDetails.Any() - ? _db.OrderDetails.Max(o => o.OrderDetailId) + 1 - : 1; - - // Iterate over the items in the cart, adding the order details for each - foreach (var item in cartItems) - { - //var album = _db.Albums.Find(item.AlbumId); - var album = _db.Albums.Single(a => a.AlbumId == item.AlbumId); - - var orderDetail = new OrderDetail - { - OrderDetailId = nextId, - AlbumId = item.AlbumId, - OrderId = order.OrderId, - UnitPrice = album.Price, - Quantity = item.Count, - }; - - // Set the order total of the shopping cart - orderTotal += (item.Count * album.Price); - - _db.OrderDetails.Add(orderDetail); - - nextId++; - } - - // Set the order's total to the orderTotal count - order.Total = orderTotal; - - // Empty the shopping cart - EmptyCart(); - - // Return the OrderId as the confirmation number - return order.OrderId; - } - - // We're using HttpContextBase to allow access to cookies. - public string GetCartId(HttpContext context) - { - var sessionCookie = context.Request.Cookies["Session"]; - string cartId = null; - - if (string.IsNullOrWhiteSpace(sessionCookie)) - { - //A GUID to hold the cartId. - cartId = Guid.NewGuid().ToString(); - - // Send cart Id as a cookie to the client. - context.Response.Cookies.Append("Session", cartId); - } - else - { - cartId = sessionCookie; - } - - return cartId; - } - } -} diff --git a/samples/angular/MusicStore/Controllers/HomeController.cs b/samples/angular/MusicStore/Controllers/HomeController.cs deleted file mode 100755 index 07e9702..0000000 --- a/samples/angular/MusicStore/Controllers/HomeController.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Microsoft.AspNetCore.Mvc; - -namespace MusicStore.Controllers -{ - public class HomeController : Controller - { - public IActionResult Index() - { - return View(); - } - - public IActionResult Error() - { - return View("~/Views/Shared/Error.cshtml"); - } - } -} diff --git a/samples/angular/MusicStore/Infrastructure/NoCacheAttribute.cs b/samples/angular/MusicStore/Infrastructure/NoCacheAttribute.cs deleted file mode 100644 index 856023a..0000000 --- a/samples/angular/MusicStore/Infrastructure/NoCacheAttribute.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using System; -using Microsoft.AspNetCore.Mvc.Filters; - -namespace MusicStore.Infrastructure -{ - [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] - public sealed class NoCacheAttribute : ActionFilterAttribute - { - public override void OnResultExecuting(ResultExecutingContext context) - { - context.HttpContext.Response.Headers["Cache-Control"] = "no-cache, no-store, max-age=0"; - context.HttpContext.Response.Headers["Pragma"] = "no-cache"; - context.HttpContext.Response.Headers["Expires"] = "-1"; - - base.OnResultExecuting(context); - } - } -} diff --git a/samples/angular/MusicStore/Infrastructure/PagedList.cs b/samples/angular/MusicStore/Infrastructure/PagedList.cs deleted file mode 100644 index b2cb2c5..0000000 --- a/samples/angular/MusicStore/Infrastructure/PagedList.cs +++ /dev/null @@ -1,150 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Threading.Tasks; - -namespace MusicStore.Infrastructure -{ - public interface IPagedList - { - IEnumerable Data { get; } - - int Page { get; } - - int PageSize { get; } - - int TotalCount { get; } - } - - internal class PagedList : IPagedList - { - public PagedList(IEnumerable data, int page, int pageSize, int totalCount) - { - Data = data; - Page = page; - PageSize = pageSize; - TotalCount = totalCount; - } - - public IEnumerable Data { get; private set; } - - public int Page { get; private set; } - - public int PageSize { get; private set; } - - public int TotalCount { get; private set; } - } - - public static class PagedListExtensions - { - public static IPagedList ToPagedList(this IQueryable query, int page, int pageSize) - { - if (query == null) - { - throw new ArgumentNullException("query"); - } - - var pagingConfig = new PagingConfig(page, pageSize); - var skipCount = ValidatePagePropertiesAndGetSkipCount(pagingConfig); - - var data = query - .Skip(skipCount) - .Take(pagingConfig.PageSize) - .ToList(); - - if (skipCount > 0 && data.Count == 0) - { - // Requested page has no records, just return the first page - pagingConfig.Page = 1; - data = query - .Take(pagingConfig.PageSize) - .ToList(); - } - - return new PagedList(data, pagingConfig.Page, pagingConfig.PageSize, query.Count()); - } - - public static Task> ToPagedListAsync(this IQueryable query, int page, int pageSize, string sortExpression, Expression> defaultSortExpression, SortDirection defaultSortDirection = SortDirection.Ascending) - where TModel : class - { - return ToPagedListAsync(query, page, pageSize, sortExpression, defaultSortExpression, defaultSortDirection, null); - } - - public static async Task> ToPagedListAsync(this IQueryable query, int page, int pageSize, string sortExpression, Expression> defaultSortExpression, SortDirection defaultSortDirection, Func selector) - where TModel : class - where TResult : class - { - if (query == null) - { - throw new ArgumentNullException("query"); - } - - var pagingConfig = new PagingConfig(page, pageSize); - var skipCount = ValidatePagePropertiesAndGetSkipCount(pagingConfig); - var dataQuery = query; - - if (defaultSortExpression != null) - { - dataQuery = dataQuery - .SortBy(sortExpression, defaultSortExpression); - } - - var data = await dataQuery - .Skip(skipCount) - .Take(pagingConfig.PageSize) - .ToListAsync(); - - if (skipCount > 0 && data.Count == 0) - { - // Requested page has no records, just return the first page - pagingConfig.Page = 1; - data = await dataQuery - .Take(pagingConfig.PageSize) - .ToListAsync(); - } - - var count = await query.CountAsync(); - - var resultData = selector != null - ? data.Select(selector) - : data.Cast(); - - return new PagedList(resultData, pagingConfig.Page, pagingConfig.PageSize, count); - } - - private static int ValidatePagePropertiesAndGetSkipCount(PagingConfig pagingConfig) - { - if (pagingConfig.Page < 1) - { - pagingConfig.Page = 1; - } - - if (pagingConfig.PageSize < 10) - { - pagingConfig.PageSize = 10; - } - - if (pagingConfig.PageSize > 100) - { - pagingConfig.PageSize = 100; - } - - return pagingConfig.PageSize * (pagingConfig.Page - 1); - } - - internal class PagingConfig - { - public PagingConfig(int page, int pageSize) - { - Page = page; - PageSize = pageSize; - } - - public int Page { get; set; } - - public int PageSize { get; set; } - } - } -} diff --git a/samples/angular/MusicStore/Infrastructure/SortDirection.cs b/samples/angular/MusicStore/Infrastructure/SortDirection.cs deleted file mode 100644 index 28f7e86..0000000 --- a/samples/angular/MusicStore/Infrastructure/SortDirection.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -namespace MusicStore.Infrastructure -{ - public enum SortDirection - { - Ascending, - Descending - } -} diff --git a/samples/angular/MusicStore/Infrastructure/SortExpression.cs b/samples/angular/MusicStore/Infrastructure/SortExpression.cs deleted file mode 100644 index 88ba312..0000000 --- a/samples/angular/MusicStore/Infrastructure/SortExpression.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc.ViewFeatures.Internal; - -namespace MusicStore.Infrastructure -{ - public static class SortExpression - { - private const string SORT_DIRECTION_DESC = " DESC"; - - public static IQueryable SortBy(this IQueryable query, string sortExpression, Expression> defaultSortExpression, SortDirection defaultSortDirection = SortDirection.Ascending) where TModel : class - { - return SortBy(query, sortExpression ?? Create(defaultSortExpression, defaultSortDirection)); - } - - public static string Create(Expression> expression, SortDirection sortDirection = SortDirection.Ascending) where TModel : class - { - var expressionText = ExpressionHelper.GetExpressionText(expression); - // TODO: Validate the expression depth, etc. - - var sortExpression = expressionText; - - if (sortDirection == SortDirection.Descending) - { - sortExpression += SORT_DIRECTION_DESC; - } - - return sortExpression; - } - - public static IQueryable SortBy(this IQueryable source, string sortExpression) where T : class - { - if (source == null) - { - throw new ArgumentNullException("source"); - } - - if (String.IsNullOrWhiteSpace(sortExpression)) - { - return source; - } - - sortExpression = sortExpression.Trim(); - var isDescending = false; - - // DataSource control passes the sort parameter with a direction - // if the direction is descending - if (sortExpression.EndsWith(SORT_DIRECTION_DESC, StringComparison.OrdinalIgnoreCase)) - { - isDescending = true; - var descIndex = sortExpression.Length - SORT_DIRECTION_DESC.Length; - sortExpression = sortExpression.Substring(0, descIndex).Trim(); - } - - if (string.IsNullOrEmpty(sortExpression)) - { - return source; - } - - ParameterExpression parameter = Expression.Parameter(source.ElementType, String.Empty); - - // Build up the property expression, e.g.: (m => m.Foo.Bar) - var sortExpressionParts = sortExpression.Split('.'); - Expression propertyExpression = parameter; - foreach (var property in sortExpressionParts) - { - propertyExpression = Expression.Property(propertyExpression, property); - } - - LambdaExpression lambda = Expression.Lambda(propertyExpression, parameter); - - var methodName = (isDescending) ? "OrderByDescending" : "OrderBy"; - - Expression methodCallExpression = Expression.Call( - typeof(Queryable), - methodName, - new[] { source.ElementType, propertyExpression.Type }, - source.Expression, - Expression.Quote(lambda)); - - return (IQueryable)source.Provider.CreateQuery(methodCallExpression); - } - } -} diff --git a/samples/angular/MusicStore/MusicStore.csproj b/samples/angular/MusicStore/MusicStore.csproj deleted file mode 100644 index 8f81194..0000000 --- a/samples/angular/MusicStore/MusicStore.csproj +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - netcoreapp2.0 - true - false - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/angular/MusicStore/Startup.cs b/samples/angular/MusicStore/Startup.cs deleted file mode 100755 index ae1961f..0000000 --- a/samples/angular/MusicStore/Startup.cs +++ /dev/null @@ -1,103 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Identity.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.PlatformAbstractions; -using AutoMapper; -using MusicStore.Apis; -using MusicStore.Models; - -namespace MusicStore -{ - public class Startup - { - // This method gets called by the runtime. Use this method to add services to the container. - public void ConfigureServices(IServiceCollection services) - { - services.AddMvc().AddJsonOptions(options => - { - options.SerializerSettings.ContractResolver = null; - }); - - // Add EF services to the service container - services - .AddEntityFrameworkSqlite() - .AddDbContext(options => { - options.UseSqlite("Data Source=music-db.sqlite"); - }); - - // Add Identity services to the services container - services.AddIdentity() - .AddEntityFrameworkStores() - .AddDefaultTokenProviders(); - - // Configure Auth - services.Configure(options => - { - options.AddPolicy("app-ManageStore", new AuthorizationPolicyBuilder().RequireClaim("app-ManageStore", "Allowed").Build()); - }); - - Mapper.Initialize(cfg => - { - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - }); - } - - // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory, IHostingEnvironment env) - { - app.UseDeveloperExceptionPage(); - - // Initialize the sample data - SampleData.InitializeMusicStoreDatabaseAsync(app.ApplicationServices).Wait(); - - app.UseStaticFiles(); - loggerFactory.AddConsole(); - - // Add MVC to the request pipeline. - app.UseMvc(routes => - { - // Matches requests that correspond to an existent controller/action pair - routes.MapRoute( - name: "default", - template: "{controller=Home}/{action=Index}/{id?}"); - - // Matches any other request that doesn't appear to have a filename extension (defined as 'having a dot in the last URI segment'). - // This means you'll correctly get 404s for /some/dir/non-existent-image.png instead of returning the SPA HTML. - // However, it means requests like /customers/isaac.newton will *not* be mapped into the SPA, so if you need to accept - // URIs like that you'll need to match all URIs, e.g.: - // routes.MapRoute("spa-fallback", "{*anything}", new { controller = "Home", action = "Index" }); - // (which of course will match /customers/isaac.png too, so in that case it would serve the PNG image at that URL if one is on disk, - // or the SPA HTML if not). - routes.MapSpaFallbackRoute("spa-fallback", new { controller = "Home", action = "Index" }); - }); - } - - public static void Main(string[] args) - { - var host = new WebHostBuilder() - .UseContentRoot(Directory.GetCurrentDirectory()) - .UseIISIntegration() - .UseKestrel() - .UseStartup() - .Build(); - - host.Run(); - } - } -} diff --git a/samples/angular/MusicStore/Views/Home/Index.cshtml b/samples/angular/MusicStore/Views/Home/Index.cshtml deleted file mode 100755 index a2799f7..0000000 --- a/samples/angular/MusicStore/Views/Home/Index.cshtml +++ /dev/null @@ -1,23 +0,0 @@ -@{ - ViewData["Title"] = "Home Page"; -} - - - Loading... - @await Html.PrimeCacheAsync(Url.Action("GenreMenuList", "GenresApi")) - @await Html.PrimeCacheAsync(Url.Action("MostPopular", "AlbumsApi")) - - -@section scripts { - - - - - - - - - - - -} diff --git a/samples/angular/MusicStore/Views/Shared/Error.cshtml b/samples/angular/MusicStore/Views/Shared/Error.cshtml deleted file mode 100755 index 473b35d..0000000 --- a/samples/angular/MusicStore/Views/Shared/Error.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -@{ - ViewData["Title"] = "Error"; -} - -

Error.

-

An error occurred while processing your request.

diff --git a/samples/angular/MusicStore/Views/Shared/_Layout.cshtml b/samples/angular/MusicStore/Views/Shared/_Layout.cshtml deleted file mode 100755 index 562ccf8..0000000 --- a/samples/angular/MusicStore/Views/Shared/_Layout.cshtml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - Music Store - - - - - - - - - - - - - @RenderBody() - - - - - - - - - - - @RenderSection("scripts", required: false) - - diff --git a/samples/angular/MusicStore/Views/_ViewImports.cshtml b/samples/angular/MusicStore/Views/_ViewImports.cshtml deleted file mode 100755 index 3e7a43a..0000000 --- a/samples/angular/MusicStore/Views/_ViewImports.cshtml +++ /dev/null @@ -1,4 +0,0 @@ -@using MusicStore -@using Microsoft.AspNetCore.AngularServices -@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" -@addTagHelper "*, Microsoft.AspNetCore.SpaServices" diff --git a/samples/angular/MusicStore/Views/_ViewStart.cshtml b/samples/angular/MusicStore/Views/_ViewStart.cshtml deleted file mode 100755 index 820a2f6..0000000 --- a/samples/angular/MusicStore/Views/_ViewStart.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@{ - Layout = "_Layout"; -} diff --git a/samples/angular/MusicStore/gulpfile.js b/samples/angular/MusicStore/gulpfile.js deleted file mode 100755 index 215f993..0000000 --- a/samples/angular/MusicStore/gulpfile.js +++ /dev/null @@ -1,53 +0,0 @@ -/// - -"use strict"; - -var path = require('path'); -var gulp = require('gulp'); -var del = require('del'); -var typescript = require('gulp-typescript'); -var inlineNg2Template = require('gulp-inline-ng2-template'); -var sourcemaps = require('gulp-sourcemaps'); - -var webroot = "./wwwroot/"; - -var config = { - libBase: 'node_modules', - lib: [ - require.resolve('bootstrap/dist/css/bootstrap.css'), - path.dirname(require.resolve('bootstrap/dist/fonts/glyphicons-halflings-regular.woff')) + '/**', - require.resolve('angular2/bundles/angular2-polyfills.js'), - require.resolve('traceur/bin/traceur-runtime.js'), - require.resolve('es6-module-loader/dist/es6-module-loader-sans-promises.js'), - require.resolve('systemjs/dist/system.src.js'), - require.resolve('angular2/bundles/angular2.dev.js'), - require.resolve('angular2/bundles/router.dev.js'), - require.resolve('angular2/bundles/http.dev.js'), - require.resolve('angular2-aspnet/bundles/angular2-aspnet.js'), - require.resolve('jquery/dist/jquery.js'), - require.resolve('bootstrap/dist/js/bootstrap.js'), - require.resolve('rxjs/bundles/Rx.js') - ] -}; - -gulp.task('build.lib', function () { - return gulp.src(config.lib, { base: config.libBase }) - .pipe(gulp.dest(webroot + 'lib')); -}); - -gulp.task('build', ['build.lib'], function () { - var tsProject = typescript.createProject('./tsconfig.json', { typescript: require('typescript') }); - var tsSrcInlined = gulp.src([webroot + '**/*.ts', 'typings/**/*.d.ts'], { base: webroot }) - .pipe(inlineNg2Template({ base: webroot })); - return tsSrcInlined - .pipe(sourcemaps.init()) - .pipe(typescript(tsProject)) - .pipe(sourcemaps.write()) - .pipe(gulp.dest(webroot)); -}); - -gulp.task('clean', function () { - return del([webroot + 'lib']); -}); - -gulp.task('default', ['build']); diff --git a/samples/angular/MusicStore/package.json b/samples/angular/MusicStore/package.json deleted file mode 100644 index 9946fcb..0000000 --- a/samples/angular/MusicStore/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "MusicStore", - "version": "0.0.0", - "dependencies": { - "angular2": "2.0.0-beta.15", - "angular2-aspnet": "^0.0.6", - "angular2-universal": "0.98.1", - "angular2-express-engine": "0.11.1", - "angular2-hapi-engine": "0.11.1", - "aspnet-prerendering": "^1.0.1", - "bootstrap": "^3.3.5", - "css": "^2.2.1", - "es6-module-loader": "0.15.0", - "es6-shim": "^0.35.0", - "isomorphic-fetch": "^2.2.1", - "jquery": "^2.1.4", - "less": "^2.5.3", - "preboot": "2.0.5", - "rxjs": "5.0.0-beta.2", - "systemjs": "^0.19.3", - "traceur": "0.0.106", - "zone.js": "^0.6.10" - }, - "devDependencies": { - "del": "^2.0.2", - "gulp": "^3.9.0", - "gulp-inline-ng2-template": "0.0.7", - "gulp-sourcemaps": "^1.6.0", - "gulp-typescript": "^2.9.0", - "typescript": "^1.6.2" - } -} diff --git a/samples/angular/MusicStore/tsconfig.json b/samples/angular/MusicStore/tsconfig.json deleted file mode 100644 index a4c5eeb..0000000 --- a/samples/angular/MusicStore/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "sourceMap": false, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "noLib": false - }, - "exclude": [ - "node_modules" - ] -} diff --git a/samples/angular/MusicStore/tsd.json b/samples/angular/MusicStore/tsd.json deleted file mode 100644 index dc2f967..0000000 --- a/samples/angular/MusicStore/tsd.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "version": "v4", - "repo": "borisyankov/DefinitelyTyped", - "ref": "master", - "path": "typings", - "bundle": "typings/tsd.d.ts", - "installed": { - "es6-shim/es6-shim.d.ts": { - "commit": "ec9eb4b28c74665a602c22db3457f0a76fa0fa23" - } - } -} diff --git a/samples/angular/MusicStore/typings/es6-shim/es6-shim.d.ts b/samples/angular/MusicStore/typings/es6-shim/es6-shim.d.ts deleted file mode 100644 index 1c3df0e..0000000 --- a/samples/angular/MusicStore/typings/es6-shim/es6-shim.d.ts +++ /dev/null @@ -1,668 +0,0 @@ -// Type definitions for es6-shim v0.31.2 -// Project: https://github.com/paulmillr/es6-shim -// Definitions by: Ron Buckton -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -declare type PropertyKey = string | number | symbol; - -interface IteratorResult { - done: boolean; - value?: T; -} - -interface IterableShim { - /** - * Shim for an ES6 iterable. Not intended for direct use by user code. - */ - "_es6-shim iterator_"(): Iterator; -} - -interface Iterator { - next(value?: any): IteratorResult; - return?(value?: any): IteratorResult; - throw?(e?: any): IteratorResult; -} - -interface IterableIteratorShim extends IterableShim, Iterator { - /** - * Shim for an ES6 iterable iterator. Not intended for direct use by user code. - */ - "_es6-shim iterator_"(): IterableIteratorShim; -} - -interface StringConstructor { - /** - * Return the String value whose elements are, in order, the elements in the List elements. - * If length is 0, the empty string is returned. - */ - fromCodePoint(...codePoints: number[]): string; - - /** - * String.raw is intended for use as a tag function of a Tagged Template String. When called - * as such the first argument will be a well formed template call site object and the rest - * parameter will contain the substitution values. - * @param template A well-formed template string call site representation. - * @param substitutions A set of substitution values. - */ - raw(template: TemplateStringsArray, ...substitutions: any[]): string; -} - -interface String { - /** - * Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point - * value of the UTF-16 encoded code point starting at the string element at position pos in - * the String resulting from converting this object to a String. - * If there is no element at that position, the result is undefined. - * If a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos. - */ - codePointAt(pos: number): number; - - /** - * Returns true if searchString appears as a substring of the result of converting this - * object to a String, at one or more positions that are - * greater than or equal to position; otherwise, returns false. - * @param searchString search string - * @param position If position is undefined, 0 is assumed, so as to search all of the String. - */ - includes(searchString: string, position?: number): boolean; - - /** - * Returns true if the sequence of elements of searchString converted to a String is the - * same as the corresponding elements of this object (converted to a String) starting at - * endPosition – length(this). Otherwise returns false. - */ - endsWith(searchString: string, endPosition?: number): boolean; - - /** - * Returns a String value that is made from count copies appended together. If count is 0, - * T is the empty String is returned. - * @param count number of copies to append - */ - repeat(count: number): string; - - /** - * Returns true if the sequence of elements of searchString converted to a String is the - * same as the corresponding elements of this object (converted to a String) starting at - * position. Otherwise returns false. - */ - startsWith(searchString: string, position?: number): boolean; - - /** - * Returns an HTML anchor element and sets the name attribute to the text value - * @param name - */ - anchor(name: string): string; - - /** Returns a HTML element */ - big(): string; - - /** Returns a HTML element */ - blink(): string; - - /** Returns a HTML element */ - bold(): string; - - /** Returns a HTML element */ - fixed(): string - - /** Returns a HTML element and sets the color attribute value */ - fontcolor(color: string): string - - /** Returns a HTML element and sets the size attribute value */ - fontsize(size: number): string; - - /** Returns a HTML element and sets the size attribute value */ - fontsize(size: string): string; - - /** Returns an HTML element */ - italics(): string; - - /** Returns an HTML element and sets the href attribute value */ - link(url: string): string; - - /** Returns a HTML element */ - small(): string; - - /** Returns a HTML element */ - strike(): string; - - /** Returns a HTML element */ - sub(): string; - - /** Returns a HTML element */ - sup(): string; - - /** - * Shim for an ES6 iterable. Not intended for direct use by user code. - */ - "_es6-shim iterator_"(): IterableIteratorShim; -} - -interface ArrayConstructor { - /** - * Creates an array from an array-like object. - * @param arrayLike An array-like object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): Array; - - /** - * Creates an array from an iterable object. - * @param iterable An iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(iterable: IterableShim, mapfn: (v: T, k: number) => U, thisArg?: any): Array; - - /** - * Creates an array from an array-like object. - * @param arrayLike An array-like object to convert to an array. - */ - from(arrayLike: ArrayLike): Array; - - /** - * Creates an array from an iterable object. - * @param iterable An iterable object to convert to an array. - */ - from(iterable: IterableShim): Array; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: T[]): Array; -} - -interface Array { - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: T, index: number, obj: Array) => boolean, thisArg?: any): T; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: T) => boolean, thisArg?: any): number; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: T, start?: number, end?: number): T[]; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): T[]; - - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIteratorShim<[number, T]>; - - /** - * Returns an list of keys in the array - */ - keys(): IterableIteratorShim; - - /** - * Returns an list of values in the array - */ - values(): IterableIteratorShim; - - /** - * Shim for an ES6 iterable. Not intended for direct use by user code. - */ - "_es6-shim iterator_"(): IterableIteratorShim; -} - -interface NumberConstructor { - /** - * The value of Number.EPSILON is the difference between 1 and the smallest value greater than 1 - * that is representable as a Number value, which is approximately: - * 2.2204460492503130808472633361816 x 10‍−‍16. - */ - EPSILON: number; - - /** - * Returns true if passed value is finite. - * Unlike the global isFininte, Number.isFinite doesn't forcibly convert the parameter to a - * number. Only finite values of the type number, result in true. - * @param number A numeric value. - */ - isFinite(number: number): boolean; - - /** - * Returns true if the value passed is an integer, false otherwise. - * @param number A numeric value. - */ - isInteger(number: number): boolean; - - /** - * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a - * number). Unlike the global isNaN(), Number.isNaN() doesn't forcefully convert the parameter - * to a number. Only values of the type number, that are also NaN, result in true. - * @param number A numeric value. - */ - isNaN(number: number): boolean; - - /** - * Returns true if the value passed is a safe integer. - * @param number A numeric value. - */ - isSafeInteger(number: number): boolean; - - /** - * The value of the largest integer n such that n and n + 1 are both exactly representable as - * a Number value. - * The value of Number.MIN_SAFE_INTEGER is 9007199254740991 2^53 − 1. - */ - MAX_SAFE_INTEGER: number; - - /** - * The value of the smallest integer n such that n and n − 1 are both exactly representable as - * a Number value. - * The value of Number.MIN_SAFE_INTEGER is −9007199254740991 (−(2^53 − 1)). - */ - MIN_SAFE_INTEGER: number; - - /** - * Converts a string to a floating-point number. - * @param string A string that contains a floating-point number. - */ - parseFloat(string: string): number; - - /** - * Converts A string to an integer. - * @param s A string to convert into a number. - * @param radix A value between 2 and 36 that specifies the base of the number in numString. - * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. - * All other strings are considered decimal. - */ - parseInt(string: string, radix?: number): number; -} - -interface ObjectConstructor { - /** - * Copy the values of all of the enumerable own properties from one or more source objects to a - * target object. Returns the target object. - * @param target The target object to copy to. - * @param sources One or more source objects to copy properties from. - */ - assign(target: any, ...sources: any[]): any; - - /** - * Returns true if the values are the same value, false otherwise. - * @param value1 The first value. - * @param value2 The second value. - */ - is(value1: any, value2: any): boolean; - - /** - * Sets the prototype of a specified object o to object proto or null. Returns the object o. - * @param o The object to change its prototype. - * @param proto The value of the new prototype or null. - * @remarks Requires `__proto__` support. - */ - setPrototypeOf(o: any, proto: any): any; -} - -interface RegExp { - /** - * Returns a string indicating the flags of the regular expression in question. This field is read-only. - * The characters in this string are sequenced and concatenated in the following order: - * - * - "g" for global - * - "i" for ignoreCase - * - "m" for multiline - * - "u" for unicode - * - "y" for sticky - * - * If no flags are set, the value is the empty string. - */ - flags: string; -} - -interface Math { - /** - * Returns the number of leading zero bits in the 32-bit binary representation of a number. - * @param x A numeric expression. - */ - clz32(x: number): number; - - /** - * Returns the result of 32-bit multiplication of two numbers. - * @param x First number - * @param y Second number - */ - imul(x: number, y: number): number; - - /** - * Returns the sign of the x, indicating whether x is positive, negative or zero. - * @param x The numeric expression to test - */ - sign(x: number): number; - - /** - * Returns the base 10 logarithm of a number. - * @param x A numeric expression. - */ - log10(x: number): number; - - /** - * Returns the base 2 logarithm of a number. - * @param x A numeric expression. - */ - log2(x: number): number; - - /** - * Returns the natural logarithm of 1 + x. - * @param x A numeric expression. - */ - log1p(x: number): number; - - /** - * Returns the result of (e^x - 1) of x (e raised to the power of x, where e is the base of - * the natural logarithms). - * @param x A numeric expression. - */ - expm1(x: number): number; - - /** - * Returns the hyperbolic cosine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - cosh(x: number): number; - - /** - * Returns the hyperbolic sine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - sinh(x: number): number; - - /** - * Returns the hyperbolic tangent of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - tanh(x: number): number; - - /** - * Returns the inverse hyperbolic cosine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - acosh(x: number): number; - - /** - * Returns the inverse hyperbolic sine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - asinh(x: number): number; - - /** - * Returns the inverse hyperbolic tangent of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - atanh(x: number): number; - - /** - * Returns the square root of the sum of squares of its arguments. - * @param values Values to compute the square root for. - * If no arguments are passed, the result is +0. - * If there is only one argument, the result is the absolute value. - * If any argument is +Infinity or -Infinity, the result is +Infinity. - * If any argument is NaN, the result is NaN. - * If all arguments are either +0 or −0, the result is +0. - */ - hypot(...values: number[]): number; - - /** - * Returns the integral part of the a numeric expression, x, removing any fractional digits. - * If x is already an integer, the result is x. - * @param x A numeric expression. - */ - trunc(x: number): number; - - /** - * Returns the nearest single precision float representation of a number. - * @param x A numeric expression. - */ - fround(x: number): number; - - /** - * Returns an implementation-dependent approximation to the cube root of number. - * @param x A numeric expression. - */ - cbrt(x: number): number; -} - -interface PromiseLike { - /** - * Attaches callbacks for the resolution and/or rejection of the Promise. - * @param onfulfilled The callback to execute when the Promise is resolved. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of which ever callback is executed. - */ - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): PromiseLike; - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => void): PromiseLike; -} - -/** - * Represents the completion of an asynchronous operation - */ -interface Promise { - /** - * Attaches callbacks for the resolution and/or rejection of the Promise. - * @param onfulfilled The callback to execute when the Promise is resolved. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of which ever callback is executed. - */ - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): Promise; - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => void): Promise; - - /** - * Attaches a callback for only the rejection of the Promise. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of the callback. - */ - catch(onrejected?: (reason: any) => T | PromiseLike): Promise; - catch(onrejected?: (reason: any) => void): Promise; -} - -interface PromiseConstructor { - /** - * A reference to the prototype. - */ - prototype: Promise; - - /** - * Creates a new Promise. - * @param executor A callback used to initialize the promise. This callback is passed two arguments: - * a resolve callback used resolve the promise with a value or the result of another promise, - * and a reject callback used to reject the promise with a provided reason or error. - */ - new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void): Promise; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: IterableShim>): Promise; - - /** - * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved - * or rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - race(values: IterableShim>): Promise; - - /** - * Creates a new rejected promise for the provided reason. - * @param reason The reason the promise was rejected. - * @returns A new rejected Promise. - */ - reject(reason: any): Promise; - - /** - * Creates a new rejected promise for the provided reason. - * @param reason The reason the promise was rejected. - * @returns A new rejected Promise. - */ - reject(reason: any): Promise; - - /** - * Creates a new resolved promise for the provided value. - * @param value A promise. - * @returns A promise whose internal state matches the provided promise. - */ - resolve(value: T | PromiseLike): Promise; - - /** - * Creates a new resolved promise . - * @returns A resolved promise. - */ - resolve(): Promise; -} - -declare var Promise: PromiseConstructor; - -interface Map { - clear(): void; - delete(key: K): boolean; - forEach(callbackfn: (value: V, index: K, map: Map) => void, thisArg?: any): void; - get(key: K): V; - has(key: K): boolean; - set(key: K, value?: V): Map; - size: number; - entries(): IterableIteratorShim<[K, V]>; - keys(): IterableIteratorShim; - values(): IterableIteratorShim; -} - -interface MapConstructor { - new (): Map; - new (iterable: IterableShim<[K, V]>): Map; - prototype: Map; -} - -declare var Map: MapConstructor; - -interface Set { - add(value: T): Set; - clear(): void; - delete(value: T): boolean; - forEach(callbackfn: (value: T, index: T, set: Set) => void, thisArg?: any): void; - has(value: T): boolean; - size: number; - entries(): IterableIteratorShim<[T, T]>; - keys(): IterableIteratorShim; - values(): IterableIteratorShim; -} - -interface SetConstructor { - new (): Set; - new (iterable: IterableShim): Set; - prototype: Set; -} - -declare var Set: SetConstructor; - -interface WeakMap { - delete(key: K): boolean; - get(key: K): V; - has(key: K): boolean; - set(key: K, value?: V): WeakMap; -} - -interface WeakMapConstructor { - new (): WeakMap; - new (iterable: IterableShim<[K, V]>): WeakMap; - prototype: WeakMap; -} - -declare var WeakMap: WeakMapConstructor; - -interface WeakSet { - add(value: T): WeakSet; - delete(value: T): boolean; - has(value: T): boolean; -} - -interface WeakSetConstructor { - new (): WeakSet; - new (iterable: IterableShim): WeakSet; - prototype: WeakSet; -} - -declare var WeakSet: WeakSetConstructor; - -declare namespace Reflect { - function apply(target: Function, thisArgument: any, argumentsList: ArrayLike): any; - function construct(target: Function, argumentsList: ArrayLike): any; - function defineProperty(target: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean; - function deleteProperty(target: any, propertyKey: PropertyKey): boolean; - function enumerate(target: any): IterableIteratorShim; - function get(target: any, propertyKey: PropertyKey, receiver?: any): any; - function getOwnPropertyDescriptor(target: any, propertyKey: PropertyKey): PropertyDescriptor; - function getPrototypeOf(target: any): any; - function has(target: any, propertyKey: PropertyKey): boolean; - function isExtensible(target: any): boolean; - function ownKeys(target: any): Array; - function preventExtensions(target: any): boolean; - function set(target: any, propertyKey: PropertyKey, value: any, receiver?: any): boolean; - function setPrototypeOf(target: any, proto: any): boolean; -} - -declare module "es6-shim" { - var String: StringConstructor; - var Array: ArrayConstructor; - var Number: NumberConstructor; - var Math: Math; - var Object: ObjectConstructor; - var Map: MapConstructor; - var Set: SetConstructor; - var WeakMap: WeakMapConstructor; - var WeakSet: WeakSetConstructor; - var Promise: PromiseConstructor; - namespace Reflect { - function apply(target: Function, thisArgument: any, argumentsList: ArrayLike): any; - function construct(target: Function, argumentsList: ArrayLike): any; - function defineProperty(target: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean; - function deleteProperty(target: any, propertyKey: PropertyKey): boolean; - function enumerate(target: any): Iterator; - function get(target: any, propertyKey: PropertyKey, receiver?: any): any; - function getOwnPropertyDescriptor(target: any, propertyKey: PropertyKey): PropertyDescriptor; - function getPrototypeOf(target: any): any; - function has(target: any, propertyKey: PropertyKey): boolean; - function isExtensible(target: any): boolean; - function ownKeys(target: any): Array; - function preventExtensions(target: any): boolean; - function set(target: any, propertyKey: PropertyKey, value: any, receiver?: any): boolean; - function setPrototypeOf(target: any, proto: any): boolean; - } -} diff --git a/samples/angular/MusicStore/typings/tsd.d.ts b/samples/angular/MusicStore/typings/tsd.d.ts deleted file mode 100644 index 8b614f9..0000000 --- a/samples/angular/MusicStore/typings/tsd.d.ts +++ /dev/null @@ -1,2 +0,0 @@ - -/// diff --git a/samples/angular/MusicStore/typings/url-workaround.d.ts b/samples/angular/MusicStore/typings/url-workaround.d.ts deleted file mode 100644 index 9d16760..0000000 --- a/samples/angular/MusicStore/typings/url-workaround.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -// This file is a workaround for angular2-universal-preview version 0.84.2 relying on the declaration of -// Node's 'url' module. Ideally it would not declare dependencies on Node APIs except where it also supplies -// the definitions itself. - -declare module 'url' { - export interface Url {} -} diff --git a/samples/angular/MusicStore/wwwroot/css/site.css b/samples/angular/MusicStore/wwwroot/css/site.css deleted file mode 100644 index 952e03f..0000000 --- a/samples/angular/MusicStore/wwwroot/css/site.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - padding-top: 50px; -} diff --git a/samples/angular/MusicStore/wwwroot/css/styles.less b/samples/angular/MusicStore/wwwroot/css/styles.less deleted file mode 100644 index 564f8f4..0000000 --- a/samples/angular/MusicStore/wwwroot/css/styles.less +++ /dev/null @@ -1,14 +0,0 @@ -@base: #f938ab; - -.box-shadow(@style, @c) when (iscolor(@c)) { - -webkit-box-shadow: @style @c; - box-shadow: @style @c; -} -.box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) { - .box-shadow(@style, rgba(0, 0, 0, @alpha)); -} -.box { - color: saturate(@base, 5%); - border-color: lighten(@base, 30%); - div { .box-shadow(0 0 5px, 30%) } -} diff --git a/samples/angular/MusicStore/wwwroot/images/home-showcase.png b/samples/angular/MusicStore/wwwroot/images/home-showcase.png deleted file mode 100644 index 258c19d3cd29d8e94fc95877682f45f3190dcb72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254130 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 diff --git a/samples/angular/MusicStore/wwwroot/images/logo.png b/samples/angular/MusicStore/wwwroot/images/logo.png deleted file mode 100644 index d334c8625625b78836bb729ed9b7a10fa04bb702..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2963 zcmV;E3vBd>P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGh)&Kwv)&Y=jd7JeSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+$tiu~XJ01E?2L_t(&L+zVotW?_-#~<$Q?)q?d_eZ(7 zy9ReBxD(tV5Ik6b;_!jskCGB7B}n@PQVQV%eK!rEEw;LTJF_QehM76%TyDdC%{$4; zFn6}B_20|);fEiR){|b@X|6O`>5kIhl-?DR5vz1mT zO;YNqR6{AZ5?UDP!9<%WJ@5*sj*|=-GDwFG9c0p^NwR+ZdO3aiv>ZQvTxQRnE#=FX zmy{_}IsyKx&iP#o9#ZRX1(g~q^;en|kYTER_ExH+lvgRGKWO}qPNh@YD(zSLOAJ8% zrN0qKRw2IxqJ7n(c%IH3OLvNhpyi}Y<~{AiPBCb z+{MQzJbci<pLr2$(b{!EL^xyZrr#bJ$v?)6e&_ze#jO85in~h{a%Sf_j;hnz#7|? zDkK)N8FZmhN-;GH(`(S6fmE(sSqc^`DCyFrb29x&=igWQN$C$h1PT#6OO`A$ZrnK8 zvSo{$I(16UpFb~a*RGX1b?TV?EDvYTo|VayCrjqcneF^P>7KYK(lbDc2q^Pw)v6^` zs#KA}g$qmi^y$rk1;#Uvbz->`PneT4E?4@u8xSzmzkh$3Idi70S+hnqZro@zCUxr6 zP60m063T54=kKXfr80hW!h{J%J9qEiEyar$H+$vJpI;6iJ}gU@E_G_Gt7fuh=gysF z#*7)VYSk*)ym_(@^*X3QAwQt-J6^0k=!QZIlyh2>;n4s#qZV1R7fwoTf$Z5s}* ztALRJ&XFUB@t+G8EReXkI4N4Rs3cFGTyP5`M~;-6H*ZRh9zBf4=FXj4_U_#))22=H z1uXko8L*6Ay?V*kty`sQ*RGN#O&ZI0ypHSSNi7|Nh|Y0J_(M+sz)1V{?M>hySdi-Q zw?c&qnUlvYcwH;nIE1QJt(pN2v&RKYoH)_A8^CSVs+DmG!-o$yK$b3DS}tF{EX|rV z^RzdI!Pv%)8%vQQMT|>9hJ5+*$<(P+O)8f?dv?3lBjvNIA7JzAV0@q_X6(2&ZQ2-t zmMvQ*%a<=Vc_hCfFywbV=Xm^Eg$fnSA=$s@&70R~?wK=Zj9&$SiWMu$ojZ4ob?_aK z03XY7+n<9VE({wsOqMKJBCA)gmU{K-8Q%E~SAbh^1i@ooLB;IJ*`hjhH|Fr8rAn2O zMT-{6m@#7_CFrgKvIpjefQJqpGQb@?c+ljfCr_R<(4jD4U8C+cXK@;oNt!rf1zJ0qi zYSbv`x(K?XMvXGc!l9BU2lypTEA9sB#)JTB=ddY(YQ>5b(zI#Qpdeu-WK;n$JA5*E zrXxo*X%fMX0OI^R0^$zHEzwwfA+860oa6k+#JpU&av6euJXTQs^t72zG6NB`|TI))hE{lv4(B`Iryt>}o1@3@7>G z#S7v2@Zp2(-@iWyBrbsZ+|POg2M#o#**W;k_wV1E_3iWd^JkemcW!VDhl+podT`f= zghpGbZu|&l#{%N6UAs)Q=Wm$dEI49*y}HKmml5<>=9)!917XL-~8_)-8Gc`n5cG@W5!Y4S+ToA3b`suM`SC z>8MeK;dTJAM2Qk69rP&!m8WY;6{mx~O8(IX%0a6MB;M=RtuqO>&E33eNu+UrV|%bv zW+zUZ_{y9kMR(GzJ$v?;9M$js@J)M=_MvUc_+2C5E?txVV3~?GVCHOu7UFv-Lv7+q zfS_ke#73JEz))~byLRnNNs2jQ3Dc)fH~A_-E0X3A@o8AoEU^L0%l>GhEoB*R@4aw2 zwD-KM5jMtCnHp@U(5IwvVe4j0oZcd(oYQ~V{-a-pSck-&`Lxt%G?S;YHbje$%RL0{ z-o3j4kJcjXKAJ0=Hf;*&T6x(Y?X+o|Q}f}$ryu12JU3JbR>9U^)v8sE69-_J=94Bd zK9ve8!WD7M(7A;yBZ7EZxjA6`1f7*JKht%8n!6+qM2*_yM zh7B9cSk`XYvZZO$(GTT2mw9Lsnn<(Q9srmU!UMXV9uN<+qr zwg<-eZc+nm$aM+=q9p+AG!p^@LCb5f!Z%~mbf9eWnl$Xnl`Fx6VNI$k5_$p_SI-0_ zf{72IzZwgOxG!3HP8s+&YtujVxPH8j^L?EHs5~JTf0!Z-TcSQSIlk6sC&*mu4lG@i)3bXeHGVCW%$B7rqv4@_B$xt;1C3 zD48p2_Cqt#Sa_#*%Jt9q@#ACdk!V-c7TAa{Qy?VTi{K?omW*`bQD3HDF4fc3t5?lc zhc!oA>EN$%6KFK|_*|)QkRHv`IgS@6S}H|+nZgE0`UV8f2nY8+d6~ij%V(m$_Jbdz zZASu+3kU~|h6g4}l=hR42G&W^ul+cI<==_=f*NTSX%ZTVzvf00SK!mvg&)YT<^{EI zaKH6?$g7lO5R{DEPvI80IiL)t+Tyw-?B%m)uHaYuD&@C=>6{<&rC&PlL}!W&g5i-P zM@&BK;!}Tn={M|TqQ0Jv8z6U$(lq%+*ZJ-BbQd-Mzxa<7{{{Ete2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR48ZW?|$fB%2S`uZt1wr;lH<}z>ngu{oO)1J!-^}2Pm9F~!joA)%v zH*~qz-Z1Ow$=*+Xa^1XN?`0yTHq&QL)O(B2va+%jVcAQ9nj^v*f>!eE5b6H?<8R%i zmm<>A^+Btzd-5+e@SW_m(8J)y(Rc6UrsW!1Okk#Y_z#{L^XoYdT)SrW^N;_HZD(J-vbtYue|Y2L0KMry ze_rHbSiL%1M@KJl2HVj`!D;E@aaHGM&WzM@KR(4PRZML9o<6-<&lRSn7QVlieq-Cw z>-TF;zq=>LaPuP1#DW=7YyB2Rm<=uL=L9f7-m{={hF-4}YQb=+CmY)0X(~CYiGgPfBNscsI zmRa<=`TI$I-DD}YlZ`61wc&gF^rt;n`1?2T-MznGmVUkYM&st27b{C&maN(-!}V2& ztJggK{=bY(Ti0%%e(}tSmHW^3Y>87BDirG6aed-_j$gj9Gs1r@tDB~#R&=(1>uDb! zf!o{SzH=zOaG!>p#usBx`h!aN<%>d5ZSDT^*?rurFBd;6zFl)=rro~VyZz+u-z^jP k`u{>TO14FI`+tUWXGJdYoeKH`EOHn;UHx3vIVCg!0BIX0 { - const serverBindings = [ - ngCore.provide(BASE_URL, { useValue: '/' }), - ngCore.provide(ORIGIN_URL, { useValue: params.origin }), - ngCore.provide(REQUEST_URL, { useValue: params.url }), - ngUniversal.NODE_HTTP_PROVIDERS, - ngUniversal.NODE_ROUTER_PROVIDERS, - FormBuilder - ]; - - return ngUniversal.bootloader({ - directives: [App], - providers: serverBindings, - async: true, - preboot: false, - // TODO: Render just the component instead of wrapping it inside an extra HTML document - // Waiting on https://github.com/angular/universal/issues/347 - template: '\n' - }).serializeApplication().then(html => { - return { html }; - }); -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/admin-home/admin-home.html b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/admin-home/admin-home.html deleted file mode 100644 index 79e4fcd..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/admin-home/admin-home.html +++ /dev/null @@ -1,3 +0,0 @@ -

Store Manager

- - diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/admin-home/admin-home.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/admin-home/admin-home.ts deleted file mode 100644 index 47a501a..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/admin-home/admin-home.ts +++ /dev/null @@ -1,19 +0,0 @@ -import * as ng from 'angular2/core'; -import * as router from 'angular2/router'; -import { AlbumsList } from '../albums-list/albums-list'; -import { AlbumDetails } from '../album-details/album-details'; -import { AlbumEdit } from '../album-edit/album-edit'; - -@ng.Component({ - selector: 'admin-home', - templateUrl: './ng-app/components/admin/admin-home/admin-home.html', - directives: [router.ROUTER_DIRECTIVES] -}) -@router.RouteConfig([ - { path: 'albums', name: 'Albums', component: AlbumsList }, - { path: 'album/details/:albumId', name: 'AlbumDetails', component: AlbumDetails }, - { path: 'album/edit/:albumId', name: 'AlbumEdit', component: AlbumEdit } -]) -export class AdminHome { - -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-delete-prompt/album-delete-prompt.html b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-delete-prompt/album-delete-prompt.html deleted file mode 100644 index 2f6b0ba..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-delete-prompt/album-delete-prompt.html +++ /dev/null @@ -1,17 +0,0 @@ - diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-delete-prompt/album-delete-prompt.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-delete-prompt/album-delete-prompt.ts deleted file mode 100644 index 9ad6674..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-delete-prompt/album-delete-prompt.ts +++ /dev/null @@ -1,20 +0,0 @@ -import * as ng from 'angular2/core'; -import * as models from '../../../models/models'; - -@ng.Component({ - selector: 'album-delete-prompt', - templateUrl: './ng-app/components/admin/album-delete-prompt/album-delete-prompt.html' -}) -export class AlbumDeletePrompt { - public album: models.Album; - - constructor(@ng.Inject(ng.ElementRef) private _elementRef: ng.ElementRef) { - } - - public show(album: models.Album) { - this.album = album; - - // Consider rewriting this using Angular's "Renderer" API so as to avoid direct DOM access - (window).jQuery(".modal", this._elementRef.nativeElement).modal(); - } -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-details/album-details.html b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-details/album-details.html deleted file mode 100644 index a13e0d1..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-details/album-details.html +++ /dev/null @@ -1,50 +0,0 @@ -

Album Details

-
- -
-
- -
-

{{ albumData.Artist.Name }}

-
-
-
- -
-

{{ albumData.Genre.Name }}

-
-
-
- -
-

{{ albumData.Title }}

-
-
-
- -
-

{{ albumData.Price | currency:'USD':true }}

-
-
-
- -
-

{{ albumData.AlbumArtUrl }}

-
-
-
- -
- {{ albumData.Title }} -
-
-
-
- Edit - - Back to List -
-
-
- - diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-details/album-details.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-details/album-details.ts deleted file mode 100644 index 05ac4da..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-details/album-details.ts +++ /dev/null @@ -1,20 +0,0 @@ -import * as ng from 'angular2/core'; -import * as router from 'angular2/router'; -import * as models from '../../../models/models'; -import { Http, HTTP_BINDINGS } from 'angular2/http'; -import { AlbumDeletePrompt } from '../album-delete-prompt/album-delete-prompt'; - -@ng.Component({ - selector: 'album-details', - templateUrl: './ng-app/components/admin/album-details/album-details.html', - directives: [router.ROUTER_DIRECTIVES, AlbumDeletePrompt] -}) -export class AlbumDetails { - public albumData: models.Album; - - constructor(http: Http, routeParam: router.RouteParams) { - http.get('/api/albums/' + routeParam.params['albumId']).subscribe(result => { - this.albumData = result.json(); - }); - } -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-edit/album-edit.html b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-edit/album-edit.html deleted file mode 100644 index 3b09db1..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-edit/album-edit.html +++ /dev/null @@ -1,47 +0,0 @@ -

Album Edit

-
- -
- - - - - - - - - - - - - -
- $ - -
-
- - - - - - - - - - -
Done! Your changes were saved.
-
{{ errorMessage }}
- - - Back to List -
-
- - diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-edit/album-edit.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-edit/album-edit.ts deleted file mode 100644 index 4b83c3b..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/album-edit/album-edit.ts +++ /dev/null @@ -1,94 +0,0 @@ -import * as ng from 'angular2/core'; -import { Observable } from 'rxjs'; -import { Control, ControlGroup, FormBuilder, Validators, FORM_DIRECTIVES } from 'angular2/common'; -import * as router from 'angular2/router'; -import * as models from '../../../models/models'; -import { Http, HTTP_BINDINGS, Headers, Response } from 'angular2/http'; -import { AlbumDeletePrompt } from '../album-delete-prompt/album-delete-prompt'; -import { FormField } from '../form-field/form-field'; -import * as AspNet from 'angular2-aspnet'; - -@ng.Component({ - selector: 'album-edit', - templateUrl: './ng-app/components/admin/album-edit/album-edit.html', - directives: [router.ROUTER_DIRECTIVES, AlbumDeletePrompt, FormField, FORM_DIRECTIVES] -}) -export class AlbumEdit { - public form: ControlGroup; - public artists: models.Artist[]; - public genres: models.Genre[]; - public originalAlbum: models.Album; - public changesSaved: boolean; - public formErrors: string[] = []; - - private _http: Http; - - constructor(fb: FormBuilder, http: Http, routeParam: router.RouteParams) { - this._http = http; - - var albumId = parseInt(routeParam.params['albumId']); - http.get('/api/albums/' + albumId).subscribe(result => { - var json = result.json(); - this.originalAlbum = json; - (this.form.controls['Title']).updateValue(json.Title); - (this.form.controls['Price']).updateValue(json.Price); - (this.form.controls['ArtistId']).updateValue(json.ArtistId); - (this.form.controls['GenreId']).updateValue(json.GenreId); - (this.form.controls['AlbumArtUrl']).updateValue(json.AlbumArtUrl); - }); - - http.get('/api/artists/lookup').subscribe(result => { - this.artists = result.json(); - }); - - http.get('/api/genres/genre-lookup').subscribe(result => { - this.genres = result.json(); - }); - - this.form = fb.group({ - AlbumId: fb.control(albumId), - ArtistId: fb.control(0, Validators.required), - GenreId: fb.control(0, Validators.required), - Title: fb.control('', Validators.required), - Price: fb.control('', Validators.compose([Validators.required, AlbumEdit._validatePrice])), - AlbumArtUrl: fb.control('', Validators.required) - }); - - this.form.valueChanges.subscribe(() => { - this.changesSaved = false; - }); - } - - public onSubmitModelBased() { - // Force all fields to show any validation errors even if they haven't been touched - Object.keys(this.form.controls).forEach(controlName => { - this.form.controls[controlName].markAsTouched(); - }); - - if (this.form.valid) { - var controls = this.form.controls; - var albumId = this.originalAlbum.AlbumId; - - this._putJson(`/api/albums/${ albumId }/update`, this.form.value).subscribe(successResponse => { - this.changesSaved = true; - }, errorResponse => { - AspNet.Validation.showValidationErrors(errorResponse, this.form); - }); - } - } - - private static _validatePrice(control: Control): { [key: string]: boolean } { - return /^\d+\.\d+$/.test(control.value) ? null : { Price: true }; - } - - // Need feedback on whether this really is the easiest way to PUT some JSON - private _putJson(url: string, body: any): Observable { - return this._http.put(url, JSON.stringify(body), { - headers: new Headers({ 'Content-Type': 'application/json' }) - }); - } - - private ngDoCheck() { - this.formErrors = this.form.dirty ? Object.keys(this.form.errors || {}) : []; - } -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/albums-list/albums-list.html b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/albums-list/albums-list.html deleted file mode 100644 index 51889e7..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/albums-list/albums-list.html +++ /dev/null @@ -1,44 +0,0 @@ -

Albums

- - - - - - - - - - - - - - - - - - - - - - -
GenreArtistTitlePrice
{{ row.Genre.Name }}{{ row.Artist.Name }}{{ row.Title }}{{ row.Price | currency:'USD':true }} -
- Details - Edit - Delete -
-
- -
- - - - - -
- -

{{ totalCount }} total albums

diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/albums-list/albums-list.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/albums-list/albums-list.ts deleted file mode 100644 index 989d6e9..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/albums-list/albums-list.ts +++ /dev/null @@ -1,68 +0,0 @@ -import * as ng from 'angular2/core'; -import * as router from 'angular2/router'; -import { Http, HTTP_BINDINGS } from 'angular2/http'; -import * as models from '../../../models/models'; -import { AlbumDeletePrompt } from '../album-delete-prompt/album-delete-prompt'; - -@ng.Component({ - selector: 'albums-list', - templateUrl: './ng-app/components/admin/albums-list/albums-list.html', - directives: [router.ROUTER_DIRECTIVES, AlbumDeletePrompt] -}) -export class AlbumsList { - public rows: models.Album[]; - public canGoBack: boolean; - public canGoForward: boolean; - public pageLinks: any[]; - public totalCount: number; - public get pageIndex() { - return this._pageIndex; - } - - private _http: Http; - private _pageIndex = 1; - private _sortBy = "Title"; - private _sortByDesc = false; - - constructor(http: Http) { - this._http = http; - this.refreshData(); - } - - public sortBy(col: string) { - this._sortByDesc = col === this._sortBy ? !this._sortByDesc : false; - this._sortBy = col; - this.refreshData(); - } - - public goToPage(pageIndex: number) { - this._pageIndex = pageIndex; - this.refreshData(); - } - - public goToLast() { - this.goToPage(this.pageLinks[this.pageLinks.length - 1].index); - } - - refreshData() { - var sortBy = this._sortBy + (this._sortByDesc ? ' DESC' : ''); - this._http.get(`/api/albums?page=${ this._pageIndex }&pageSize=50&sortBy=${ sortBy }`).subscribe(result => { - var json = result.json(); - this.rows = json.Data; - - var numPages = Math.ceil(json.TotalCount / json.PageSize); - this.pageLinks = []; - for (var i = 1; i <= numPages; i++) { - this.pageLinks.push({ - index: i, - text: i.toString(), - isCurrent: i === json.Page - }); - } - - this.canGoBack = this.pageLinks.length && !this.pageLinks[0].isCurrent; - this.canGoForward = this.pageLinks.length && !this.pageLinks[this.pageLinks.length - 1].isCurrent; - this.totalCount = json.TotalCount; - }); - } -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/form-field/form-field.html b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/form-field/form-field.html deleted file mode 100644 index 82e773b..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/form-field/form-field.html +++ /dev/null @@ -1,9 +0,0 @@ -
- -
- - -
-
diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/form-field/form-field.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/admin/form-field/form-field.ts deleted file mode 100644 index 267d778..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/admin/form-field/form-field.ts +++ /dev/null @@ -1,19 +0,0 @@ -import * as ng from 'angular2/core'; -import { AbstractControl } from 'angular2/common'; - -@ng.Component({ - selector: 'form-field', - properties: ['label', 'validate'], - templateUrl: './ng-app/components/admin/form-field/form-field.html' -}) -export class FormField { - public errorMessages: string[] = []; - private validate: AbstractControl; - - private ngDoCheck() { - var errors = (this.validate && this.validate.dirty && this.validate.errors) || {}; - this.errorMessages = Object.keys(errors).map(key => { - return 'Error: ' + key; - }); - } -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/app/app.css b/samples/angular/MusicStore/wwwroot/ng-app/components/app/app.css deleted file mode 100644 index e69de29..0000000 diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/app/app.html b/samples/angular/MusicStore/wwwroot/ng-app/components/app/app.html deleted file mode 100644 index a257b20..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/app/app.html +++ /dev/null @@ -1,30 +0,0 @@ - -
- -
diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/app/app.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/app/app.ts deleted file mode 100644 index cd83aa4..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/app/app.ts +++ /dev/null @@ -1,33 +0,0 @@ -import * as ng from 'angular2/core'; -import * as router from 'angular2/router'; -import { Http, HTTP_BINDINGS } from 'angular2/http'; -import { Home } from '../public/home/home'; -import { AlbumDetails } from '../public/album-details/album-details'; -import { GenreContents } from '../public/genre-contents/genre-contents'; -import { GenresList } from '../public/genres-list/genres-list'; -import { AdminHome } from '../admin/admin-home/admin-home'; -import * as models from '../../models/models'; - -@ng.Component({ - selector: 'app', - templateUrl: './ng-app/components/app/app.html', - styleUrls: ['./ng-app/components/app/app.css'], - directives: [router.ROUTER_DIRECTIVES] -}) -@router.RouteConfig([ - { path: '/', component: Home, name: 'Home' }, - { path: '/album/:albumId', component: AlbumDetails, name: 'Album' }, - { path: '/genre/:genreId', component: GenreContents, name: 'Genre' }, - { path: '/genres', component: GenresList, name: 'GenresList' }, - { path: '/admin/...', component: AdminHome, name: 'Admin' } -]) -export class App { - public genres: models.Genre[]; - - constructor(http: Http) { - http.get('/api/genres/menu').subscribe(result => { - this.genres = result.json(); - }); - } -} - diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-details/album-details.html b/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-details/album-details.html deleted file mode 100644 index d015364..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-details/album-details.html +++ /dev/null @@ -1,26 +0,0 @@ -
-

{{ albumData.Title }}

- -

- {{ albumData.Title }} -

- -
-

- Genre: - {{ albumData.Genre.Name }} -

-

- Artist: - {{ albumData.Artist.Name }} -

-

- Price: - {{ albumData.Price | currency:'USD':true }} -

-

- - Add to cart -

-
-
diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-details/album-details.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-details/album-details.ts deleted file mode 100644 index 61d7d4e..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-details/album-details.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as ng from 'angular2/core'; -import * as router from 'angular2/router'; -import { Http } from 'angular2/http'; -import * as models from '../../../models/models'; - -@ng.Component({ - selector: 'album-details', - templateUrl: './ng-app/components/public/album-details/album-details.html' -}) -export class AlbumDetails { - public albumData: models.Album; - - constructor(http: Http, routeParam: router.RouteParams) { - http.get('/api/albums/' + routeParam.params['albumId']).subscribe(result => { - this.albumData = result.json(); - }); - } -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-tile/album-tile.html b/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-tile/album-tile.html deleted file mode 100644 index 0df947d..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-tile/album-tile.html +++ /dev/null @@ -1,4 +0,0 @@ - - {{ albumData.Title }} -

{{ albumData.Title }}

-
diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-tile/album-tile.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-tile/album-tile.ts deleted file mode 100644 index d289ec9..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/public/album-tile/album-tile.ts +++ /dev/null @@ -1,12 +0,0 @@ -import * as ng from 'angular2/core'; -import * as router from 'angular2/router'; -import * as models from '../../../models/models'; - -@ng.Component({ - selector: 'album-tile', - properties: ['albumData'], - templateUrl: './ng-app/components/public/album-tile/album-tile.html', - directives: [router.ROUTER_DIRECTIVES] -}) -export class AlbumTile { -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/public/genre-contents/genre-contents.html b/samples/angular/MusicStore/wwwroot/ng-app/components/public/genre-contents/genre-contents.html deleted file mode 100644 index 7738ce5..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/public/genre-contents/genre-contents.html +++ /dev/null @@ -1,7 +0,0 @@ -

Albums

- -
    -
  • - -
  • -
diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/public/genre-contents/genre-contents.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/public/genre-contents/genre-contents.ts deleted file mode 100644 index 0571cc8..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/public/genre-contents/genre-contents.ts +++ /dev/null @@ -1,20 +0,0 @@ -import * as ng from 'angular2/core'; -import * as router from 'angular2/router'; -import { Http } from 'angular2/http'; -import * as models from '../../../models/models'; -import { AlbumTile } from '../album-tile/album-tile'; - -@ng.Component({ - selector: 'genre-contents', - templateUrl: './ng-app/components/public/genre-contents/genre-contents.html', - directives: [AlbumTile] -}) -export class GenreContents { - public albums: models.Album[]; - - constructor(http: Http, routeParam: router.RouteParams) { - http.get(`/api/genres/${ routeParam.params['genreId'] }/albums`).subscribe(result => { - this.albums = result.json(); - }); - } -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/public/genres-list/genres-list.html b/samples/angular/MusicStore/wwwroot/ng-app/components/public/genres-list/genres-list.html deleted file mode 100644 index e91d6f3..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/public/genres-list/genres-list.html +++ /dev/null @@ -1,13 +0,0 @@ -

Browse Genres

- -

- Select from {{ genres.length }} genres: -

- - diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/public/genres-list/genres-list.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/public/genres-list/genres-list.ts deleted file mode 100644 index f45b77a..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/public/genres-list/genres-list.ts +++ /dev/null @@ -1,19 +0,0 @@ -import * as ng from 'angular2/core'; -import * as router from 'angular2/router'; -import { Http } from 'angular2/http'; -import * as models from '../../../models/models'; - -@ng.Component({ - selector: 'genres-list', - templateUrl: './ng-app/components/public/genres-list/genres-list.html', - directives: [router.ROUTER_DIRECTIVES] -}) -export class GenresList { - public genres: models.Genre[]; - - constructor(http: Http) { - http.get('/api/genres').subscribe(result => { - this.genres = result.json(); - }); - } -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/public/home/home.html b/samples/angular/MusicStore/wwwroot/ng-app/components/public/home/home.html deleted file mode 100644 index 133a495..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/public/home/home.html +++ /dev/null @@ -1,10 +0,0 @@ -
-

MVC Music Store

- -
- -
    -
  • - -
  • -
diff --git a/samples/angular/MusicStore/wwwroot/ng-app/components/public/home/home.ts b/samples/angular/MusicStore/wwwroot/ng-app/components/public/home/home.ts deleted file mode 100644 index 51989da..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/components/public/home/home.ts +++ /dev/null @@ -1,19 +0,0 @@ -import * as ng from 'angular2/core'; -import { Http } from 'angular2/http'; -import { AlbumTile } from '../album-tile/album-tile'; -import * as models from '../../../models/models'; - -@ng.Component({ - selector: 'home', - templateUrl: './ng-app/components/public/home/home.html', - directives: [AlbumTile] -}) -export class Home { - public mostPopular: models.Album[]; - - constructor(http: Http) { - http.get('/api/albums/mostPopular').subscribe(result => { - this.mostPopular = result.json(); - }); - } -} diff --git a/samples/angular/MusicStore/wwwroot/ng-app/models/models.ts b/samples/angular/MusicStore/wwwroot/ng-app/models/models.ts deleted file mode 100644 index 44c705a..0000000 --- a/samples/angular/MusicStore/wwwroot/ng-app/models/models.ts +++ /dev/null @@ -1,16 +0,0 @@ -export interface Album { - AlbumId: number; - Title: string; - AlbumArtUrl: string; -} - -export interface Genre { - GenreId: number; - Name: string; - Description: string; -} - -export interface Artist { - ArtistId: number; - Name: string; -} diff --git a/samples/angular/MusicStore/wwwroot/system.config.js b/samples/angular/MusicStore/wwwroot/system.config.js deleted file mode 100644 index 400211f..0000000 --- a/samples/angular/MusicStore/wwwroot/system.config.js +++ /dev/null @@ -1,3 +0,0 @@ -System.config({ - defaultJSExtensions: true -}); diff --git a/samples/angular/MusicStore/wwwroot/web.config b/samples/angular/MusicStore/wwwroot/web.config deleted file mode 100644 index bb50c71..0000000 --- a/samples/angular/MusicStore/wwwroot/web.config +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/samples/react/MusicStore/.babelrc b/samples/react/MusicStore/.babelrc deleted file mode 100644 index 86c445f..0000000 --- a/samples/react/MusicStore/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["es2015", "react"] -} diff --git a/samples/react/MusicStore/.gitignore b/samples/react/MusicStore/.gitignore deleted file mode 100644 index 8d1beeb..0000000 --- a/samples/react/MusicStore/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -music-db.sqlite -/wwwroot/dist/ -/node_modules/ -yarn.lock diff --git a/samples/react/MusicStore/Apis/AlbumsApiController.cs b/samples/react/MusicStore/Apis/AlbumsApiController.cs deleted file mode 100644 index 511f63c..0000000 --- a/samples/react/MusicStore/Apis/AlbumsApiController.cs +++ /dev/null @@ -1,201 +0,0 @@ -using System.ComponentModel.DataAnnotations; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using AutoMapper; -using MusicStore.Models; -using MusicStore.Infrastructure; - -namespace MusicStore.Apis -{ - [Route("api/albums")] - public class AlbumsApiController : Controller - { - private readonly MusicStoreContext _storeContext; - - public AlbumsApiController(MusicStoreContext storeContext) - { - _storeContext = storeContext; - } - - [HttpGet] - [NoCache] - public async Task Paged(int page = 1, int pageSize = 50, string sortBy = null) - { - await _storeContext.Genres.LoadAsync(); - await _storeContext.Artists.LoadAsync(); - - var albums = await _storeContext.Albums - .Include(a => a.Genre) - .Include(a => a.Artist) - .ToPagedListAsync(page, pageSize, sortBy, - a => a.Title, // sortExpression - SortDirection.Ascending, // defaultSortDirection - a => Mapper.Map(a, new AlbumResultDto())); // selector - - return Json(albums); - } - - [HttpGet("all")] - [NoCache] - public async Task All() - { - var albums = await _storeContext.Albums - .Include(a => a.Genre) - .Include(a => a.Artist) - .OrderBy(a => a.Title) - .ToListAsync(); - - return Json(albums.Select(a => Mapper.Map(a, new AlbumResultDto()))); - } - - [HttpGet("mostPopular")] - [NoCache] - public async Task MostPopular(int count = 6) - { - count = count > 0 && count < 20 ? count : 6; - var albums = await _storeContext.Albums - .OrderByDescending(a => a.OrderDetails.Count()) - .Take(count) - .ToListAsync(); - - // TODO: Move the .Select() to end of albums query when EF supports it - return Json(albums.Select(a => Mapper.Map(a, new AlbumResultDto()))); - } - - [HttpGet("{albumId:int}")] - [NoCache] - public async Task Details(int albumId) - { - await _storeContext.Genres.LoadAsync(); - await _storeContext.Artists.LoadAsync(); - - var album = await _storeContext.Albums - .Include(a => a.Artist) - .Include(a => a.Genre) - .Where(a => a.AlbumId == albumId) - .SingleOrDefaultAsync(); - - var albumResult = Mapper.Map(album, new AlbumResultDto()); - - // TODO: Add null checking and return 404 in that case - - return Json(albumResult); - } - - [HttpPost] - [Authorize("app-ManageStore")] - public async Task CreateAlbum([FromBody]AlbumChangeDto album) - { - if (!ModelState.IsValid) - { - // Return the model errors - return BadRequest(ModelState); - } - - // Save the changes to the DB - var dbAlbum = new Album(); - _storeContext.Albums.Add(Mapper.Map(album, dbAlbum)); - await _storeContext.SaveChangesAsync(); - - // TODO: Handle missing record, key violations, concurrency issues, etc. - - return new ObjectResult(new { - Data = dbAlbum.AlbumId, - Message = "Album created successfully." - }); - } - - [HttpPut("{albumId:int}/update")] - public async Task UpdateAlbum(int albumId, [FromBody] AlbumChangeDto album) - { - if (!ModelState.IsValid) - { - // Return the model errors - return BadRequest(ModelState); - } - - var dbAlbum = await _storeContext.Albums.SingleOrDefaultAsync(a => a.AlbumId == albumId); - - if (dbAlbum == null) - { - return new ObjectResult(new { - Message = string.Format("The album with ID {0} was not found.", albumId) - }) { StatusCode = 404 }; - } - - // Save the changes to the DB - Mapper.Map(album, dbAlbum); - await _storeContext.SaveChangesAsync(); - - // TODO: Handle missing record, key violations, concurrency issues, etc. - - return new ObjectResult (new { - Message = "Album updated successfully." - }); - } - - [HttpDelete("{albumId:int}")] - [Authorize("app-ManageStore")] - public async Task DeleteAlbum(int albumId) - { - var album = await _storeContext.Albums.SingleOrDefaultAsync(a => a.AlbumId == albumId); - - if (album != null) - { - _storeContext.Albums.Remove(album); - - // Save the changes to the DB - await _storeContext.SaveChangesAsync(); - - // TODO: Handle missing record, key violations, concurrency issues, etc. - } - - return new ObjectResult (new { - Message = "Album deleted successfully." - }); - } - } - - [ModelMetadataType(typeof(Album))] - public class AlbumChangeDto - { - public int GenreId { get; set; } - - public int ArtistId { get; set; } - - public string Title { get; set; } - - public decimal Price { get; set; } - - public string AlbumArtUrl { get; set; } - } - - public class AlbumResultDto : AlbumChangeDto - { - public AlbumResultDto() - { - Artist = new ArtistResultDto(); - Genre = new GenreResultDto(); - } - - public int AlbumId { get; set; } - - public ArtistResultDto Artist { get; private set; } - - public GenreResultDto Genre { get; private set; } - } - - public class ArtistResultDto - { - public string Name { get; set; } - } - - public class GenreResultDto - { - public string Name { get; set; } - } -} diff --git a/samples/react/MusicStore/Apis/ArtistsApiController.cs b/samples/react/MusicStore/Apis/ArtistsApiController.cs deleted file mode 100644 index f3568ae..0000000 --- a/samples/react/MusicStore/Apis/ArtistsApiController.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using MusicStore.Models; - -namespace MusicStore.Apis -{ - [Route("api/artists")] - public class ArtistsApiController : Controller - { - private readonly MusicStoreContext _storeContext; - - public ArtistsApiController(MusicStoreContext storeContext) - { - _storeContext = storeContext; - } - - [HttpGet("lookup")] - public async Task Lookup() - { - var artists = await _storeContext.Artists - .OrderBy(a => a.Name) - .ToListAsync(); - - return Json(artists); - } - } -} diff --git a/samples/react/MusicStore/Apis/GenresApiController.cs b/samples/react/MusicStore/Apis/GenresApiController.cs deleted file mode 100644 index 338ca2f..0000000 --- a/samples/react/MusicStore/Apis/GenresApiController.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using MusicStore.Models; -using MusicStore.Infrastructure; - -namespace MusicStore.Apis -{ - [Route("api/genres")] - public class GenresApiController : Controller - { - private readonly MusicStoreContext _storeContext; - - public GenresApiController(MusicStoreContext storeContext) - { - _storeContext = storeContext; - } - - [HttpGet] - public async Task GenreList() - { - var genres = await _storeContext.Genres - //.Include(g => g.Albums) - .OrderBy(g => g.Name) - .ToListAsync(); - - return Json(genres); - } - - [HttpGet("genre-lookup")] - public async Task Lookup() - { - var genres = await _storeContext.Genres - .Select(g => new { g.GenreId, g.Name }) - .ToListAsync(); - - return Json(genres); - } - - [HttpGet("menu")] - public async Task GenreMenuList(int count = 9) - { - count = count > 0 && count < 20 ? count : 9; - - var genres = await _storeContext.Genres - .OrderByDescending(g => - g.Albums.Sum(a => - a.OrderDetails.Sum(od => od.Quantity))) - .Take(count) - .ToListAsync(); - - return Json(genres); - } - - [HttpGet("{genreId:int}/albums")] - [NoCache] - public async Task GenreAlbums(int genreId) - { - var albums = await _storeContext.Albums - .Where(a => a.GenreId == genreId) - //.Include(a => a.Genre) - //.Include(a => a.Artist) - //.OrderBy(a => a.Genre.Name) - .ToListAsync(); - - return Json(albums); - } - } -} diff --git a/samples/react/MusicStore/Apis/Models/AccountViewModels.cs b/samples/react/MusicStore/Apis/Models/AccountViewModels.cs deleted file mode 100644 index 831978a..0000000 --- a/samples/react/MusicStore/Apis/Models/AccountViewModels.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System.ComponentModel.DataAnnotations; - -namespace MusicStore.Models -{ - public class ExternalLoginConfirmationViewModel - { - [Required] - [Display(Name = "User name")] - public string UserName { get; set; } - } - - public class ManageUserViewModel - { - [Required] - [DataType(DataType.Password)] - [Display(Name = "Current password")] - public string OldPassword { get; set; } - - [Required] - [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] - [DataType(DataType.Password)] - [Display(Name = "New password")] - public string NewPassword { get; set; } - - [DataType(DataType.Password)] - [Display(Name = "Confirm new password")] - [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] - public string ConfirmPassword { get; set; } - } - - public class LoginViewModel - { - [Required] - [Display(Name = "User name")] - public string UserName { get; set; } - - [Required] - [DataType(DataType.Password)] - [Display(Name = "Password")] - public string Password { get; set; } - - [Display(Name = "Remember me?")] - public bool RememberMe { get; set; } - } - - public class RegisterViewModel - { - [Required] - [Display(Name = "User name")] - public string UserName { get; set; } - - [Required] - [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] - [DataType(DataType.Password)] - [Display(Name = "Password")] - public string Password { get; set; } - - [DataType(DataType.Password)] - [Display(Name = "Confirm password")] - [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] - public string ConfirmPassword { get; set; } - } -} diff --git a/samples/react/MusicStore/Apis/Models/Album.cs b/samples/react/MusicStore/Apis/Models/Album.cs deleted file mode 100644 index 68e26ff..0000000 --- a/samples/react/MusicStore/Apis/Models/Album.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; - -namespace MusicStore.Models -{ - public class Album - { - public Album() - { - // TODO: Temporary hack to populate the orderdetails until EF does this automatically. - OrderDetails = new List(); - } - - [ScaffoldColumn(false)] - public int AlbumId { get; set; } - - public int GenreId { get; set; } - - public int ArtistId { get; set; } - - [Required] - [StringLength(160, MinimumLength = 2)] - public string Title { get; set; } - - [Required] - [RangeAttribute(typeof(double), "0.01", "100")] // Long-form constructor to work around https://github.com/dotnet/coreclr/issues/2172 - [DataType(DataType.Currency)] - public decimal Price { get; set; } - - [Display(Name = "Album Art URL")] - [StringLength(1024)] - public string AlbumArtUrl { get; set; } - - public virtual Genre Genre { get; set; } - - public virtual Artist Artist { get; set; } - - public virtual ICollection OrderDetails { get; set; } - } -} diff --git a/samples/react/MusicStore/Apis/Models/Artist.cs b/samples/react/MusicStore/Apis/Models/Artist.cs deleted file mode 100644 index b364a89..0000000 --- a/samples/react/MusicStore/Apis/Models/Artist.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.ComponentModel.DataAnnotations; - -namespace MusicStore.Models -{ - public class Artist - { - public int ArtistId { get; set; } - - [Required] - public string Name { get; set; } - } -} diff --git a/samples/react/MusicStore/Apis/Models/CartItem.cs b/samples/react/MusicStore/Apis/Models/CartItem.cs deleted file mode 100644 index 7209462..0000000 --- a/samples/react/MusicStore/Apis/Models/CartItem.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; - -namespace MusicStore.Models -{ - public class CartItem - { - [Key] - public int CartItemId { get; set; } - - [Required] - public string CartId { get; set; } - public int AlbumId { get; set; } - public int Count { get; set; } - - [DataType(DataType.DateTime)] - public DateTime DateCreated { get; set; } - - public virtual Album Album { get; set; } - } -} diff --git a/samples/react/MusicStore/Apis/Models/Genre.cs b/samples/react/MusicStore/Apis/Models/Genre.cs deleted file mode 100644 index eed5616..0000000 --- a/samples/react/MusicStore/Apis/Models/Genre.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using Newtonsoft.Json; - -namespace MusicStore.Models -{ - public class Genre - { - public Genre() - { - Albums = new List(); - } - - public int GenreId { get; set; } - - [Required] - public string Name { get; set; } - - public string Description { get; set; } - - [JsonIgnore] - public virtual ICollection Albums { get; set; } - } -} diff --git a/samples/react/MusicStore/Apis/Models/MusicStoreContext.cs b/samples/react/MusicStore/Apis/Models/MusicStoreContext.cs deleted file mode 100644 index aee7aed..0000000 --- a/samples/react/MusicStore/Apis/Models/MusicStoreContext.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Microsoft.AspNetCore.Identity.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore; - -namespace MusicStore.Models -{ - public class ApplicationUser : IdentityUser { } - - public class MusicStoreContext : IdentityDbContext - { - public MusicStoreContext(DbContextOptions options) : base(options) - { - } - - public DbSet Albums { get; set; } - public DbSet Artists { get; set; } - public DbSet Orders { get; set; } - public DbSet Genres { get; set; } - public DbSet CartItems { get; set; } - public DbSet OrderDetails { get; set; } - - protected override void OnModelCreating(ModelBuilder builder) - { - // Configure pluralization - builder.Entity().ToTable("Albums"); - builder.Entity().ToTable("Artists"); - builder.Entity().ToTable("Orders"); - builder.Entity().ToTable("Genres"); - builder.Entity().ToTable("CartItems"); - builder.Entity().ToTable("OrderDetails"); - - base.OnModelCreating(builder); - } - } -} diff --git a/samples/react/MusicStore/Apis/Models/Order.cs b/samples/react/MusicStore/Apis/Models/Order.cs deleted file mode 100644 index 110a77d..0000000 --- a/samples/react/MusicStore/Apis/Models/Order.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; - -namespace MusicStore.Models -{ - //[Bind(Include = "FirstName,LastName,Address,City,State,PostalCode,Country,Phone,Email")] - public class Order - { - public Order() - { - OrderDetails = new List(); - } - - [ScaffoldColumn(false)] - public int OrderId { get; set; } - - [ScaffoldColumn(false)] - public DateTime OrderDate { get; set; } - - [Required] - [ScaffoldColumn(false)] - public string Username { get; set; } - - [Required] - [Display(Name = "First Name")] - [StringLength(160)] - public string FirstName { get; set; } - - [Required] - [Display(Name = "Last Name")] - [StringLength(160)] - public string LastName { get; set; } - - [Required] - [StringLength(70, MinimumLength = 3)] - public string Address { get; set; } - - [Required] - [StringLength(40)] - public string City { get; set; } - - [Required] - [StringLength(40)] - public string State { get; set; } - - [Required] - [Display(Name = "Postal Code")] - [StringLength(10, MinimumLength = 5)] - public string PostalCode { get; set; } - - [Required] - [StringLength(40)] - public string Country { get; set; } - - [Required] - [StringLength(24)] - [DataType(DataType.PhoneNumber)] - public string Phone { get; set; } - - [Required] - [Display(Name = "Email Address")] - [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", - ErrorMessage = "Email is not valid.")] - [DataType(DataType.EmailAddress)] - public string Email { get; set; } - - [ScaffoldColumn(false)] - public decimal Total { get; set; } - - public ICollection OrderDetails { get; set; } - } -} diff --git a/samples/react/MusicStore/Apis/Models/OrderDetail.cs b/samples/react/MusicStore/Apis/Models/OrderDetail.cs deleted file mode 100644 index cb1e693..0000000 --- a/samples/react/MusicStore/Apis/Models/OrderDetail.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace MusicStore.Models -{ - public class OrderDetail - { - public int OrderDetailId { get; set; } - public int OrderId { get; set; } - public int AlbumId { get; set; } - public int Quantity { get; set; } - public decimal UnitPrice { get; set; } - - public virtual Album Album { get; set; } - public virtual Order Order { get; set; } - } -} diff --git a/samples/react/MusicStore/Apis/Models/SampleData.cs b/samples/react/MusicStore/Apis/Models/SampleData.cs deleted file mode 100644 index b1d98a7..0000000 --- a/samples/react/MusicStore/Apis/Models/SampleData.cs +++ /dev/null @@ -1,915 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Security.Claims; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Identity; -using Microsoft.AspNetCore.Identity.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Options; - -namespace MusicStore.Models -{ - public static class SampleData - { - const string imgUrl = "/images/placeholder.png"; - - public static async Task InitializeMusicStoreDatabaseAsync(IServiceProvider serviceProvider) - { - using (var db = serviceProvider.GetService()) - { - if (await db.Database.EnsureCreatedAsync()) - { - await InsertTestData(serviceProvider); - } - } - } - - private static async Task InsertTestData(IServiceProvider serviceProvider) - { - var albums = GetAlbums(imgUrl, Genres, Artists); - await AddOrUpdateAsync(serviceProvider, g => g.GenreId, Genres.Select(genre => genre.Value)); - await AddOrUpdateAsync(serviceProvider, a => a.ArtistId, Artists.Select(artist => artist.Value)); - await AddOrUpdateAsync(serviceProvider, a => a.AlbumId, albums); - } - - // TODO [EF] This may be replaced by a first class mechanism in EF - private static async Task AddOrUpdateAsync( - IServiceProvider serviceProvider, - Func propertyToMatch, IEnumerable entities) - where TEntity : class - { - // Query in a separate context so that we can attach existing entities as modified - List existingData; - - using (var scope = serviceProvider.GetRequiredService().CreateScope()) - using (var db = scope.ServiceProvider.GetService()) - { - existingData = db.Set().ToList(); - } - - using (var scope = serviceProvider.GetRequiredService().CreateScope()) - using (var db = scope.ServiceProvider.GetService()) - { - foreach (var item in entities) - { - db.Entry(item).State = existingData.Any(g => propertyToMatch(g).Equals(propertyToMatch(item))) - ? EntityState.Modified - : EntityState.Added; - } - - await db.SaveChangesAsync(); - } - } - - private static Album[] GetAlbums(string imgUrl, Dictionary genres, Dictionary artists) - { - var albums = new Album[] - { - new Album { Title = "The Best Of The Men At Work", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Men At Work"], AlbumArtUrl = imgUrl }, - new Album { Title = "...And Justice For All", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "עד גבול האור", Genre = genres["World"], Price = 8.99M, Artist = artists["אריק אינשטיין"], AlbumArtUrl = imgUrl }, - new Album { Title = "Black Light Syndrome", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Terry Bozzio, Tony Levin & Steve Stevens"], AlbumArtUrl = imgUrl }, - new Album { Title = "10,000 Days", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Tool"], AlbumArtUrl = imgUrl }, - new Album { Title = "11i", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Supreme Beings of Leisure"], AlbumArtUrl = imgUrl }, - new Album { Title = "1960", Genre = genres["Indie"], Price = 8.99M, Artist = artists["Soul-Junk"], AlbumArtUrl = imgUrl }, - new Album { Title = "4x4=12 ", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["deadmau5"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Copland Celebration, Vol. I", Genre = genres["Classical"], Price = 8.99M, Artist = artists["London Symphony Orchestra"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Lively Mind", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Paul Oakenfold"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Matter of Life and Death", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Real Dead One", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Real Live One", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Rush of Blood to the Head", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Coldplay"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Soprano Inspired", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Britten Sinfonia, Ivor Bolton & Lesley Garrett"], AlbumArtUrl = imgUrl }, - new Album { Title = "A Winter Symphony", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Abbey Road", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Beatles"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ace Of Spades", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Motörhead"], AlbumArtUrl = imgUrl }, - new Album { Title = "Achtung Baby", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Acústico MTV", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Os Paralamas Do Sucesso"], AlbumArtUrl = imgUrl }, - new Album { Title = "Adams, John: The Chairman Dances", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Edo de Waart & San Francisco Symphony"], AlbumArtUrl = imgUrl }, - new Album { Title = "Adrenaline", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deftones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ænima", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Tool"], AlbumArtUrl = imgUrl }, - new Album { Title = "Afrociberdelia", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Chico Science & Nação Zumbi"], AlbumArtUrl = imgUrl }, - new Album { Title = "After the Goldrush", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Neil Young"], AlbumArtUrl = imgUrl }, - new Album { Title = "Airdrawn Dagger", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Sasha"], AlbumArtUrl = imgUrl }, - new Album { Title = "Album Title Goes Here", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["deadmau5"], AlbumArtUrl = imgUrl }, - new Album { Title = "Alcohol Fueled Brewtality Live! [Disc 1]", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Black Label Society"], AlbumArtUrl = imgUrl }, - new Album { Title = "Alcohol Fueled Brewtality Live! [Disc 2]", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Black Label Society"], AlbumArtUrl = imgUrl }, - new Album { Title = "Alive 2007", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Daft Punk"], AlbumArtUrl = imgUrl }, - new Album { Title = "All I Ask of You", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Amen (So Be It)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Paddy Casey"], AlbumArtUrl = imgUrl }, - new Album { Title = "Animal Vehicle", Genre = genres["Pop"], Price = 8.99M, Artist = artists["The Axis of Awesome"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ao Vivo [IMPORT]", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Zeca Pagodinho"], AlbumArtUrl = imgUrl }, - new Album { Title = "Apocalyptic Love", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Slash"], AlbumArtUrl = imgUrl }, - new Album { Title = "Appetite for Destruction", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Guns N' Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "Are You Experienced?", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Jimi Hendrix"], AlbumArtUrl = imgUrl }, - new Album { Title = "Arquivo II", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Os Paralamas Do Sucesso"], AlbumArtUrl = imgUrl }, - new Album { Title = "Arquivo Os Paralamas Do Sucesso", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Os Paralamas Do Sucesso"], AlbumArtUrl = imgUrl }, - new Album { Title = "A-Sides", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Soundgarden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Audioslave", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Audioslave"], AlbumArtUrl = imgUrl }, - new Album { Title = "Automatic for the People", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["R.E.M."], AlbumArtUrl = imgUrl }, - new Album { Title = "Axé Bahia 2001", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Various Artists"], AlbumArtUrl = imgUrl }, - new Album { Title = "Babel", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Mumford & Sons"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bach: Goldberg Variations", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Wilhelm Kempff"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bach: The Brandenburg Concertos", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Orchestra of The Age of Enlightenment"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bach: The Cello Suites", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Yo-Yo Ma"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bach: Toccata & Fugue in D Minor", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Ton Koopman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bad Motorfinger", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Soundgarden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Balls to the Wall", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Accept"], AlbumArtUrl = imgUrl }, - new Album { Title = "Banadeek Ta'ala", Genre = genres["World"], Price = 8.99M, Artist = artists["Amr Diab"], AlbumArtUrl = imgUrl }, - new Album { Title = "Barbie Girl", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Aqua"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bark at the Moon (Remastered)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bartok: Violin & Viola Concertos", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Yehudi Menuhin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Barulhinho Bom", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Marisa Monte"], AlbumArtUrl = imgUrl }, - new Album { Title = "BBC Sessions [Disc 1] [Live]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "BBC Sessions [Disc 2] [Live]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Be Here Now", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Oasis"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bedrock 11 Compiled & Mixed", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["John Digweed"], AlbumArtUrl = imgUrl }, - new Album { Title = "Berlioz: Symphonie Fantastique", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Michael Tilson Thomas"], AlbumArtUrl = imgUrl }, - new Album { Title = "Beyond Good And Evil", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Cult"], AlbumArtUrl = imgUrl }, - new Album { Title = "Big Bad Wolf ", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Armand Van Helden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Big Ones", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Aerosmith"], AlbumArtUrl = imgUrl }, - new Album { Title = "Black Album", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Black Sabbath Vol. 4 (Remaster)", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Black Sabbath"], AlbumArtUrl = imgUrl }, - new Album { Title = "Black Sabbath", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Black Sabbath"], AlbumArtUrl = imgUrl }, - new Album { Title = "Black", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Blackwater Park", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Opeth"], AlbumArtUrl = imgUrl }, - new Album { Title = "Blizzard of Ozz", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Blood", Genre = genres["Rock"], Price = 8.99M, Artist = artists["In This Moment"], AlbumArtUrl = imgUrl }, - new Album { Title = "Blue Moods", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Incognito"], AlbumArtUrl = imgUrl }, - new Album { Title = "Blue", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Weezer"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bongo Fury", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Frank Zappa & Captain Beefheart"], AlbumArtUrl = imgUrl }, - new Album { Title = "Boys & Girls", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Alabama Shakes"], AlbumArtUrl = imgUrl }, - new Album { Title = "Brave New World", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "B-Sides 1980-1990", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Bunkka", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Paul Oakenfold"], AlbumArtUrl = imgUrl }, - new Album { Title = "By The Way", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Red Hot Chili Peppers"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cake: B-Sides and Rarities", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Cake"], AlbumArtUrl = imgUrl }, - new Album { Title = "Californication", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Red Hot Chili Peppers"], AlbumArtUrl = imgUrl }, - new Album { Title = "Carmina Burana", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Boston Symphony Orchestra & Seiji Ozawa"], AlbumArtUrl = imgUrl }, - new Album { Title = "Carried to Dust (Bonus Track Version)", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Calexico"], AlbumArtUrl = imgUrl }, - new Album { Title = "Carry On", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Chris Cornell"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cássia Eller - Sem Limite [Disc 1]", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Cássia Eller"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chemical Wedding", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Bruce Dickinson"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chill: Brazil (Disc 1)", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Marcos Valle"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chill: Brazil (Disc 2)", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Antônio Carlos Jobim"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chocolate Starfish And The Hot Dog Flavored Water", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Limp Bizkit"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chronicle, Vol. 1", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Creedence Clearwater Revival"], AlbumArtUrl = imgUrl }, - new Album { Title = "Chronicle, Vol. 2", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Creedence Clearwater Revival"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ciao, Baby", Genre = genres["Rock"], Price = 8.99M, Artist = artists["TheStart"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cidade Negra - Hits", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Cidade Negra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Classic Munkle: Turbo Edition", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Munkle"], AlbumArtUrl = imgUrl }, - new Album { Title = "Classics: The Best of Sarah Brightman", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Coda", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Come Away With Me", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Norah Jones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Come Taste The Band", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Comfort Eagle", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Cake"], AlbumArtUrl = imgUrl }, - new Album { Title = "Common Reaction", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Uh Huh Her "], AlbumArtUrl = imgUrl }, - new Album { Title = "Compositores", Genre = genres["Rock"], Price = 8.99M, Artist = artists["O Terço"], AlbumArtUrl = imgUrl }, - new Album { Title = "Contraband", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Velvet Revolver"], AlbumArtUrl = imgUrl }, - new Album { Title = "Core", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Stone Temple Pilots"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cornerstone", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Styx"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cosmicolor", Genre = genres["Rap"], Price = 8.99M, Artist = artists["M-Flo"], AlbumArtUrl = imgUrl }, - new Album { Title = "Cross", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Justice"], AlbumArtUrl = imgUrl }, - new Album { Title = "Culture of Fear", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Thievery Corporation"], AlbumArtUrl = imgUrl }, - new Album { Title = "Da Lama Ao Caos", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Chico Science & Nação Zumbi"], AlbumArtUrl = imgUrl }, - new Album { Title = "Dakshina", Genre = genres["World"], Price = 8.99M, Artist = artists["Deva Premal"], AlbumArtUrl = imgUrl }, - new Album { Title = "Dark Side of the Moon", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pink Floyd"], AlbumArtUrl = imgUrl }, - new Album { Title = "Death Magnetic", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Deep End of Down", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Above the Fold"], AlbumArtUrl = imgUrl }, - new Album { Title = "Deep Purple In Rock", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Deixa Entrar", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Falamansa"], AlbumArtUrl = imgUrl }, - new Album { Title = "Deja Vu", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Crosby, Stills, Nash, and Young"], AlbumArtUrl = imgUrl }, - new Album { Title = "Di Korpu Ku Alma", Genre = genres["World"], Price = 8.99M, Artist = artists["Lura"], AlbumArtUrl = imgUrl }, - new Album { Title = "Diary of a Madman (Remastered)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Diary of a Madman", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Dirt", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Alice in Chains"], AlbumArtUrl = imgUrl }, - new Album { Title = "Diver Down", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Van Halen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Djavan Ao Vivo - Vol. 02", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Djavan"], AlbumArtUrl = imgUrl }, - new Album { Title = "Djavan Ao Vivo - Vol. 1", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Djavan"], AlbumArtUrl = imgUrl }, - new Album { Title = "Drum'n'bass for Papa", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Plug"], AlbumArtUrl = imgUrl }, - new Album { Title = "Duluth", Genre = genres["Country"], Price = 8.99M, Artist = artists["Trampled By Turtles"], AlbumArtUrl = imgUrl }, - new Album { Title = "Dummy", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Portishead"], AlbumArtUrl = imgUrl }, - new Album { Title = "Duos II", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Luciana Souza/Romero Lubambo"], AlbumArtUrl = imgUrl }, - new Album { Title = "Earl Scruggs and Friends", Genre = genres["Country"], Price = 8.99M, Artist = artists["Earl Scruggs"], AlbumArtUrl = imgUrl }, - new Album { Title = "Eden", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "El Camino", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Black Keys"], AlbumArtUrl = imgUrl }, - new Album { Title = "Elegant Gypsy", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Al di Meola"], AlbumArtUrl = imgUrl }, - new Album { Title = "Elements Of Life", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Tiësto"], AlbumArtUrl = imgUrl }, - new Album { Title = "Elis Regina-Minha História", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Elis Regina"], AlbumArtUrl = imgUrl }, - new Album { Title = "Emergency On Planet Earth", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Jamiroquai"], AlbumArtUrl = imgUrl }, - new Album { Title = "Emotion", Genre = genres["World"], Price = 8.99M, Artist = artists["Papa Wemba"], AlbumArtUrl = imgUrl }, - new Album { Title = "English Renaissance", Genre = genres["Classical"], Price = 8.99M, Artist = artists["The King's Singers"], AlbumArtUrl = imgUrl }, - new Album { Title = "Every Kind of Light", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Posies"], AlbumArtUrl = imgUrl }, - new Album { Title = "Faceless", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Godsmack"], AlbumArtUrl = imgUrl }, - new Album { Title = "Facelift", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Alice in Chains"], AlbumArtUrl = imgUrl }, - new Album { Title = "Fair Warning", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Van Halen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Fear of a Black Planet", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Public Enemy"], AlbumArtUrl = imgUrl }, - new Album { Title = "Fear Of The Dark", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Feels Like Home", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Norah Jones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Fireball", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Fly", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "For Those About To Rock We Salute You", Genre = genres["Rock"], Price = 8.99M, Artist = artists["AC/DC"], AlbumArtUrl = imgUrl }, - new Album { Title = "Four", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Blues Traveler"], AlbumArtUrl = imgUrl }, - new Album { Title = "Frank", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Amy Winehouse"], AlbumArtUrl = imgUrl }, - new Album { Title = "Further Down the Spiral", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Nine Inch Nails"], AlbumArtUrl = imgUrl }, - new Album { Title = "Garage Inc. (Disc 1)", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Garage Inc. (Disc 2)", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Garbage", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Garbage"], AlbumArtUrl = imgUrl }, - new Album { Title = "Good News For People Who Love Bad News", Genre = genres["Indie"], Price = 8.99M, Artist = artists["Modest Mouse"], AlbumArtUrl = imgUrl }, - new Album { Title = "Gordon", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Barenaked Ladies"], AlbumArtUrl = imgUrl }, - new Album { Title = "Górecki: Symphony No. 3", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Adrian Leaper & Doreen de Feis"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Hits I", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Queen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Hits II", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Queen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Hits", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Duck Sauce"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Hits", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Lenny Kravitz"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Hits", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Lenny Kravitz"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greatest Kiss", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Kiss"], AlbumArtUrl = imgUrl }, - new Album { Title = "Greetings from Michigan", Genre = genres["Indie"], Price = 8.99M, Artist = artists["Sufjan Stevens"], AlbumArtUrl = imgUrl }, - new Album { Title = "Group Therapy", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Above & Beyond"], AlbumArtUrl = imgUrl }, - new Album { Title = "Handel: The Messiah (Highlights)", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Scholars Baroque Ensemble"], AlbumArtUrl = imgUrl }, - new Album { Title = "Haydn: Symphonies 99 - 104", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Royal Philharmonic Orchestra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Heart of the Night", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Spyro Gyra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Heart On", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Eagles of Death Metal"], AlbumArtUrl = imgUrl }, - new Album { Title = "Holy Diver", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Dio"], AlbumArtUrl = imgUrl }, - new Album { Title = "Homework", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Daft Punk"], AlbumArtUrl = imgUrl }, - new Album { Title = "Hot Rocks, 1964-1971 (Disc 1)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Rolling Stones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Houses Of The Holy", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "How To Dismantle An Atomic Bomb", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Human", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Projected"], AlbumArtUrl = imgUrl }, - new Album { Title = "Hunky Dory", Genre = genres["Rock"], Price = 8.99M, Artist = artists["David Bowie"], AlbumArtUrl = imgUrl }, - new Album { Title = "Hymns", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Projected"], AlbumArtUrl = imgUrl }, - new Album { Title = "Hysteria", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Def Leppard"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Absentia", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Porcupine Tree"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Between", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Paul Van Dyk"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Rainbows", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Radiohead"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Step", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Stevie Ray Vaughan & Double Trouble"], AlbumArtUrl = imgUrl }, - new Album { Title = "In the court of the Crimson King", Genre = genres["Rock"], Price = 8.99M, Artist = artists["King Crimson"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Through The Out Door", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Your Honor [Disc 1]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Foo Fighters"], AlbumArtUrl = imgUrl }, - new Album { Title = "In Your Honor [Disc 2]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Foo Fighters"], AlbumArtUrl = imgUrl }, - new Album { Title = "Indestructible", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Rancid"], AlbumArtUrl = imgUrl }, - new Album { Title = "Infinity", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Journey"], AlbumArtUrl = imgUrl }, - new Album { Title = "Into The Light", Genre = genres["Rock"], Price = 8.99M, Artist = artists["David Coverdale"], AlbumArtUrl = imgUrl }, - new Album { Title = "Introspective", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Pet Shop Boys"], AlbumArtUrl = imgUrl }, - new Album { Title = "Iron Maiden", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "ISAM", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Amon Tobin"], AlbumArtUrl = imgUrl }, - new Album { Title = "IV", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Jagged Little Pill", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Alanis Morissette"], AlbumArtUrl = imgUrl }, - new Album { Title = "Jagged Little Pill", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Alanis Morissette"], AlbumArtUrl = imgUrl }, - new Album { Title = "Jorge Ben Jor 25 Anos", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Jorge Ben"], AlbumArtUrl = imgUrl }, - new Album { Title = "Jota Quest-1995", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Jota Quest"], AlbumArtUrl = imgUrl }, - new Album { Title = "Kick", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["INXS"], AlbumArtUrl = imgUrl }, - new Album { Title = "Kill 'Em All", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Kind of Blue", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Miles Davis"], AlbumArtUrl = imgUrl }, - new Album { Title = "King For A Day Fool For A Lifetime", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Faith No More"], AlbumArtUrl = imgUrl }, - new Album { Title = "Kiss", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Carly Rae Jepsen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Last Call", Genre = genres["Country"], Price = 8.99M, Artist = artists["Cayouche"], AlbumArtUrl = imgUrl }, - new Album { Title = "Le Freak", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Chic"], AlbumArtUrl = imgUrl }, - new Album { Title = "Le Tigre", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Le Tigre"], AlbumArtUrl = imgUrl }, - new Album { Title = "Led Zeppelin I", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Led Zeppelin II", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Led Zeppelin III", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Let There Be Rock", Genre = genres["Rock"], Price = 8.99M, Artist = artists["AC/DC"], AlbumArtUrl = imgUrl }, - new Album { Title = "Little Earthquakes", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Tori Amos"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live [Disc 1]", Genre = genres["Blues"], Price = 8.99M, Artist = artists["The Black Crowes"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live [Disc 2]", Genre = genres["Blues"], Price = 8.99M, Artist = artists["The Black Crowes"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live After Death", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live At Donington 1992 (Disc 1)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live At Donington 1992 (Disc 2)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live on Earth", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["The Cat Empire"], AlbumArtUrl = imgUrl }, - new Album { Title = "Live On Two Legs [Live]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pearl Jam"], AlbumArtUrl = imgUrl }, - new Album { Title = "Living After Midnight", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Judas Priest"], AlbumArtUrl = imgUrl }, - new Album { Title = "Living", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Paddy Casey"], AlbumArtUrl = imgUrl }, - new Album { Title = "Load", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Love Changes Everything", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "MacArthur Park Suite", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Donna Summer"], AlbumArtUrl = imgUrl }, - new Album { Title = "Machine Head", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Magical Mystery Tour", Genre = genres["Pop"], Price = 8.99M, Artist = artists["The Beatles"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mais Do Mesmo", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Legião Urbana"], AlbumArtUrl = imgUrl }, - new Album { Title = "Maquinarama", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Skank"], AlbumArtUrl = imgUrl }, - new Album { Title = "Marasim", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Jagjit Singh"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mascagni: Cavalleria Rusticana", Genre = genres["Classical"], Price = 8.99M, Artist = artists["James Levine"], AlbumArtUrl = imgUrl }, - new Album { Title = "Master of Puppets", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mechanics & Mathematics", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Venus Hum"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mental Jewelry", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Live"], AlbumArtUrl = imgUrl }, - new Album { Title = "Metallics", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "meteora", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Linkin Park"], AlbumArtUrl = imgUrl }, - new Album { Title = "Meus Momentos", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Gonzaguinha"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mezmerize", Genre = genres["Metal"], Price = 8.99M, Artist = artists["System Of A Down"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mezzanine", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Massive Attack"], AlbumArtUrl = imgUrl }, - new Album { Title = "Miles Ahead", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Miles Davis"], AlbumArtUrl = imgUrl }, - new Album { Title = "Milton Nascimento Ao Vivo", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Milton Nascimento"], AlbumArtUrl = imgUrl }, - new Album { Title = "Minas", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Milton Nascimento"], AlbumArtUrl = imgUrl }, - new Album { Title = "Minha Historia", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Chico Buarque"], AlbumArtUrl = imgUrl }, - new Album { Title = "Misplaced Childhood", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Marillion"], AlbumArtUrl = imgUrl }, - new Album { Title = "MK III The Final Concerts [Disc 1]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Morning Dance", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Spyro Gyra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Motley Crue Greatest Hits", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Mötley Crüe"], AlbumArtUrl = imgUrl }, - new Album { Title = "Moving Pictures", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Rush"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mozart: Chamber Music", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Nash Ensemble"], AlbumArtUrl = imgUrl }, - new Album { Title = "Mozart: Symphonies Nos. 40 & 41", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Berliner Philharmoniker"], AlbumArtUrl = imgUrl }, - new Album { Title = "Murder Ballads", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Nick Cave and the Bad Seeds"], AlbumArtUrl = imgUrl }, - new Album { Title = "Music For The Jilted Generation", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["The Prodigy"], AlbumArtUrl = imgUrl }, - new Album { Title = "My Generation - The Very Best Of The Who", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Who"], AlbumArtUrl = imgUrl }, - new Album { Title = "My Name is Skrillex", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Skrillex"], AlbumArtUrl = imgUrl }, - new Album { Title = "Na Pista", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Cláudio Zoli"], AlbumArtUrl = imgUrl }, - new Album { Title = "Nevermind", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Nirvana"], AlbumArtUrl = imgUrl }, - new Album { Title = "New Adventures In Hi-Fi", Genre = genres["Rock"], Price = 8.99M, Artist = artists["R.E.M."], AlbumArtUrl = imgUrl }, - new Album { Title = "New Divide", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Linkin Park"], AlbumArtUrl = imgUrl }, - new Album { Title = "New York Dolls", Genre = genres["Punk"], Price = 8.99M, Artist = artists["New York Dolls"], AlbumArtUrl = imgUrl }, - new Album { Title = "News Of The World", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Queen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Nielsen: The Six Symphonies", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Göteborgs Symfoniker & Neeme Järvi"], AlbumArtUrl = imgUrl }, - new Album { Title = "Night At The Opera", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Queen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Night Castle", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Trans-Siberian Orchestra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Nkolo", Genre = genres["World"], Price = 8.99M, Artist = artists["Lokua Kanza"], AlbumArtUrl = imgUrl }, - new Album { Title = "No More Tears (Remastered)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "No Prayer For The Dying", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "No Security", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Rolling Stones"], AlbumArtUrl = imgUrl }, - new Album { Title = "O Brother, Where Art Thou?", Genre = genres["Country"], Price = 8.99M, Artist = artists["Alison Krauss"], AlbumArtUrl = imgUrl }, - new Album { Title = "O Samba Poconé", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Skank"], AlbumArtUrl = imgUrl }, - new Album { Title = "O(+>", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Prince"], AlbumArtUrl = imgUrl }, - new Album { Title = "Oceania", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Smashing Pumpkins"], AlbumArtUrl = imgUrl }, - new Album { Title = "Off the Deep End", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Weird Al"], AlbumArtUrl = imgUrl }, - new Album { Title = "OK Computer", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Radiohead"], AlbumArtUrl = imgUrl }, - new Album { Title = "Olodum", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Olodum"], AlbumArtUrl = imgUrl }, - new Album { Title = "One Love", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["David Guetta"], AlbumArtUrl = imgUrl }, - new Album { Title = "Operation: Mindcrime", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Queensrÿche"], AlbumArtUrl = imgUrl }, - new Album { Title = "Opiate", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Tool"], AlbumArtUrl = imgUrl }, - new Album { Title = "Outbreak", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Dennis Chambers"], AlbumArtUrl = imgUrl }, - new Album { Title = "Pachelbel: Canon & Gigue", Genre = genres["Classical"], Price = 8.99M, Artist = artists["English Concert & Trevor Pinnock"], AlbumArtUrl = imgUrl }, - new Album { Title = "Paid in Full", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Eric B. and Rakim"], AlbumArtUrl = imgUrl }, - new Album { Title = "Para Siempre", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Vicente Fernandez"], AlbumArtUrl = imgUrl }, - new Album { Title = "Pause", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Four Tet"], AlbumArtUrl = imgUrl }, - new Album { Title = "Peace Sells... but Who's Buying", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Megadeth"], AlbumArtUrl = imgUrl }, - new Album { Title = "Physical Graffiti [Disc 1]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Physical Graffiti [Disc 2]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Physical Graffiti", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Piece Of Mind", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Pinkerton", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Weezer"], AlbumArtUrl = imgUrl }, - new Album { Title = "Plays Metallica By Four Cellos", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Apocalyptica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Pop", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Powerslave", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Prenda Minha", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Caetano Veloso"], AlbumArtUrl = imgUrl }, - new Album { Title = "Presence", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Pretty Hate Machine", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Nine Inch Nails"], AlbumArtUrl = imgUrl }, - new Album { Title = "Prisoner", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Jezabels"], AlbumArtUrl = imgUrl }, - new Album { Title = "Privateering", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Mark Knopfler"], AlbumArtUrl = imgUrl }, - new Album { Title = "Prokofiev: Romeo & Juliet", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Michael Tilson Thomas"], AlbumArtUrl = imgUrl }, - new Album { Title = "Prokofiev: Symphony No.1", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sergei Prokofiev & Yuri Temirkanov"], AlbumArtUrl = imgUrl }, - new Album { Title = "PSY's Best 6th Part 1", Genre = genres["Pop"], Price = 8.99M, Artist = artists["PSY"], AlbumArtUrl = imgUrl }, - new Album { Title = "Purcell: The Fairy Queen", Genre = genres["Classical"], Price = 8.99M, Artist = artists["London Classical Players"], AlbumArtUrl = imgUrl }, - new Album { Title = "Purpendicular", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Purple", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Stone Temple Pilots"], AlbumArtUrl = imgUrl }, - new Album { Title = "Quanta Gente Veio Ver (Live)", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Gilberto Gil"], AlbumArtUrl = imgUrl }, - new Album { Title = "Quanta Gente Veio ver--Bônus De Carnaval", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Gilberto Gil"], AlbumArtUrl = imgUrl }, - new Album { Title = "Quiet Songs", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Aisha Duo"], AlbumArtUrl = imgUrl }, - new Album { Title = "Raices", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Los Tigres del Norte"], AlbumArtUrl = imgUrl }, - new Album { Title = "Raising Hell", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Run DMC"], AlbumArtUrl = imgUrl }, - new Album { Title = "Raoul and the Kings of Spain ", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Tears For Fears"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rattle And Hum", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Raul Seixas", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Raul Seixas"], AlbumArtUrl = imgUrl }, - new Album { Title = "Recovery [Explicit]", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Eminem"], AlbumArtUrl = imgUrl }, - new Album { Title = "Reign In Blood", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Slayer"], AlbumArtUrl = imgUrl }, - new Album { Title = "Relayed", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Yes"], AlbumArtUrl = imgUrl }, - new Album { Title = "ReLoad", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Respighi:Pines of Rome", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Eugene Ormandy"], AlbumArtUrl = imgUrl }, - new Album { Title = "Restless and Wild", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Accept"], AlbumArtUrl = imgUrl }, - new Album { Title = "Retrospective I (1974-1980)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Rush"], AlbumArtUrl = imgUrl }, - new Album { Title = "Revelations", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Audioslave"], AlbumArtUrl = imgUrl }, - new Album { Title = "Revolver", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Beatles"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ride the Lighting ", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ride The Lightning", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ring My Bell", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Anita Ward"], AlbumArtUrl = imgUrl }, - new Album { Title = "Riot Act", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pearl Jam"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rise of the Phoenix", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Before the Dawn"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rock In Rio [CD1]", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rock In Rio [CD2]", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rock In Rio [CD2]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Roda De Funk", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Funk Como Le Gusta"], AlbumArtUrl = imgUrl }, - new Album { Title = "Room for Squares", Genre = genres["Pop"], Price = 8.99M, Artist = artists["John Mayer"], AlbumArtUrl = imgUrl }, - new Album { Title = "Root Down", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Jimmy Smith"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rounds", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Four Tet"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rubber Factory", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Black Keys"], AlbumArtUrl = imgUrl }, - new Album { Title = "Rust in Peace", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Megadeth"], AlbumArtUrl = imgUrl }, - new Album { Title = "Sambas De Enredo 2001", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Various Artists"], AlbumArtUrl = imgUrl }, - new Album { Title = "Santana - As Years Go By", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Santana"], AlbumArtUrl = imgUrl }, - new Album { Title = "Santana Live", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Santana"], AlbumArtUrl = imgUrl }, - new Album { Title = "Saturday Night Fever", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Bee Gees"], AlbumArtUrl = imgUrl }, - new Album { Title = "Scary Monsters and Nice Sprites", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Skrillex"], AlbumArtUrl = imgUrl }, - new Album { Title = "Scheherazade", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Chicago Symphony Orchestra & Fritz Reiner"], AlbumArtUrl = imgUrl }, - new Album { Title = "SCRIABIN: Vers la flamme", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Christopher O'Riley"], AlbumArtUrl = imgUrl }, - new Album { Title = "Second Coming", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Stone Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "Serie Sem Limite (Disc 1)", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Tim Maia"], AlbumArtUrl = imgUrl }, - new Album { Title = "Serie Sem Limite (Disc 2)", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Tim Maia"], AlbumArtUrl = imgUrl }, - new Album { Title = "Serious About Men", Genre = genres["Rap"], Price = 8.99M, Artist = artists["The Rubberbandits"], AlbumArtUrl = imgUrl }, - new Album { Title = "Seventh Son of a Seventh Son", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Short Bus", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Filter"], AlbumArtUrl = imgUrl }, - new Album { Title = "Sibelius: Finlandia", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Berliner Philharmoniker"], AlbumArtUrl = imgUrl }, - new Album { Title = "Singles Collection", Genre = genres["Rock"], Price = 8.99M, Artist = artists["David Bowie"], AlbumArtUrl = imgUrl }, - new Album { Title = "Six Degrees of Inner Turbulence", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Dream Theater"], AlbumArtUrl = imgUrl }, - new Album { Title = "Slave To The Empire", Genre = genres["Metal"], Price = 8.99M, Artist = artists["T&N"], AlbumArtUrl = imgUrl }, - new Album { Title = "Slaves And Masters", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Slouching Towards Bethlehem", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Robert James"], AlbumArtUrl = imgUrl }, - new Album { Title = "Smash", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Offspring"], AlbumArtUrl = imgUrl }, - new Album { Title = "Something Special", Genre = genres["Country"], Price = 8.99M, Artist = artists["Dolly Parton"], AlbumArtUrl = imgUrl }, - new Album { Title = "Somewhere in Time", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Song(s) You Know By Heart", Genre = genres["Country"], Price = 8.99M, Artist = artists["Jimmy Buffett"], AlbumArtUrl = imgUrl }, - new Album { Title = "Sound of Music", Genre = genres["Punk"], Price = 8.99M, Artist = artists["Adicts"], AlbumArtUrl = imgUrl }, - new Album { Title = "South American Getaway", Genre = genres["Classical"], Price = 8.99M, Artist = artists["The 12 Cellists of The Berlin Philharmonic"], AlbumArtUrl = imgUrl }, - new Album { Title = "Sozinho Remix Ao Vivo", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Caetano Veloso"], AlbumArtUrl = imgUrl }, - new Album { Title = "Speak of the Devil", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Spiritual State", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Nujabes"], AlbumArtUrl = imgUrl }, - new Album { Title = "St. Anger", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Metallica"], AlbumArtUrl = imgUrl }, - new Album { Title = "Still Life", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Opeth"], AlbumArtUrl = imgUrl }, - new Album { Title = "Stop Making Sense", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Talking Heads"], AlbumArtUrl = imgUrl }, - new Album { Title = "Stormbringer", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "Stranger than Fiction", Genre = genres["Punk"], Price = 8.99M, Artist = artists["Bad Religion"], AlbumArtUrl = imgUrl }, - new Album { Title = "Strauss: Waltzes", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Eugene Ormandy"], AlbumArtUrl = imgUrl }, - new Album { Title = "Supermodified", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Amon Tobin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Supernatural", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Santana"], AlbumArtUrl = imgUrl }, - new Album { Title = "Surfing with the Alien (Remastered)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Joe Satriani"], AlbumArtUrl = imgUrl }, - new Album { Title = "Switched-On Bach", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Wendy Carlos"], AlbumArtUrl = imgUrl }, - new Album { Title = "Symphony", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Szymanowski: Piano Works, Vol. 1", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Martin Roscoe"], AlbumArtUrl = imgUrl }, - new Album { Title = "Tchaikovsky: The Nutcracker", Genre = genres["Classical"], Price = 8.99M, Artist = artists["London Symphony Orchestra"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ted Nugent", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Ted Nugent"], AlbumArtUrl = imgUrl }, - new Album { Title = "Teflon Don", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Rick Ross"], AlbumArtUrl = imgUrl }, - new Album { Title = "Tell Another Joke at the Ol' Choppin' Block", Genre = genres["Indie"], Price = 8.99M, Artist = artists["Danielson Famile"], AlbumArtUrl = imgUrl }, - new Album { Title = "Temple of the Dog", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Temple of the Dog"], AlbumArtUrl = imgUrl }, - new Album { Title = "Ten", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pearl Jam"], AlbumArtUrl = imgUrl }, - new Album { Title = "Texas Flood", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Stevie Ray Vaughan"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Battle Rages On", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Beast Live", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Paul D'Ianno"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best Of 1980-1990", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best of 1990–2000", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best of Beethoven", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Nicolaus Esterhazy Sinfonia"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best Of Billy Cobham", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Billy Cobham"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best of Ed Motta", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Ed Motta"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Best Of Van Halen, Vol. I", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Van Halen"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Bridge", Genre = genres["R&B"], Price = 8.99M, Artist = artists["Melanie Fiona"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Cage", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Tygers of Pan Tang"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Chicago Transit Authority", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Chicago "], AlbumArtUrl = imgUrl }, - new Album { Title = "The Chronic", Genre = genres["Rap"], Price = 8.99M, Artist = artists["Dr. Dre"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Colour And The Shape", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Foo Fighters"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Crane Wife", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["The Decemberists"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Cream Of Clapton", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Eric Clapton"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Cure", Genre = genres["Pop"], Price = 8.99M, Artist = artists["The Cure"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Dark Side Of The Moon", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pink Floyd"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Divine Conspiracy", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Epica"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Doors", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Doors"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Dream of the Blue Turtles", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Sting"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Essential Miles Davis [Disc 1]", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Miles Davis"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Essential Miles Davis [Disc 2]", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Miles Davis"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Final Concerts (Disc 2)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deep Purple"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Final Frontier", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Head and the Heart", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Head and the Heart"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Joshua Tree", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Last Night of the Proms", Genre = genres["Classical"], Price = 8.99M, Artist = artists["BBC Concert Orchestra"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Lumineers", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Lumineers"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Number of The Beast", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Number of The Beast", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Police Greatest Hits", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Police"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Song Remains The Same (Disc 1)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Song Remains The Same (Disc 2)", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Southern Harmony and Musical Companion", Genre = genres["Blues"], Price = 8.99M, Artist = artists["The Black Crowes"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Spade", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Butch Walker & The Black Widows"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Stone Roses", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Stone Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Suburbs", Genre = genres["Indie"], Price = 8.99M, Artist = artists["Arcade Fire"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Three Tenors Disc1/Disc2", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Carreras, Pavarotti, Domingo"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Trees They Grow So High", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "The Wall", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pink Floyd"], AlbumArtUrl = imgUrl }, - new Album { Title = "The X Factor", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Them Crooked Vultures", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Them Crooked Vultures"], AlbumArtUrl = imgUrl }, - new Album { Title = "This Is Happening", Genre = genres["Rock"], Price = 8.99M, Artist = artists["LCD Soundsystem"], AlbumArtUrl = imgUrl }, - new Album { Title = "Thunder, Lightning, Strike", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Go! Team"], AlbumArtUrl = imgUrl }, - new Album { Title = "Time to Say Goodbye", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sarah Brightman"], AlbumArtUrl = imgUrl }, - new Album { Title = "Time, Love & Tenderness", Genre = genres["Pop"], Price = 8.99M, Artist = artists["Michael Bolton"], AlbumArtUrl = imgUrl }, - new Album { Title = "Tomorrow Starts Today", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Mobile"], AlbumArtUrl = imgUrl }, - new Album { Title = "Tribute", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Ozzy Osbourne"], AlbumArtUrl = imgUrl }, - new Album { Title = "Tuesday Night Music Club", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Sheryl Crow"], AlbumArtUrl = imgUrl }, - new Album { Title = "Umoja", Genre = genres["Rock"], Price = 8.99M, Artist = artists["BLØF"], AlbumArtUrl = imgUrl }, - new Album { Title = "Under the Pink", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Tori Amos"], AlbumArtUrl = imgUrl }, - new Album { Title = "Undertow", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Tool"], AlbumArtUrl = imgUrl }, - new Album { Title = "Un-Led-Ed", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Dread Zeppelin"], AlbumArtUrl = imgUrl }, - new Album { Title = "Unplugged [Live]", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Kiss"], AlbumArtUrl = imgUrl }, - new Album { Title = "Unplugged", Genre = genres["Blues"], Price = 8.99M, Artist = artists["Eric Clapton"], AlbumArtUrl = imgUrl }, - new Album { Title = "Unplugged", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Eric Clapton"], AlbumArtUrl = imgUrl }, - new Album { Title = "Untrue", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Burial"], AlbumArtUrl = imgUrl }, - new Album { Title = "Use Your Illusion I", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Guns N' Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "Use Your Illusion II", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Guns N' Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "Use Your Illusion II", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Guns N' Roses"], AlbumArtUrl = imgUrl }, - new Album { Title = "Van Halen III", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Van Halen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Van Halen", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Van Halen"], AlbumArtUrl = imgUrl }, - new Album { Title = "Version 2.0", Genre = genres["Alternative"], Price = 8.99M, Artist = artists["Garbage"], AlbumArtUrl = imgUrl }, - new Album { Title = "Vinicius De Moraes", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Vinícius De Moraes"], AlbumArtUrl = imgUrl }, - new Album { Title = "Virtual XI", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Iron Maiden"], AlbumArtUrl = imgUrl }, - new Album { Title = "Voodoo Lounge", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Rolling Stones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Vozes do MPB", Genre = genres["Latin"], Price = 8.99M, Artist = artists["Various Artists"], AlbumArtUrl = imgUrl }, - new Album { Title = "Vs.", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pearl Jam"], AlbumArtUrl = imgUrl }, - new Album { Title = "Wagner: Favourite Overtures", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Sir Georg Solti & Wiener Philharmoniker"], AlbumArtUrl = imgUrl }, - new Album { Title = "Walking Into Clarksdale", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Page & Plant"], AlbumArtUrl = imgUrl }, - new Album { Title = "Wapi Yo", Genre = genres["World"], Price = 8.99M, Artist = artists["Lokua Kanza"], AlbumArtUrl = imgUrl }, - new Album { Title = "War", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Warner 25 Anos", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Antônio Carlos Jobim"], AlbumArtUrl = imgUrl }, - new Album { Title = "Wasteland R&Btheque", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Raunchy"], AlbumArtUrl = imgUrl }, - new Album { Title = "Watermark", Genre = genres["Electronic"], Price = 8.99M, Artist = artists["Enya"], AlbumArtUrl = imgUrl }, - new Album { Title = "We Were Exploding Anyway", Genre = genres["Rock"], Price = 8.99M, Artist = artists["65daysofstatic"], AlbumArtUrl = imgUrl }, - new Album { Title = "Weill: The Seven Deadly Sins", Genre = genres["Classical"], Price = 8.99M, Artist = artists["Orchestre de l'Opéra de Lyon"], AlbumArtUrl = imgUrl }, - new Album { Title = "White Pony", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Deftones"], AlbumArtUrl = imgUrl }, - new Album { Title = "Who's Next", Genre = genres["Rock"], Price = 8.99M, Artist = artists["The Who"], AlbumArtUrl = imgUrl }, - new Album { Title = "Wish You Were Here", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Pink Floyd"], AlbumArtUrl = imgUrl }, - new Album { Title = "With Oden on Our Side", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Amon Amarth"], AlbumArtUrl = imgUrl }, - new Album { Title = "Worlds", Genre = genres["Jazz"], Price = 8.99M, Artist = artists["Aaron Goldberg"], AlbumArtUrl = imgUrl }, - new Album { Title = "Worship Music", Genre = genres["Metal"], Price = 8.99M, Artist = artists["Anthrax"], AlbumArtUrl = imgUrl }, - new Album { Title = "X&Y", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Coldplay"], AlbumArtUrl = imgUrl }, - new Album { Title = "Xinti", Genre = genres["World"], Price = 8.99M, Artist = artists["Sara Tavares"], AlbumArtUrl = imgUrl }, - new Album { Title = "Yano", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Yano"], AlbumArtUrl = imgUrl }, - new Album { Title = "Yesterday Once More Disc 1/Disc 2", Genre = genres["Pop"], Price = 8.99M, Artist = artists["The Carpenters"], AlbumArtUrl = imgUrl }, - new Album { Title = "Zooropa", Genre = genres["Rock"], Price = 8.99M, Artist = artists["U2"], AlbumArtUrl = imgUrl }, - new Album { Title = "Zoso", Genre = genres["Rock"], Price = 8.99M, Artist = artists["Led Zeppelin"], AlbumArtUrl = imgUrl }, - }; - - foreach (var album in albums) - { - album.ArtistId = album.Artist.ArtistId; - album.GenreId = album.Genre.GenreId; - } - - return albums; - } - - private static Dictionary artists; - public static Dictionary Artists - { - get - { - if (artists == null) - { - var artistsList = new Artist[] - { - new Artist { Name = "65daysofstatic" }, - new Artist { Name = "Aaron Goldberg" }, - new Artist { Name = "Above & Beyond" }, - new Artist { Name = "Above the Fold" }, - new Artist { Name = "AC/DC" }, - new Artist { Name = "Accept" }, - new Artist { Name = "Adicts" }, - new Artist { Name = "Adrian Leaper & Doreen de Feis" }, - new Artist { Name = "Aerosmith" }, - new Artist { Name = "Aisha Duo" }, - new Artist { Name = "Al di Meola" }, - new Artist { Name = "Alabama Shakes" }, - new Artist { Name = "Alanis Morissette" }, - new Artist { Name = "Alberto Turco & Nova Schola Gregoriana" }, - new Artist { Name = "Alice in Chains" }, - new Artist { Name = "Alison Krauss" }, - new Artist { Name = "Amon Amarth" }, - new Artist { Name = "Amon Tobin" }, - new Artist { Name = "Amr Diab" }, - new Artist { Name = "Amy Winehouse" }, - new Artist { Name = "Anita Ward" }, - new Artist { Name = "Anthrax" }, - new Artist { Name = "Antônio Carlos Jobim" }, - new Artist { Name = "Apocalyptica" }, - new Artist { Name = "Aqua" }, - new Artist { Name = "Armand Van Helden" }, - new Artist { Name = "Arcade Fire" }, - new Artist { Name = "Audioslave" }, - new Artist { Name = "Bad Religion" }, - new Artist { Name = "Barenaked Ladies" }, - new Artist { Name = "BBC Concert Orchestra" }, - new Artist { Name = "Bee Gees" }, - new Artist { Name = "Before the Dawn" }, - new Artist { Name = "Berliner Philharmoniker" }, - new Artist { Name = "Billy Cobham" }, - new Artist { Name = "Black Label Society" }, - new Artist { Name = "Black Sabbath" }, - new Artist { Name = "BLØF" }, - new Artist { Name = "Blues Traveler" }, - new Artist { Name = "Boston Symphony Orchestra & Seiji Ozawa" }, - new Artist { Name = "Britten Sinfonia, Ivor Bolton & Lesley Garrett" }, - new Artist { Name = "Bruce Dickinson" }, - new Artist { Name = "Buddy Guy" }, - new Artist { Name = "Burial" }, - new Artist { Name = "Butch Walker & The Black Widows" }, - new Artist { Name = "Caetano Veloso" }, - new Artist { Name = "Cake" }, - new Artist { Name = "Calexico" }, - new Artist { Name = "Carly Rae Jepsen" }, - new Artist { Name = "Carreras, Pavarotti, Domingo" }, - new Artist { Name = "Cássia Eller" }, - new Artist { Name = "Cayouche" }, - new Artist { Name = "Chic" }, - new Artist { Name = "Chicago " }, - new Artist { Name = "Chicago Symphony Orchestra & Fritz Reiner" }, - new Artist { Name = "Chico Buarque" }, - new Artist { Name = "Chico Science & Nação Zumbi" }, - new Artist { Name = "Choir Of Westminster Abbey & Simon Preston" }, - new Artist { Name = "Chris Cornell" }, - new Artist { Name = "Christopher O'Riley" }, - new Artist { Name = "Cidade Negra" }, - new Artist { Name = "Cláudio Zoli" }, - new Artist { Name = "Coldplay" }, - new Artist { Name = "Creedence Clearwater Revival" }, - new Artist { Name = "Crosby, Stills, Nash, and Young" }, - new Artist { Name = "Daft Punk" }, - new Artist { Name = "Danielson Famile" }, - new Artist { Name = "David Bowie" }, - new Artist { Name = "David Coverdale" }, - new Artist { Name = "David Guetta" }, - new Artist { Name = "deadmau5" }, - new Artist { Name = "Deep Purple" }, - new Artist { Name = "Def Leppard" }, - new Artist { Name = "Deftones" }, - new Artist { Name = "Dennis Chambers" }, - new Artist { Name = "Deva Premal" }, - new Artist { Name = "Dio" }, - new Artist { Name = "Djavan" }, - new Artist { Name = "Dolly Parton" }, - new Artist { Name = "Donna Summer" }, - new Artist { Name = "Dr. Dre" }, - new Artist { Name = "Dread Zeppelin" }, - new Artist { Name = "Dream Theater" }, - new Artist { Name = "Duck Sauce" }, - new Artist { Name = "Earl Scruggs" }, - new Artist { Name = "Ed Motta" }, - new Artist { Name = "Edo de Waart & San Francisco Symphony" }, - new Artist { Name = "Elis Regina" }, - new Artist { Name = "Eminem" }, - new Artist { Name = "English Concert & Trevor Pinnock" }, - new Artist { Name = "Enya" }, - new Artist { Name = "Epica" }, - new Artist { Name = "Eric B. and Rakim" }, - new Artist { Name = "Eric Clapton" }, - new Artist { Name = "Eugene Ormandy" }, - new Artist { Name = "Faith No More" }, - new Artist { Name = "Falamansa" }, - new Artist { Name = "Filter" }, - new Artist { Name = "Foo Fighters" }, - new Artist { Name = "Four Tet" }, - new Artist { Name = "Frank Zappa & Captain Beefheart" }, - new Artist { Name = "Fretwork" }, - new Artist { Name = "Funk Como Le Gusta" }, - new Artist { Name = "Garbage" }, - new Artist { Name = "Gerald Moore" }, - new Artist { Name = "Gilberto Gil" }, - new Artist { Name = "Godsmack" }, - new Artist { Name = "Gonzaguinha" }, - new Artist { Name = "Göteborgs Symfoniker & Neeme Järvi" }, - new Artist { Name = "Guns N' Roses" }, - new Artist { Name = "Gustav Mahler" }, - new Artist { Name = "In This Moment" }, - new Artist { Name = "Incognito" }, - new Artist { Name = "INXS" }, - new Artist { Name = "Iron Maiden" }, - new Artist { Name = "Jagjit Singh" }, - new Artist { Name = "James Levine" }, - new Artist { Name = "Jamiroquai" }, - new Artist { Name = "Jimi Hendrix" }, - new Artist { Name = "Jimmy Buffett" }, - new Artist { Name = "Jimmy Smith" }, - new Artist { Name = "Joe Satriani" }, - new Artist { Name = "John Digweed" }, - new Artist { Name = "John Mayer" }, - new Artist { Name = "Jorge Ben" }, - new Artist { Name = "Jota Quest" }, - new Artist { Name = "Journey" }, - new Artist { Name = "Judas Priest" }, - new Artist { Name = "Julian Bream" }, - new Artist { Name = "Justice" }, - new Artist { Name = "Orchestre de l'Opéra de Lyon" }, - new Artist { Name = "King Crimson" }, - new Artist { Name = "Kiss" }, - new Artist { Name = "LCD Soundsystem" }, - new Artist { Name = "Le Tigre" }, - new Artist { Name = "Led Zeppelin" }, - new Artist { Name = "Legião Urbana" }, - new Artist { Name = "Lenny Kravitz" }, - new Artist { Name = "Les Arts Florissants & William Christie" }, - new Artist { Name = "Limp Bizkit" }, - new Artist { Name = "Linkin Park" }, - new Artist { Name = "Live" }, - new Artist { Name = "Lokua Kanza" }, - new Artist { Name = "London Symphony Orchestra" }, - new Artist { Name = "Los Tigres del Norte" }, - new Artist { Name = "Luciana Souza/Romero Lubambo" }, - new Artist { Name = "Lulu Santos" }, - new Artist { Name = "Lura" }, - new Artist { Name = "Marcos Valle" }, - new Artist { Name = "Marillion" }, - new Artist { Name = "Marisa Monte" }, - new Artist { Name = "Mark Knopfler" }, - new Artist { Name = "Martin Roscoe" }, - new Artist { Name = "Massive Attack" }, - new Artist { Name = "Maurizio Pollini" }, - new Artist { Name = "Megadeth" }, - new Artist { Name = "Mela Tenenbaum, Pro Musica Prague & Richard Kapp" }, - new Artist { Name = "Melanie Fiona" }, - new Artist { Name = "Men At Work" }, - new Artist { Name = "Metallica" }, - new Artist { Name = "M-Flo" }, - new Artist { Name = "Michael Bolton" }, - new Artist { Name = "Michael Tilson Thomas" }, - new Artist { Name = "Miles Davis" }, - new Artist { Name = "Milton Nascimento" }, - new Artist { Name = "Mobile" }, - new Artist { Name = "Modest Mouse" }, - new Artist { Name = "Mötley Crüe" }, - new Artist { Name = "Motörhead" }, - new Artist { Name = "Mumford & Sons" }, - new Artist { Name = "Munkle" }, - new Artist { Name = "Nash Ensemble" }, - new Artist { Name = "Neil Young" }, - new Artist { Name = "New York Dolls" }, - new Artist { Name = "Nick Cave and the Bad Seeds" }, - new Artist { Name = "Nicolaus Esterhazy Sinfonia" }, - new Artist { Name = "Nine Inch Nails" }, - new Artist { Name = "Nirvana" }, - new Artist { Name = "Norah Jones" }, - new Artist { Name = "Nujabes" }, - new Artist { Name = "O Terço" }, - new Artist { Name = "Oasis" }, - new Artist { Name = "Olodum" }, - new Artist { Name = "Opeth" }, - new Artist { Name = "Orchestra of The Age of Enlightenment" }, - new Artist { Name = "Os Paralamas Do Sucesso" }, - new Artist { Name = "Ozzy Osbourne" }, - new Artist { Name = "Paddy Casey" }, - new Artist { Name = "Page & Plant" }, - new Artist { Name = "Papa Wemba" }, - new Artist { Name = "Paul D'Ianno" }, - new Artist { Name = "Paul Oakenfold" }, - new Artist { Name = "Paul Van Dyk" }, - new Artist { Name = "Pearl Jam" }, - new Artist { Name = "Pet Shop Boys" }, - new Artist { Name = "Pink Floyd" }, - new Artist { Name = "Plug" }, - new Artist { Name = "Porcupine Tree" }, - new Artist { Name = "Portishead" }, - new Artist { Name = "Prince" }, - new Artist { Name = "Projected" }, - new Artist { Name = "PSY" }, - new Artist { Name = "Public Enemy" }, - new Artist { Name = "Queen" }, - new Artist { Name = "Queensrÿche" }, - new Artist { Name = "R.E.M." }, - new Artist { Name = "Radiohead" }, - new Artist { Name = "Rancid" }, - new Artist { Name = "Raul Seixas" }, - new Artist { Name = "Raunchy" }, - new Artist { Name = "Red Hot Chili Peppers" }, - new Artist { Name = "Rick Ross" }, - new Artist { Name = "Robert James" }, - new Artist { Name = "London Classical Players" }, - new Artist { Name = "Royal Philharmonic Orchestra" }, - new Artist { Name = "Run DMC" }, - new Artist { Name = "Rush" }, - new Artist { Name = "Santana" }, - new Artist { Name = "Sara Tavares" }, - new Artist { Name = "Sarah Brightman" }, - new Artist { Name = "Sasha" }, - new Artist { Name = "Scholars Baroque Ensemble" }, - new Artist { Name = "Scorpions" }, - new Artist { Name = "Sergei Prokofiev & Yuri Temirkanov" }, - new Artist { Name = "Sheryl Crow" }, - new Artist { Name = "Sir Georg Solti & Wiener Philharmoniker" }, - new Artist { Name = "Skank" }, - new Artist { Name = "Skrillex" }, - new Artist { Name = "Slash" }, - new Artist { Name = "Slayer" }, - new Artist { Name = "Soul-Junk" }, - new Artist { Name = "Soundgarden" }, - new Artist { Name = "Spyro Gyra" }, - new Artist { Name = "Stevie Ray Vaughan & Double Trouble" }, - new Artist { Name = "Stevie Ray Vaughan" }, - new Artist { Name = "Sting" }, - new Artist { Name = "Stone Temple Pilots" }, - new Artist { Name = "Styx" }, - new Artist { Name = "Sufjan Stevens" }, - new Artist { Name = "Supreme Beings of Leisure" }, - new Artist { Name = "System Of A Down" }, - new Artist { Name = "T&N" }, - new Artist { Name = "Talking Heads" }, - new Artist { Name = "Tears For Fears" }, - new Artist { Name = "Ted Nugent" }, - new Artist { Name = "Temple of the Dog" }, - new Artist { Name = "Terry Bozzio, Tony Levin & Steve Stevens" }, - new Artist { Name = "The 12 Cellists of The Berlin Philharmonic" }, - new Artist { Name = "The Axis of Awesome" }, - new Artist { Name = "The Beatles" }, - new Artist { Name = "The Black Crowes" }, - new Artist { Name = "The Black Keys" }, - new Artist { Name = "The Carpenters" }, - new Artist { Name = "The Cat Empire" }, - new Artist { Name = "The Cult" }, - new Artist { Name = "The Cure" }, - new Artist { Name = "The Decemberists" }, - new Artist { Name = "The Doors" }, - new Artist { Name = "The Eagles of Death Metal" }, - new Artist { Name = "The Go! Team" }, - new Artist { Name = "The Head and the Heart" }, - new Artist { Name = "The Jezabels" }, - new Artist { Name = "The King's Singers" }, - new Artist { Name = "The Lumineers" }, - new Artist { Name = "The Offspring" }, - new Artist { Name = "The Police" }, - new Artist { Name = "The Posies" }, - new Artist { Name = "The Prodigy" }, - new Artist { Name = "The Rolling Stones" }, - new Artist { Name = "The Rubberbandits" }, - new Artist { Name = "The Smashing Pumpkins" }, - new Artist { Name = "The Stone Roses" }, - new Artist { Name = "The Who" }, - new Artist { Name = "Them Crooked Vultures" }, - new Artist { Name = "TheStart" }, - new Artist { Name = "Thievery Corporation" }, - new Artist { Name = "Tiësto" }, - new Artist { Name = "Tim Maia" }, - new Artist { Name = "Ton Koopman" }, - new Artist { Name = "Tool" }, - new Artist { Name = "Tori Amos" }, - new Artist { Name = "Trampled By Turtles" }, - new Artist { Name = "Trans-Siberian Orchestra" }, - new Artist { Name = "Tygers of Pan Tang" }, - new Artist { Name = "U2" }, - new Artist { Name = "UB40" }, - new Artist { Name = "Uh Huh Her " }, - new Artist { Name = "Van Halen" }, - new Artist { Name = "Various Artists" }, - new Artist { Name = "Velvet Revolver" }, - new Artist { Name = "Venus Hum" }, - new Artist { Name = "Vicente Fernandez" }, - new Artist { Name = "Vinícius De Moraes" }, - new Artist { Name = "Weezer" }, - new Artist { Name = "Weird Al" }, - new Artist { Name = "Wendy Carlos" }, - new Artist { Name = "Wilhelm Kempff" }, - new Artist { Name = "Yano" }, - new Artist { Name = "Yehudi Menuhin" }, - new Artist { Name = "Yes" }, - new Artist { Name = "Yo-Yo Ma" }, - new Artist { Name = "Zeca Pagodinho" }, - new Artist { Name = "אריק אינשטיין"} - }; - - // TODO [EF] Swap to store generated keys when available - int artistId = 1; - artists = new Dictionary(); - foreach (Artist artist in artistsList) - { - artist.ArtistId = artistId++; - artists.Add(artist.Name, artist); - } - } - - return artists; - } - } - - private static Dictionary genres; - public static Dictionary Genres - { - get - { - if (genres == null) - { - var genresList = new Genre[] - { - new Genre { Name = "Pop" }, - new Genre { Name = "Rock" }, - new Genre { Name = "Jazz" }, - new Genre { Name = "Metal" }, - new Genre { Name = "Electronic" }, - new Genre { Name = "Blues" }, - new Genre { Name = "Latin" }, - new Genre { Name = "Rap" }, - new Genre { Name = "Classical" }, - new Genre { Name = "Alternative" }, - new Genre { Name = "Country" }, - new Genre { Name = "R&B" }, - new Genre { Name = "Indie" }, - new Genre { Name = "Punk" }, - new Genre { Name = "World" } - }; - - genres = new Dictionary(); - // TODO [EF] Swap to store generated keys when available - int genreId = 1; - foreach (Genre genre in genresList) - { - genre.GenreId = genreId++; - - // TODO [EF] Remove when null values are supported by update pipeline - genre.Description = genre.Name + " is great music (if you like it)."; - - genres.Add(genre.Name, genre); - } - } - - return genres; - } - } - } -} diff --git a/samples/react/MusicStore/Apis/Models/ShoppingCart.cs b/samples/react/MusicStore/Apis/Models/ShoppingCart.cs deleted file mode 100644 index 1d2465a..0000000 --- a/samples/react/MusicStore/Apis/Models/ShoppingCart.cs +++ /dev/null @@ -1,207 +0,0 @@ -using Microsoft.AspNetCore.Http; -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace MusicStore.Models -{ - public partial class ShoppingCart - { - MusicStoreContext _db; - string ShoppingCartId { get; set; } - - public ShoppingCart(MusicStoreContext db) - { - _db = db; - } - - public static ShoppingCart GetCart(MusicStoreContext db, HttpContext context) - { - var cart = new ShoppingCart(db); - cart.ShoppingCartId = cart.GetCartId(context); - return cart; - } - - public void AddToCart(Album album) - { - // Get the matching cart and album instances - var cartItem = _db.CartItems.SingleOrDefault( - c => c.CartId == ShoppingCartId - && c.AlbumId == album.AlbumId); - - if (cartItem == null) - { - // TODO [EF] Swap to store generated key once we support identity pattern - var nextCartItemId = _db.CartItems.Any() - ? _db.CartItems.Max(c => c.CartItemId) + 1 - : 1; - - // Create a new cart item if no cart item exists - cartItem = new CartItem - { - CartItemId = nextCartItemId, - AlbumId = album.AlbumId, - CartId = ShoppingCartId, - Count = 1, - DateCreated = DateTime.Now - }; - - _db.CartItems.Add(cartItem); - } - else - { - // If the item does exist in the cart, then add one to the quantity - cartItem.Count++; - - // TODO [EF] Remove this line once change detection is available - _db.Update(cartItem); - } - } - - public int RemoveFromCart(int id) - { - // Get the cart - var cartItem = _db.CartItems.Single( - cart => cart.CartId == ShoppingCartId - && cart.CartItemId == id); - - int itemCount = 0; - - if (cartItem != null) - { - if (cartItem.Count > 1) - { - cartItem.Count--; - - // TODO [EF] Remove this line once change detection is available - _db.Update(cartItem); - - itemCount = cartItem.Count; - } - else - { - _db.CartItems.Remove(cartItem); - } - } - - return itemCount; - } - - public void EmptyCart() - { - var cartItems = _db.CartItems.Where(cart => cart.CartId == ShoppingCartId); - - foreach (var cartItem in cartItems) - { - _db.Remove(cartItem); - } - } - - public List GetCartItems() - { - var cartItems = _db.CartItems.Where(cart => cart.CartId == ShoppingCartId).ToList(); - //TODO: Auto population of the related album data not available until EF feature is lighted up. - foreach (var cartItem in cartItems) - { - cartItem.Album = _db.Albums.Single(a => a.AlbumId == cartItem.AlbumId); - } - - return cartItems; - } - - public int GetCount() - { - // Get the count of each item in the cart and sum them up - int? count = (from cartItems in _db.CartItems - where cartItems.CartId == ShoppingCartId - select (int?)cartItems.Count).Sum(); - - // Return 0 if all entries are null - return count ?? 0; - } - - public decimal GetTotal() - { - // Multiply album price by count of that album to get - // the current price for each of those albums in the cart - // sum all album price totals to get the cart total - - // TODO Collapse to a single query once EF supports querying related data - decimal total = 0; - foreach (var item in _db.CartItems.Where(c => c.CartId == ShoppingCartId)) - { - var album = _db.Albums.Single(a => a.AlbumId == item.AlbumId); - total += item.Count * album.Price; - } - - return total; - } - - public int CreateOrder(Order order) - { - decimal orderTotal = 0; - - var cartItems = GetCartItems(); - - // TODO [EF] Swap to store generated identity key when supported - var nextId = _db.OrderDetails.Any() - ? _db.OrderDetails.Max(o => o.OrderDetailId) + 1 - : 1; - - // Iterate over the items in the cart, adding the order details for each - foreach (var item in cartItems) - { - //var album = _db.Albums.Find(item.AlbumId); - var album = _db.Albums.Single(a => a.AlbumId == item.AlbumId); - - var orderDetail = new OrderDetail - { - OrderDetailId = nextId, - AlbumId = item.AlbumId, - OrderId = order.OrderId, - UnitPrice = album.Price, - Quantity = item.Count, - }; - - // Set the order total of the shopping cart - orderTotal += (item.Count * album.Price); - - _db.OrderDetails.Add(orderDetail); - - nextId++; - } - - // Set the order's total to the orderTotal count - order.Total = orderTotal; - - // Empty the shopping cart - EmptyCart(); - - // Return the OrderId as the confirmation number - return order.OrderId; - } - - // We're using HttpContextBase to allow access to cookies. - public string GetCartId(HttpContext context) - { - var sessionCookie = context.Request.Cookies["Session"]; - string cartId = null; - - if (string.IsNullOrWhiteSpace(sessionCookie)) - { - //A GUID to hold the cartId. - cartId = Guid.NewGuid().ToString(); - - // Send cart Id as a cookie to the client. - context.Response.Cookies.Append("Session", cartId); - } - else - { - cartId = sessionCookie; - } - - return cartId; - } - } -} diff --git a/samples/react/MusicStore/Controllers/HomeController.cs b/samples/react/MusicStore/Controllers/HomeController.cs deleted file mode 100755 index 1048e08..0000000 --- a/samples/react/MusicStore/Controllers/HomeController.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; - -namespace MusicStore.Controllers -{ - public class HomeController : Controller - { - public IActionResult Index() - { - return View(); - } - } -} diff --git a/samples/react/MusicStore/Infrastructure/NoCacheAttribute.cs b/samples/react/MusicStore/Infrastructure/NoCacheAttribute.cs deleted file mode 100644 index 856023a..0000000 --- a/samples/react/MusicStore/Infrastructure/NoCacheAttribute.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using System; -using Microsoft.AspNetCore.Mvc.Filters; - -namespace MusicStore.Infrastructure -{ - [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] - public sealed class NoCacheAttribute : ActionFilterAttribute - { - public override void OnResultExecuting(ResultExecutingContext context) - { - context.HttpContext.Response.Headers["Cache-Control"] = "no-cache, no-store, max-age=0"; - context.HttpContext.Response.Headers["Pragma"] = "no-cache"; - context.HttpContext.Response.Headers["Expires"] = "-1"; - - base.OnResultExecuting(context); - } - } -} diff --git a/samples/react/MusicStore/Infrastructure/PagedList.cs b/samples/react/MusicStore/Infrastructure/PagedList.cs deleted file mode 100644 index b2cb2c5..0000000 --- a/samples/react/MusicStore/Infrastructure/PagedList.cs +++ /dev/null @@ -1,150 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Threading.Tasks; - -namespace MusicStore.Infrastructure -{ - public interface IPagedList - { - IEnumerable Data { get; } - - int Page { get; } - - int PageSize { get; } - - int TotalCount { get; } - } - - internal class PagedList : IPagedList - { - public PagedList(IEnumerable data, int page, int pageSize, int totalCount) - { - Data = data; - Page = page; - PageSize = pageSize; - TotalCount = totalCount; - } - - public IEnumerable Data { get; private set; } - - public int Page { get; private set; } - - public int PageSize { get; private set; } - - public int TotalCount { get; private set; } - } - - public static class PagedListExtensions - { - public static IPagedList ToPagedList(this IQueryable query, int page, int pageSize) - { - if (query == null) - { - throw new ArgumentNullException("query"); - } - - var pagingConfig = new PagingConfig(page, pageSize); - var skipCount = ValidatePagePropertiesAndGetSkipCount(pagingConfig); - - var data = query - .Skip(skipCount) - .Take(pagingConfig.PageSize) - .ToList(); - - if (skipCount > 0 && data.Count == 0) - { - // Requested page has no records, just return the first page - pagingConfig.Page = 1; - data = query - .Take(pagingConfig.PageSize) - .ToList(); - } - - return new PagedList(data, pagingConfig.Page, pagingConfig.PageSize, query.Count()); - } - - public static Task> ToPagedListAsync(this IQueryable query, int page, int pageSize, string sortExpression, Expression> defaultSortExpression, SortDirection defaultSortDirection = SortDirection.Ascending) - where TModel : class - { - return ToPagedListAsync(query, page, pageSize, sortExpression, defaultSortExpression, defaultSortDirection, null); - } - - public static async Task> ToPagedListAsync(this IQueryable query, int page, int pageSize, string sortExpression, Expression> defaultSortExpression, SortDirection defaultSortDirection, Func selector) - where TModel : class - where TResult : class - { - if (query == null) - { - throw new ArgumentNullException("query"); - } - - var pagingConfig = new PagingConfig(page, pageSize); - var skipCount = ValidatePagePropertiesAndGetSkipCount(pagingConfig); - var dataQuery = query; - - if (defaultSortExpression != null) - { - dataQuery = dataQuery - .SortBy(sortExpression, defaultSortExpression); - } - - var data = await dataQuery - .Skip(skipCount) - .Take(pagingConfig.PageSize) - .ToListAsync(); - - if (skipCount > 0 && data.Count == 0) - { - // Requested page has no records, just return the first page - pagingConfig.Page = 1; - data = await dataQuery - .Take(pagingConfig.PageSize) - .ToListAsync(); - } - - var count = await query.CountAsync(); - - var resultData = selector != null - ? data.Select(selector) - : data.Cast(); - - return new PagedList(resultData, pagingConfig.Page, pagingConfig.PageSize, count); - } - - private static int ValidatePagePropertiesAndGetSkipCount(PagingConfig pagingConfig) - { - if (pagingConfig.Page < 1) - { - pagingConfig.Page = 1; - } - - if (pagingConfig.PageSize < 10) - { - pagingConfig.PageSize = 10; - } - - if (pagingConfig.PageSize > 100) - { - pagingConfig.PageSize = 100; - } - - return pagingConfig.PageSize * (pagingConfig.Page - 1); - } - - internal class PagingConfig - { - public PagingConfig(int page, int pageSize) - { - Page = page; - PageSize = pageSize; - } - - public int Page { get; set; } - - public int PageSize { get; set; } - } - } -} diff --git a/samples/react/MusicStore/Infrastructure/SortDirection.cs b/samples/react/MusicStore/Infrastructure/SortDirection.cs deleted file mode 100644 index 28f7e86..0000000 --- a/samples/react/MusicStore/Infrastructure/SortDirection.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -namespace MusicStore.Infrastructure -{ - public enum SortDirection - { - Ascending, - Descending - } -} diff --git a/samples/react/MusicStore/Infrastructure/SortExpression.cs b/samples/react/MusicStore/Infrastructure/SortExpression.cs deleted file mode 100644 index 88ba312..0000000 --- a/samples/react/MusicStore/Infrastructure/SortExpression.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc.ViewFeatures.Internal; - -namespace MusicStore.Infrastructure -{ - public static class SortExpression - { - private const string SORT_DIRECTION_DESC = " DESC"; - - public static IQueryable SortBy(this IQueryable query, string sortExpression, Expression> defaultSortExpression, SortDirection defaultSortDirection = SortDirection.Ascending) where TModel : class - { - return SortBy(query, sortExpression ?? Create(defaultSortExpression, defaultSortDirection)); - } - - public static string Create(Expression> expression, SortDirection sortDirection = SortDirection.Ascending) where TModel : class - { - var expressionText = ExpressionHelper.GetExpressionText(expression); - // TODO: Validate the expression depth, etc. - - var sortExpression = expressionText; - - if (sortDirection == SortDirection.Descending) - { - sortExpression += SORT_DIRECTION_DESC; - } - - return sortExpression; - } - - public static IQueryable SortBy(this IQueryable source, string sortExpression) where T : class - { - if (source == null) - { - throw new ArgumentNullException("source"); - } - - if (String.IsNullOrWhiteSpace(sortExpression)) - { - return source; - } - - sortExpression = sortExpression.Trim(); - var isDescending = false; - - // DataSource control passes the sort parameter with a direction - // if the direction is descending - if (sortExpression.EndsWith(SORT_DIRECTION_DESC, StringComparison.OrdinalIgnoreCase)) - { - isDescending = true; - var descIndex = sortExpression.Length - SORT_DIRECTION_DESC.Length; - sortExpression = sortExpression.Substring(0, descIndex).Trim(); - } - - if (string.IsNullOrEmpty(sortExpression)) - { - return source; - } - - ParameterExpression parameter = Expression.Parameter(source.ElementType, String.Empty); - - // Build up the property expression, e.g.: (m => m.Foo.Bar) - var sortExpressionParts = sortExpression.Split('.'); - Expression propertyExpression = parameter; - foreach (var property in sortExpressionParts) - { - propertyExpression = Expression.Property(propertyExpression, property); - } - - LambdaExpression lambda = Expression.Lambda(propertyExpression, parameter); - - var methodName = (isDescending) ? "OrderByDescending" : "OrderBy"; - - Expression methodCallExpression = Expression.Call( - typeof(Queryable), - methodName, - new[] { source.ElementType, propertyExpression.Type }, - source.Expression, - Expression.Quote(lambda)); - - return (IQueryable)source.Provider.CreateQuery(methodCallExpression); - } - } -} diff --git a/samples/react/MusicStore/MusicStore.csproj b/samples/react/MusicStore/MusicStore.csproj deleted file mode 100644 index e8ab8d9..0000000 --- a/samples/react/MusicStore/MusicStore.csproj +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - netcoreapp2.0 - true - false - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/react/MusicStore/Properties/launchSettings.json b/samples/react/MusicStore/Properties/launchSettings.json deleted file mode 100644 index e436043..0000000 --- a/samples/react/MusicStore/Properties/launchSettings.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:51586/", - "sslPort": 0 - } - }, - "profiles": { - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "dotnet cli": { - "commandName": "Project", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} \ No newline at end of file diff --git a/samples/react/MusicStore/ReactApp/boot-server.tsx b/samples/react/MusicStore/ReactApp/boot-server.tsx deleted file mode 100644 index 7aaa1f1..0000000 --- a/samples/react/MusicStore/ReactApp/boot-server.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import * as React from 'react'; -import { Provider } from 'react-redux'; -import { renderToString } from 'react-dom/server'; -import { match, RouterContext } from 'react-router'; -import createMemoryHistory from 'history/lib/createMemoryHistory'; -import { routes } from './routes'; -import configureStore from './configureStore'; -type BootResult = { html?: string, globals?: { [key: string]: any }, redirectUrl?: string}; - -export default function (params: any): Promise<{ html: string }> { - return new Promise((resolve, reject) => { - // Match the incoming request against the list of client-side routes - match({ routes, location: params.location }, (error, redirectLocation, renderProps: any) => { - if (error) { - throw error; - } - - // If there's a redirection, just send this information back to the host application - if (redirectLocation) { - resolve({ redirectUrl: redirectLocation.pathname }); - return; - } - - // If it didn't match any route, renderProps will be undefined - if (!renderProps) { - throw new Error(`The location '${ params.url }' doesn't match any route configured in react-router.`); - } - - // Build an instance of the application - const store = configureStore(); - const app = ( - - - - ); - - // Perform an initial render that will cause any async tasks (e.g., data access) to begin - renderToString(app); - - // Once the tasks are done, we can perform the final render - // We also send the redux store state, so the client can continue execution where the server left off - params.domainTasks.then(() => { - resolve({ - html: renderToString(app), - globals: { initialReduxState: store.getState() } - }); - }, reject); // Also propagate any errors back into the host application - }); - }); -} diff --git a/samples/react/MusicStore/ReactApp/boot.tsx b/samples/react/MusicStore/ReactApp/boot.tsx deleted file mode 100644 index ea3807d..0000000 --- a/samples/react/MusicStore/ReactApp/boot.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import './styles/styles.css'; -import 'bootstrap/dist/css/bootstrap.css'; - -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { browserHistory, Router } from 'react-router'; -import { Provider } from 'react-redux'; -import { syncHistoryWithStore } from 'react-router-redux'; -import { routes } from './routes'; -import configureStore from './configureStore'; -import { ApplicationState } from './store'; - -// Get the application-wide store instance, prepopulating with state from the server where available. -const initialState = (window as any).initialReduxState as ApplicationState; -const store = configureStore(initialState); -const history = syncHistoryWithStore(browserHistory, store); - -// This code starts up the React app when it runs in a browser. It sets up the routing configuration -// and injects the app into a DOM element. -ReactDOM.render( - - - , - document.getElementById('react-app') -); diff --git a/samples/react/MusicStore/ReactApp/components/NavMenu.tsx b/samples/react/MusicStore/ReactApp/components/NavMenu.tsx deleted file mode 100644 index 6e85da8..0000000 --- a/samples/react/MusicStore/ReactApp/components/NavMenu.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import * as React from 'react'; -import { Navbar, Nav, NavItem, NavDropdown, MenuItem } from 'react-bootstrap'; -import { Link } from 'react-router'; -import { LinkContainer } from 'react-router-bootstrap'; -import { provide } from 'redux-typed'; -import { ApplicationState } from '../store'; -import * as GenreList from '../store/GenreList'; - -class NavMenu extends React.Component { - componentWillMount() { - this.props.requestGenresList(); - } - - public render() { - const genres = this.props.genres.slice(0, 5); - return ( - - - Music Store - - - - - - - ); - } -} - -// Selects which part of global state maps to this component, and defines a type for the resulting props -const provider = provide( - (state: ApplicationState) => state.genreList, - GenreList.actionCreators -); -type NavMenuProps = typeof provider.allProps; -export default provider.connect(NavMenu); diff --git a/samples/react/MusicStore/ReactApp/components/public/AlbumDetails.tsx b/samples/react/MusicStore/ReactApp/components/public/AlbumDetails.tsx deleted file mode 100644 index 6e6fab2..0000000 --- a/samples/react/MusicStore/ReactApp/components/public/AlbumDetails.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import * as React from 'react'; -import { Link } from 'react-router'; -import { provide } from 'redux-typed'; -import { ApplicationState } from '../../store'; -import * as AlbumDetailsState from '../../store/AlbumDetails'; - -interface RouteParams { - albumId: string; -} - -class AlbumDetails extends React.Component { - componentWillMount() { - this.props.requestAlbumDetails(parseInt(this.props.params.albumId)); - } - - componentWillReceiveProps(nextProps: AlbumDetailsProps) { - this.props.requestAlbumDetails(parseInt(nextProps.params.albumId)); - } - - public render() { - if (this.props.album) { - const albumData = this.props.album; - return
-

{ albumData.Title }

- -

{

- -
-

- Genre: - { albumData.Genre.Name } -

-

- Artist: - { albumData.Artist.Name } -

-

- Price: - ${ albumData.Price.toFixed(2) } -

-

- Add to cart -

-
-
; - } else { - return

Loading...

; - } - } -} - -// Selects which part of global state maps to this component, and defines a type for the resulting props -const provider = provide( - (state: ApplicationState) => state.albumDetails, - AlbumDetailsState.actionCreators -).withExternalProps<{ params: RouteParams }>(); -type AlbumDetailsProps = typeof provider.allProps; -export default provider.connect(AlbumDetails); diff --git a/samples/react/MusicStore/ReactApp/components/public/AlbumTile.tsx b/samples/react/MusicStore/ReactApp/components/public/AlbumTile.tsx deleted file mode 100644 index 04b74d5..0000000 --- a/samples/react/MusicStore/ReactApp/components/public/AlbumTile.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from 'react'; -import { Link } from 'react-router'; -import { Album } from '../../store/FeaturedAlbums'; - -export class AlbumTile extends React.Component<{ album: Album, key?: any }, void> { - public render() { - const { album } = this.props; - return ( -
  • - - { -

    { album.Title }

    - -
  • - ); - } -} diff --git a/samples/react/MusicStore/ReactApp/components/public/GenreDetails.tsx b/samples/react/MusicStore/ReactApp/components/public/GenreDetails.tsx deleted file mode 100644 index 59dc50b..0000000 --- a/samples/react/MusicStore/ReactApp/components/public/GenreDetails.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import * as React from 'react'; -import { Link } from 'react-router'; -import { provide } from 'redux-typed'; -import { ApplicationState } from '../../store'; -import * as GenreDetailsStore from '../../store/GenreDetails'; -import { AlbumTile } from './AlbumTile'; - -interface RouteParams { - genreId: string -} - -class GenreDetails extends React.Component { - componentWillMount() { - this.props.requestGenreDetails(parseInt(this.props.params.genreId)); - } - - componentWillReceiveProps(nextProps: GenreDetailsProps) { - this.props.requestGenreDetails(parseInt(nextProps.params.genreId)); - } - - public render() { - if (this.props.isLoaded) { - return
    -

    Albums

    - -
      - {this.props.albums.map(album => - - )} -
    -
    ; - } else { - return

    Loading...

    ; - } - } -} - -// Selects which part of global state maps to this component, and defines a type for the resulting props -const provider = provide( - (state: ApplicationState) => state.genreDetails, - GenreDetailsStore.actionCreators -).withExternalProps<{ params: RouteParams }>(); - -type GenreDetailsProps = typeof provider.allProps; -export default provider.connect(GenreDetails); diff --git a/samples/react/MusicStore/ReactApp/components/public/Genres.tsx b/samples/react/MusicStore/ReactApp/components/public/Genres.tsx deleted file mode 100644 index 1e03789..0000000 --- a/samples/react/MusicStore/ReactApp/components/public/Genres.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import * as React from 'react'; -import { Link } from 'react-router'; -import { provide } from 'redux-typed'; -import { ApplicationState } from '../../store'; -import * as GenreList from '../../store/GenreList'; - -class Genres extends React.Component { - componentWillMount() { - this.props.requestGenresList(); - } - - public render() { - const { genres } = this.props; - return
    -

    Browse Genres

    - -

    Select from { this.props.isLoaded ? genres.length : '...' } genres:

    - -
      - {genres.map(genre => -
    • - - { genre.Name } - -
    • - )} -
    -
    ; - } -} - -// Selects which part of global state maps to this component, and defines a type for the resulting props -const provider = provide( - (state: ApplicationState) => state.genreList, - GenreList.actionCreators -); -type GenresProps = typeof provider.allProps; -export default provider.connect(Genres); diff --git a/samples/react/MusicStore/ReactApp/components/public/Home.tsx b/samples/react/MusicStore/ReactApp/components/public/Home.tsx deleted file mode 100644 index b0f03d8..0000000 --- a/samples/react/MusicStore/ReactApp/components/public/Home.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import * as React from 'react'; -import { Link } from 'react-router'; -import { provide } from 'redux-typed'; -import { ApplicationState } from '../../store'; -import { actionCreators } from '../../store/FeaturedAlbums'; -import { AlbumTile } from './AlbumTile'; - -class Home extends React.Component { - componentWillMount() { - this.props.requestFeaturedAlbums(); - } - - public render() { - return
    -
    -

    MVC Music Store

    - -
    -
      - {this.props.albums.map(album => - - )} -
    -
    ; - } -} - -// Selects which part of global state maps to this component, and defines a type for the resulting props -const provider = provide( - (state: ApplicationState) => state.featuredAlbums, - actionCreators -); -type HomeProps = typeof provider.allProps; -export default provider.connect(Home); diff --git a/samples/react/MusicStore/ReactApp/configureStore.ts b/samples/react/MusicStore/ReactApp/configureStore.ts deleted file mode 100644 index cda811e..0000000 --- a/samples/react/MusicStore/ReactApp/configureStore.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { createStore, applyMiddleware, compose, combineReducers, GenericStoreEnhancer, Store as ReduxStore } from 'redux'; -import thunk from 'redux-thunk'; -import { routerReducer } from 'react-router-redux'; -import * as Store from './store'; -import { typedToPlain } from 'redux-typed'; - -export default function configureStore(initialState?: Store.ApplicationState) { - // Build middleware. These are functions that can process the actions before they reach the store. - const windowIfDefined = typeof window === 'undefined' ? null : window as any; - // If devTools is installed, connect to it - const devToolsExtension = windowIfDefined && windowIfDefined.devToolsExtension as () => GenericStoreEnhancer; - const createStoreWithMiddleware = compose( - applyMiddleware(thunk, typedToPlain), - devToolsExtension ? devToolsExtension() : f => f - )(createStore); - - // Combine all reducers and instantiate the app-wide store instance - const allReducers = buildRootReducer(Store.reducers); - const store = createStoreWithMiddleware(allReducers, initialState) as ReduxStore; - - // Enable Webpack hot module replacement for reducers - if (module.hot) { - module.hot.accept('./store', () => { - const nextRootReducer = require('./store'); - store.replaceReducer(buildRootReducer(nextRootReducer.reducers)); - }); - } - - return store; -} - -function buildRootReducer(allReducers) { - return combineReducers(Object.assign({}, allReducers, { routing: routerReducer })); -} diff --git a/samples/react/MusicStore/ReactApp/routes.tsx b/samples/react/MusicStore/ReactApp/routes.tsx deleted file mode 100644 index bf4f5fc..0000000 --- a/samples/react/MusicStore/ReactApp/routes.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import * as React from 'react'; -import { Router, Route, HistoryBase } from 'react-router'; -import NavMenu from './components/NavMenu'; -import Home from './components/public/Home'; -import Genres from './components/public/Genres'; -import GenreDetails from './components/public/GenreDetails'; -import AlbumDetails from './components/public/AlbumDetails'; - -class Layout extends React.Component<{ body: React.ReactElement }, void> { - public render() { - return
    - -
    - { this.props.body } -
    -
    ; - } -} - -export const routes = - - - - -; diff --git a/samples/react/MusicStore/ReactApp/store/AlbumDetails.ts b/samples/react/MusicStore/ReactApp/store/AlbumDetails.ts deleted file mode 100644 index ad3f458..0000000 --- a/samples/react/MusicStore/ReactApp/store/AlbumDetails.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { fetch, addTask } from 'domain-task'; -import { typeName, isActionType, Action, Reducer } from 'redux-typed'; -import { ActionCreator } from './'; -import { Genre } from './GenreList'; - -// ----------------- -// STATE - This defines the type of data maintained in the Redux store. - -export interface AlbumDetailsState { - album: AlbumDetails; - requestedAlbumId: number; -} - -export interface AlbumDetails { - AlbumId: number; - Title: string; - AlbumArtUrl: string; - Genre: Genre; - Artist: Artist; - Price: number; -} - -interface Artist { - Name: string; -} - -// ----------------- -// ACTIONS - These are serializable (hence replayable) descriptions of state transitions. -// They do not themselves have any side-effects; they just describe something that is going to happen. -// Use @typeName and isActionType for type detection that works even after serialization/deserialization. - -@typeName("REQUEST_ALBUM_DETAILS") -class RequestAlbumDetails extends Action { - constructor(public albumId: number) { - super(); - } -} - -@typeName("RECEIVE_ALBUM_DETAILS") -class ReceiveAlbumDetails extends Action { - constructor(public album: AlbumDetails) { - super(); - } -} - -// ---------------- -// ACTION CREATORS - These are functions exposed to UI components that will trigger a state transition. -// They don't directly mutate state, but they can have external side-effects (such as loading data). - -export const actionCreators = { - requestAlbumDetails: (albumId: number): ActionCreator => (dispatch, getState) => { - // Only load if it's not already loaded (or currently being loaded) - if (albumId !== getState().albumDetails.requestedAlbumId) { - let fetchTask = fetch(`/api/albums/${ albumId }`) - .then(results => results.json()) - .then(album => { - // Only replace state if it's still the most recent request - if (albumId === getState().albumDetails.requestedAlbumId) { - dispatch(new ReceiveAlbumDetails(album)); - } - }); - - addTask(fetchTask); // Ensure server-side prerendering waits for this to complete - dispatch(new RequestAlbumDetails(albumId)); - } - } -}; - -// ---------------- -// REDUCER - For a given state and action, returns the new state. To support time travel, this must not mutate the old state. -// For unrecognized actions, must return the existing state (or default initial state if none was supplied). -const unloadedState: AlbumDetailsState = { requestedAlbumId: null as number, album: null }; -export const reducer: Reducer = (state, action) => { - if (isActionType(action, RequestAlbumDetails)) { - return { requestedAlbumId: action.albumId, album: null }; - } else if (isActionType(action, ReceiveAlbumDetails)) { - return { requestedAlbumId: action.album.AlbumId, album: action.album }; - } else { - return state || unloadedState; - } -}; diff --git a/samples/react/MusicStore/ReactApp/store/FeaturedAlbums.ts b/samples/react/MusicStore/ReactApp/store/FeaturedAlbums.ts deleted file mode 100644 index f9e7828..0000000 --- a/samples/react/MusicStore/ReactApp/store/FeaturedAlbums.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { fetch, addTask } from 'domain-task'; -import { typeName, isActionType, Action, Reducer } from 'redux-typed'; -import { ActionCreator } from './'; - -// ----------------- -// STATE - This defines the type of data maintained in the Redux store. - -export interface FeaturedAlbumsState { - albums: Album[]; - isLoaded: boolean; -} - -export interface Album { - AlbumId: number; - Title: string; - AlbumArtUrl: string; -} - -// ----------------- -// ACTIONS - These are serializable (hence replayable) descriptions of state transitions. -// They do not themselves have any side-effects; they just describe something that is going to happen. -// Use @typeName and isActionType for type detection that works even after serialization/deserialization. - -@typeName("REQUEST_FEATURED_ALBUMS") -class RequestFeaturedAlbums extends Action { -} - -@typeName("RECEIVE_FEATURED_ALBUMS") -class ReceiveFeaturedAlbums extends Action { - constructor(public albums: Album[]) { - super(); - } -} - -// ---------------- -// ACTION CREATORS - These are functions exposed to UI components that will trigger a state transition. -// They don't directly mutate state, but they can have external side-effects (such as loading data). - -export const actionCreators = { - requestFeaturedAlbums: (): ActionCreator => (dispatch, getState) => { - if (!getState().featuredAlbums.isLoaded) { - let fetchTask = fetch('/api/albums/mostPopular') - .then(results => results.json()) - .then(albums => dispatch(new ReceiveFeaturedAlbums(albums))); - - addTask(fetchTask); // Ensure server-side prerendering waits for this to complete - return dispatch(new RequestFeaturedAlbums()); - } - } -}; - -// ---------------- -// REDUCER - For a given state and action, returns the new state. To support time travel, this must not mutate the old state. -// For unrecognized actions, must return the existing state (or default initial state if none was supplied). - -export const reducer: Reducer = (state, action) => { - if (isActionType(action, ReceiveFeaturedAlbums)) { - return { albums: action.albums, isLoaded: true }; - } else { - return state || { albums: [], isLoaded: false }; - } -}; diff --git a/samples/react/MusicStore/ReactApp/store/GenreDetails.ts b/samples/react/MusicStore/ReactApp/store/GenreDetails.ts deleted file mode 100644 index 24848a1..0000000 --- a/samples/react/MusicStore/ReactApp/store/GenreDetails.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { fetch, addTask } from 'domain-task'; -import { typeName, isActionType, Action, Reducer } from 'redux-typed'; -import { ActionCreator } from './'; -import { Album } from './FeaturedAlbums'; - -// ----------------- -// STATE - This defines the type of data maintained in the Redux store. - -export interface GenreDetailsState { - requestedGenreId: number; - albums: Album[]; - isLoaded: boolean; -} - -// ----------------- -// ACTIONS - These are serializable (hence replayable) descriptions of state transitions. -// They do not themselves have any side-effects; they just describe something that is going to happen. -// Use @typeName and isActionType for type detection that works even after serialization/deserialization. - -@typeName("REQUEST_GENRE_DETAILS") -class RequestGenreDetails extends Action { - constructor(public genreId: number) { - super(); - } -} - -@typeName("RECEIVE_GENRE_DETAILS") -class ReceiveGenreDetails extends Action { - constructor(public genreId: number, public albums: Album[]) { - super(); - } -} - -// ---------------- -// ACTION CREATORS - These are functions exposed to UI components that will trigger a state transition. -// They don't directly mutate state, but they can have external side-effects (such as loading data). - -export const actionCreators = { - requestGenreDetails: (genreId: number): ActionCreator => (dispatch, getState) => { - // Only load if it's not already loaded (or currently being loaded) - if (genreId !== getState().genreDetails.requestedGenreId) { - let fetchTask = fetch(`/api/genres/${ genreId }/albums`) - .then(results => results.json()) - .then(albums => { - // Only replace state if it's still the most recent request - if (genreId === getState().genreDetails.requestedGenreId) { - dispatch(new ReceiveGenreDetails(genreId, albums)); - } - }); - - addTask(fetchTask); // Ensure server-side prerendering waits for this to complete - dispatch(new RequestGenreDetails(genreId)); - } - } -}; - -// ---------------- -// REDUCER - For a given state and action, returns the new state. To support time travel, this must not mutate the old state. -// For unrecognized actions, must return the existing state (or default initial state if none was supplied). -export const reducer: Reducer = (state, action) => { - if (isActionType(action, RequestGenreDetails)) { - return { requestedGenreId: action.genreId, albums: [], isLoaded: false }; - } else if (isActionType(action, ReceiveGenreDetails)) { - return { requestedGenreId: action.genreId, albums: action.albums, isLoaded: true }; - } else { - return state || { requestedGenreId: null as number, albums: [], isLoaded: false }; - } -}; diff --git a/samples/react/MusicStore/ReactApp/store/GenreList.ts b/samples/react/MusicStore/ReactApp/store/GenreList.ts deleted file mode 100644 index 8843f22..0000000 --- a/samples/react/MusicStore/ReactApp/store/GenreList.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { fetch, addTask } from 'domain-task'; -import { typeName, isActionType, Action, Reducer } from 'redux-typed'; -import { ActionCreator } from './'; - -// ----------------- -// STATE - This defines the type of data maintained in the Redux store. - -export interface GenresListState { - genres: Genre[]; - isLoaded: boolean; -} - -export interface Genre { - GenreId: string; - Name: string; -} - -// ----------------- -// ACTIONS - These are serializable (hence replayable) descriptions of state transitions. -// They do not themselves have any side-effects; they just describe something that is going to happen. -// Use @typeName and isActionType for type detection that works even after serialization/deserialization. - -@typeName("RECEIVE_GENRES_LIST") -class ReceiveGenresList extends Action { - constructor(public genres: Genre[]) { - super(); - } -} - -// ---------------- -// ACTION CREATORS - These are functions exposed to UI components that will trigger a state transition. -// They don't directly mutate state, but they can have external side-effects (such as loading data). - -export const actionCreators = { - requestGenresList: (): ActionCreator => (dispatch, getState) => { - if (!getState().genreList.isLoaded) { - let fetchTask = fetch('/api/genres') - .then(results => results.json()) - .then(genres => dispatch(new ReceiveGenresList(genres))); - addTask(fetchTask); // Ensure server-side prerendering waits for this to complete - } - } -}; - -// ---------------- -// REDUCER - For a given state and action, returns the new state. To support time travel, this must not mutate the old state. -// For unrecognized actions, must return the existing state (or default initial state if none was supplied). - -export const reducer: Reducer = (state, action) => { - if (isActionType(action, ReceiveGenresList)) { - return { genres: action.genres, isLoaded: true }; - } else { - return state || { genres: [], isLoaded: false }; - } -}; diff --git a/samples/react/MusicStore/ReactApp/store/index.ts b/samples/react/MusicStore/ReactApp/store/index.ts deleted file mode 100644 index 50f6178..0000000 --- a/samples/react/MusicStore/ReactApp/store/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { ActionCreatorGeneric } from 'redux-typed'; -import * as FeaturedAlbums from './FeaturedAlbums'; -import * as GenreList from './GenreList'; -import * as GenreDetails from './GenreDetails'; -import * as AlbumDetails from './AlbumDetails'; - -// The top-level state object -export interface ApplicationState { - featuredAlbums: FeaturedAlbums.FeaturedAlbumsState; - genreList: GenreList.GenresListState, - genreDetails: GenreDetails.GenreDetailsState, - albumDetails: AlbumDetails.AlbumDetailsState -} - -// Whenever an action is dispatched, Redux will update each top-level application state property using -// the reducer with the matching name. It's important that the names match exactly, and that the reducer -// acts on the corresponding ApplicationState property type. -export const reducers = { - featuredAlbums: FeaturedAlbums.reducer, - genreList: GenreList.reducer, - genreDetails: GenreDetails.reducer, - albumDetails: AlbumDetails.reducer -}; - -// This type can be used as a hint on action creators so that its 'dispatch' and 'getState' params are -// correctly typed to match your store. -export type ActionCreator = ActionCreatorGeneric; diff --git a/samples/react/MusicStore/ReactApp/styles/styles.css b/samples/react/MusicStore/ReactApp/styles/styles.css deleted file mode 100644 index a8fc8a1..0000000 --- a/samples/react/MusicStore/ReactApp/styles/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - padding-top: 50px; -} diff --git a/samples/react/MusicStore/SiteSettings.cs b/samples/react/MusicStore/SiteSettings.cs deleted file mode 100644 index 50a86c2..0000000 --- a/samples/react/MusicStore/SiteSettings.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -namespace MusicStore -{ - public class SiteSettings - { - public string DefaultAdminUsername { get; set; } - public string DefaultAdminPassword { get; set; } - } -} diff --git a/samples/react/MusicStore/Startup.cs b/samples/react/MusicStore/Startup.cs deleted file mode 100755 index 6b649e9..0000000 --- a/samples/react/MusicStore/Startup.cs +++ /dev/null @@ -1,114 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Identity.EntityFrameworkCore; -using Microsoft.AspNetCore.SpaServices.Webpack; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.PlatformAbstractions; -using AutoMapper; -using MusicStore.Apis; -using MusicStore.Models; -using Newtonsoft.Json.Serialization; - -namespace MusicStore -{ - public class Startup - { - // This method gets called by the runtime. Use this method to add services to the container. - public void ConfigureServices(IServiceCollection services) - { - services.AddMvc().AddJsonOptions(options => - { - options.SerializerSettings.ContractResolver = null; - }); - - // Add EF services to the service container - services - .AddEntityFrameworkSqlite() - .AddDbContext(options => { - options.UseSqlite("Data Source=music-db.sqlite"); - }); - - // Add Identity services to the services container - services.AddIdentity() - .AddEntityFrameworkStores() - .AddDefaultTokenProviders(); - - // Configure Auth - services.Configure(options => - { - options.AddPolicy("app-ManageStore", new AuthorizationPolicyBuilder().RequireClaim("app-ManageStore", "Allowed").Build()); - }); - - Mapper.Initialize(cfg => - { - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - cfg.CreateMap(); - }); - } - - // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory, IHostingEnvironment env) - { - app.UseDeveloperExceptionPage(); - - // Initialize the sample data - SampleData.InitializeMusicStoreDatabaseAsync(app.ApplicationServices).Wait(); - - // In dev mode, the JS/TS/etc is compiled and served dynamically and supports hot replacement. - // In production, we assume you've used webpack to emit the prebuilt content to disk. - if (env.IsDevelopment()) { - app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions { - HotModuleReplacement = true, - ReactHotModuleReplacement = true - }); - } - - app.UseStaticFiles(); - loggerFactory.AddConsole(); - - // Add MVC to the request pipeline. - app.UseMvc(routes => - { - // Matches requests that correspond to an existent controller/action pair - routes.MapRoute( - name: "default", - template: "{controller=Home}/{action=Index}/{id?}"); - - // Matches any other request that doesn't appear to have a filename extension (defined as 'having a dot in the last URI segment'). - // This means you'll correctly get 404s for /some/dir/non-existent-image.png instead of returning the SPA HTML. - // However, it means requests like /customers/isaac.newton will *not* be mapped into the SPA, so if you need to accept - // URIs like that you'll need to match all URIs, e.g.: - // routes.MapRoute("spa-fallback", "{*anything}", new { controller = "Home", action = "Index" }); - // (which of course will match /customers/isaac.png too, so in that case it would serve the PNG image at that URL if one is on disk, - // or the SPA HTML if not). - routes.MapSpaFallbackRoute("spa-fallback", new { controller = "Home", action = "Index" }); - }); - } - - public static void Main(string[] args) - { - var host = new WebHostBuilder() - .UseContentRoot(Directory.GetCurrentDirectory()) - .UseIISIntegration() - .UseKestrel() - .UseStartup() - .Build(); - - host.Run(); - } - } -} diff --git a/samples/react/MusicStore/Views/Home/Index.cshtml b/samples/react/MusicStore/Views/Home/Index.cshtml deleted file mode 100755 index 9595e01..0000000 --- a/samples/react/MusicStore/Views/Home/Index.cshtml +++ /dev/null @@ -1,11 +0,0 @@ -@{ - ViewData["Title"] = "Home Page"; -} - -
    - -@section scripts { - - -} diff --git a/samples/react/MusicStore/Views/Shared/Error.cshtml b/samples/react/MusicStore/Views/Shared/Error.cshtml deleted file mode 100755 index 473b35d..0000000 --- a/samples/react/MusicStore/Views/Shared/Error.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -@{ - ViewData["Title"] = "Error"; -} - -

    Error.

    -

    An error occurred while processing your request.

    diff --git a/samples/react/MusicStore/Views/Shared/_Layout.cshtml b/samples/react/MusicStore/Views/Shared/_Layout.cshtml deleted file mode 100755 index 47e4e48..0000000 --- a/samples/react/MusicStore/Views/Shared/_Layout.cshtml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - @ViewData["Title"] - - - - @RenderBody() - @RenderSection("scripts", required: false) - - diff --git a/samples/react/MusicStore/Views/_ViewImports.cshtml b/samples/react/MusicStore/Views/_ViewImports.cshtml deleted file mode 100755 index 1730292..0000000 --- a/samples/react/MusicStore/Views/_ViewImports.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@using MusicStore -@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" -@addTagHelper "*, Microsoft.AspNetCore.SpaServices" diff --git a/samples/react/MusicStore/Views/_ViewStart.cshtml b/samples/react/MusicStore/Views/_ViewStart.cshtml deleted file mode 100755 index 820a2f6..0000000 --- a/samples/react/MusicStore/Views/_ViewStart.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@{ - Layout = "_Layout"; -} diff --git a/samples/react/MusicStore/package.json b/samples/react/MusicStore/package.json deleted file mode 100644 index bd501e7..0000000 --- a/samples/react/MusicStore/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "music-store", - "version": "0.0.0", - "dependencies": { - "@types/history": "^2.0.0", - "@types/react": "^0.14.29", - "@types/react-bootstrap": "^0.0.35", - "@types/react-dom": "^0.14.14", - "@types/react-redux": "^4.4.29", - "@types/react-router": "^2.0.30", - "@types/react-router-bootstrap": "^0.0.27", - "@types/react-router-redux": "^4.0.30", - "@types/redux-thunk": "^2.1.28", - "@types/source-map": "^0.1.28", - "@types/uglify-js": "^2.0.27", - "@types/webpack": "^1.12.35", - "@types/webpack-env": "^1.12.1", - "@types/whatwg-fetch": "0.0.28", - "aspnet-prerendering": "^1.0.7", - "aspnet-webpack": "^1.0.17", - "aspnet-webpack-react": "^1.0.2", - "babel-core": "^6.5.2", - "babel-loader": "^6.2.3", - "babel-preset-es2015": "^6.5.0", - "babel-preset-react": "^6.5.0", - "bootstrap": "^3.3.6", - "css-loader": "^0.23.1", - "domain-task": "^2.0.1", - "event-source-polyfill": "^0.0.7", - "extract-text-webpack-plugin": "^1.0.1", - "file-loader": "^0.8.5", - "jquery": "^2.2.1", - "react": "^15.3.2", - "react-bootstrap": "^0.30.6", - "react-dom": "^15.3.2", - "react-redux": "^4.4.5", - "react-router": "^2.8.1", - "react-router-bootstrap": "^0.23.1", - "react-router-redux": "^4.0.6", - "redux": "^3.6.0", - "redux-thunk": "^2.1.0", - "redux-typed": "^2.0.0", - "style-loader": "^0.13.0", - "ts-loader": "^0.8.1", - "typescript": "^2.0.3", - "url-loader": "^0.5.7", - "webpack": "^1.13.2", - "webpack-hot-middleware": "^2.12.2", - "webpack-merge": "^0.14.1", - "webpack-node-externals": "^1.4.3" - } -} diff --git a/samples/react/MusicStore/tsconfig.json b/samples/react/MusicStore/tsconfig.json deleted file mode 100644 index 15a9f3f..0000000 --- a/samples/react/MusicStore/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": ".", - "moduleResolution": "node", - "target": "es6", - "jsx": "preserve", - "sourceMap": true, - "experimentalDecorators": true, - "types": [ "webpack-env", "whatwg-fetch" ], - "paths": { - // Fix "Duplicate identifier" errors caused by multiple dependencies fetching their own copies of type definitions. - // We tell TypeScript which type definitions module to treat as the canonical one (instead of combining all of them). - "history": ["./node_modules/@types/history/index"], - "redux": ["./node_modules/@types/redux/index"], - "react": ["./node_modules/@types/react/index"] - } - }, - "exclude": [ - "node_modules" - ] -} diff --git a/samples/react/MusicStore/webpack.config.js b/samples/react/MusicStore/webpack.config.js deleted file mode 100644 index 521e68d..0000000 --- a/samples/react/MusicStore/webpack.config.js +++ /dev/null @@ -1,32 +0,0 @@ -var path = require('path'); -var webpack = require('webpack'); -var ExtractTextPlugin = require('extract-text-webpack-plugin'); - -module.exports = { - devtool: 'inline-source-map', - resolve: { - extensions: [ '', '.js', '.jsx', '.ts', '.tsx' ] - }, - module: { - loaders: [ - { test: /\.ts(x?)$/, include: /ReactApp/, exclude: /node_modules/, loader: 'babel-loader' }, - { test: /\.ts(x?)$/, include: /ReactApp/, exclude: /node_modules/, loader: 'ts-loader?silent' }, - { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') }, - { test: /\.(png|woff|woff2|eot|ttf|svg)$/, loader: 'url-loader?limit=100000' } - ] - }, - entry: { - main: ['./ReactApp/boot.tsx'], - vendor: ['react'] - }, - output: { - path: path.join(__dirname, 'wwwroot', 'dist'), - filename: '[name].js', - publicPath: '/dist/' - }, - plugins: [ - new webpack.optimize.OccurenceOrderPlugin(), - new ExtractTextPlugin('main.css'), - new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.bundle.js') // Moves vendor content out of other bundles - ] -}; diff --git a/samples/react/MusicStore/wwwroot/favicon.ico b/samples/react/MusicStore/wwwroot/favicon.ico deleted file mode 100755 index a3a799985c43bc7309d701b2cad129023377dc71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 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 diff --git a/samples/react/MusicStore/wwwroot/images/logo.png b/samples/react/MusicStore/wwwroot/images/logo.png deleted file mode 100644 index d334c8625625b78836bb729ed9b7a10fa04bb702..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2963 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 - - - - - - - - diff --git a/samples/react/ReactGrid/.babelrc b/samples/react/ReactGrid/.babelrc deleted file mode 100644 index d4e5f8d..0000000 --- a/samples/react/ReactGrid/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["es2015", "react"] -} diff --git a/samples/react/ReactGrid/.gitignore b/samples/react/ReactGrid/.gitignore deleted file mode 100644 index f050c80..0000000 --- a/samples/react/ReactGrid/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/node_modules/ -/wwwroot/dist/ -/Properties/launchSettings.json diff --git a/samples/react/ReactGrid/Controllers/HomeController.cs b/samples/react/ReactGrid/Controllers/HomeController.cs deleted file mode 100755 index b7a48c4..0000000 --- a/samples/react/ReactGrid/Controllers/HomeController.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Microsoft.AspNetCore.Mvc; - -namespace ReactExample.Controllers -{ - public class HomeController : Controller - { - public IActionResult Index() - { - return View(); - } - - public IActionResult Error() - { - return View("~/Views/Shared/Error.cshtml"); - } - } -} diff --git a/samples/react/ReactGrid/Controllers/PeopleApiController.cs b/samples/react/ReactGrid/Controllers/PeopleApiController.cs deleted file mode 100644 index fd3e29c..0000000 --- a/samples/react/ReactGrid/Controllers/PeopleApiController.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.ComponentModel.DataAnnotations; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; - -namespace ReactExample.Controllers -{ - public class PeopleApiController : Controller - { - [HttpPut("api/people/{personId:int}")] - public ActionResult UpdatePerson([FromBody] PersonDto person) - { - if (!ModelState.IsValid) { - return BadRequest(ModelState); - } else { - return new OkResult(); - } - } - } - - public class PersonDto { - public string name { get; set; } - public string city { get; set; } - public string state { get; set; } - public string country { get; set; } - public string company { get; set; } - - [Range(1, 10)] - public int favoriteNumber { get; set; } - } -} diff --git a/samples/react/ReactGrid/README.txt b/samples/react/ReactGrid/README.txt deleted file mode 100644 index e702b30..0000000 --- a/samples/react/ReactGrid/README.txt +++ /dev/null @@ -1,2 +0,0 @@ -Portions of this sample application (particularly, the fake data) are based -on https://github.com/DavidWells/isomorphic-react-example diff --git a/samples/react/ReactGrid/ReactApp/boot-client.jsx b/samples/react/ReactGrid/ReactApp/boot-client.jsx deleted file mode 100644 index d109cdf..0000000 --- a/samples/react/ReactGrid/ReactApp/boot-client.jsx +++ /dev/null @@ -1,8 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import { browserHistory } from 'react-router'; -import { ReactApp } from './components/ReactApp.jsx'; -import 'bootstrap/dist/css/bootstrap.css'; - -// In the browser, we render into a DOM node and hook up to the browser's history APIs -ReactDOM.render(, document.getElementById('react-app')); diff --git a/samples/react/ReactGrid/ReactApp/boot-server.jsx b/samples/react/ReactGrid/ReactApp/boot-server.jsx deleted file mode 100644 index b41e0c7..0000000 --- a/samples/react/ReactGrid/ReactApp/boot-server.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react'; -import { renderToString } from 'react-dom/server'; -import { match, RouterContext } from 'react-router'; -import { routes } from './components/ReactApp'; -React; - -export default function renderApp (params) { - return new Promise((resolve, reject) => { - // Match the incoming request against the list of client-side routes - match({ routes, location: params.location }, (error, redirectLocation, renderProps) => { - if (error) { - throw error; - } - - // Build an instance of the application - const app = ; - - // Render it as an HTML string which can be injected into the response - const html = renderToString(app); - resolve({ html }); - }); - }); -} diff --git a/samples/react/ReactGrid/ReactApp/components/CustomPager.jsx b/samples/react/ReactGrid/ReactApp/components/CustomPager.jsx deleted file mode 100644 index 50a3008..0000000 --- a/samples/react/ReactGrid/ReactApp/components/CustomPager.jsx +++ /dev/null @@ -1,50 +0,0 @@ -import * as React from 'react'; -import { Link } from 'react-router'; - -export class CustomPager extends React.Component { - pageChange(event) { - this.props.setPage(parseInt(event.target.getAttribute("data-value"))); - } - - render() { - var previous = null; - var next = null; - - if(this.props.currentPage > 0){ - previous =
    {this.props.previousText}
    ; - } - - if(this.props.currentPage != (this.props.maxPage -1)){ - next =
    {this.props.nextText}
    ; - } - - var options = []; - - var startIndex = Math.max(this.props.currentPage - 5, 0); - var endIndex = Math.min(startIndex + 11, this.props.maxPage); - - if (this.props.maxPage >= 11 && (endIndex - startIndex) <= 10) { - startIndex = endIndex - 11; - } - - for(var i = startIndex; i < endIndex ; i++){ - var selected = this.props.currentPage == i ? "btn-default" : ""; - options.push(
    {i+1}
    ); - } - - return ( -
    - {previous} - {options} - {next} -
    - ); - } -} - -CustomPager.defaultProps = { - maxPage: 0, - nextText: '', - previousText: '', - currentPage: 0 -}; diff --git a/samples/react/ReactGrid/ReactApp/components/PeopleGrid.jsx b/samples/react/ReactGrid/ReactApp/components/PeopleGrid.jsx deleted file mode 100644 index 6ce0ade..0000000 --- a/samples/react/ReactGrid/ReactApp/components/PeopleGrid.jsx +++ /dev/null @@ -1,31 +0,0 @@ -import React from 'react'; -import Griddle from 'griddle-react'; -import { CustomPager } from './CustomPager.jsx'; -import { fakeData } from '../data/fakeData.js'; -import { columnMeta } from '../data/columnMeta.jsx'; -const resultsPerPage = 10; - -// Griddle requires each row to have a property matching each column, even if you're not displaying -// any data from the row in that column -fakeData.forEach(row => { row.actions = ''; }); - -export class PeopleGrid extends React.Component { - render() { - var pageIndex = this.props.params ? (this.props.params.pageIndex || 1) - 1 : 0; - return ( -
    -

    People

    -
    - x.columnName)} - columnMetadata={columnMeta} - resultsPerPage={resultsPerPage} - tableClassName="table" - useCustomPagerComponent="true" - customPagerComponent={CustomPager} - externalCurrentPage={pageIndex} /> -
    -
    - ); - } -} diff --git a/samples/react/ReactGrid/ReactApp/components/PersonEditor.jsx b/samples/react/ReactGrid/ReactApp/components/PersonEditor.jsx deleted file mode 100644 index 3c78f58..0000000 --- a/samples/react/ReactGrid/ReactApp/components/PersonEditor.jsx +++ /dev/null @@ -1,57 +0,0 @@ -import React from 'react'; -import Formsy from 'formsy-react'; -import { Input } from 'formsy-react-components'; -import { fakeData } from '../data/fakeData.js'; - -export class PersonEditor extends React.Component { - constructor() { - super(); - this.state = { savedChanges: false }; - } - - onChange() { - this.setState({ savedChanges: false }); - } - - submit(model, reset, setErrors) { - PersonEditor.sendJson('put', `/api/people/${ this.props.params.personId }`, model).then(response => { - if (response.ok) { - this.setState({ savedChanges: true }); - } else { - // Parse server-side validation errors from the response and display them - response.json().then(setErrors); - } - }); - } - - render() { - var personId = parseInt(this.props.params.personId); - var person = fakeData.filter(p => p.id === personId)[0]; - var notificationBox = this.state.savedChanges - &&
    Done! Your changes were saved.
    ; - - return
    -
    -

    Edit { person.name }

    -
    - - - - - - - - { notificationBox } - - -
    ; - } - - static sendJson(method, url, object) { - return fetch(url, { - method: method, - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(object) - }); - } -} diff --git a/samples/react/ReactGrid/ReactApp/components/ReactApp.jsx b/samples/react/ReactGrid/ReactApp/components/ReactApp.jsx deleted file mode 100644 index 64977a7..0000000 --- a/samples/react/ReactGrid/ReactApp/components/ReactApp.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; -import { Router, Route } from 'react-router'; -import { PeopleGrid } from './PeopleGrid.jsx'; -import { PersonEditor } from './PersonEditor.jsx'; - -export const routes = - - - -; - -export class ReactApp extends React.Component { - render() { - return ( - - ); - } -} diff --git a/samples/react/ReactGrid/ReactApp/data/columnMeta.jsx b/samples/react/ReactGrid/ReactApp/data/columnMeta.jsx deleted file mode 100644 index f66a8a9..0000000 --- a/samples/react/ReactGrid/ReactApp/data/columnMeta.jsx +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react'; -import { Link } from 'react-router'; - -class RowActionsComponent extends React.Component { - render() { - return Edit; - } -} - -export const columnMeta = [ - { - "columnName": "id", - "order": 1, - "locked": false, - "visible": true - }, - { - "columnName": "name", - "order": 2, - "locked": false, - "visible": true - }, - { - "columnName": "city", - "order": 3, - "locked": false, - "visible": true - }, - { - "columnName": "state", - "order": 4, - "locked": false, - "visible": true - }, - { - "columnName": "country", - "order": 5, - "locked": false, - "visible": true - }, - { - "columnName": "company", - "order": 6, - "locked": false, - "visible": true - }, - { - "columnName": "favoriteNumber", - "order": 7, - "locked": false, - "visible": true - }, - { - "columnName": "actions", - "order": 8, - "locked": true, - "visible": true, - "customComponent": RowActionsComponent - } -]; diff --git a/samples/react/ReactGrid/ReactApp/data/fakeData.js b/samples/react/ReactGrid/ReactApp/data/fakeData.js deleted file mode 100644 index 08c8c0e..0000000 --- a/samples/react/ReactGrid/ReactApp/data/fakeData.js +++ /dev/null @@ -1,2486 +0,0 @@ -export const fakeData = [ - { - "id": 0, - "name": "Mayer Leonard", - "city": "Kapowsin", - "state": "Hawaii", - "country": "United Kingdom", - "company": "Ovolo", - "favoriteNumber": 7 - }, - { - "id": 1, - "name": "Koch Becker", - "city": "Johnsonburg", - "state": "New Jersey", - "country": "Madagascar", - "company": "Eventage", - "favoriteNumber": 2 - }, - { - "id": 2, - "name": "Lowery Hopkins", - "city": "Blanco", - "state": "Arizona", - "country": "Ukraine", - "company": "Comtext", - "favoriteNumber": 3 - }, - { - "id": 3, - "name": "Walters Mays", - "city": "Glendale", - "state": "Illinois", - "country": "New Zealand", - "company": "Corporana", - "favoriteNumber": 6 - }, - { - "id": 4, - "name": "Shaw Lowe", - "city": "Coultervillle", - "state": "Wyoming", - "country": "Ecuador", - "company": "Isologica", - "favoriteNumber": 2 - }, - { - "id": 5, - "name": "Ola Fernandez", - "city": "Deltaville", - "state": "Delaware", - "country": "Virgin Islands (US)", - "company": "Pawnagra", - "favoriteNumber": 7 - }, - { - "id": 6, - "name": "Park Carr", - "city": "Welda", - "state": "Kentucky", - "country": "Sri Lanka", - "company": "Cosmetex", - "favoriteNumber": 7 - }, - { - "id": 7, - "name": "Laverne Johnson", - "city": "Rosburg", - "state": "New Mexico", - "country": "Croatia", - "company": "Housedown", - "favoriteNumber": 9 - }, - { - "id": 8, - "name": "Lizzie Nelson", - "city": "Chumuckla", - "state": "Montana", - "country": "Turks & Caicos", - "company": "Everest", - "favoriteNumber": 2 - }, - { - "id": 9, - "name": "Clarke Clemons", - "city": "Inkerman", - "state": "Rhode Island", - "country": "Cambodia", - "company": "Apexia", - "favoriteNumber": 3 - }, - { - "id": 10, - "name": "Cindy Phelps", - "city": "Hachita", - "state": "North Carolina", - "country": "Namibia", - "company": "Pholio", - "favoriteNumber": 6 - }, - { - "id": 11, - "name": "Danielle Keller", - "city": "Stockdale", - "state": "Maryland", - "country": "Cape Verde", - "company": "Netility", - "favoriteNumber": 10 - }, - { - "id": 12, - "name": "Duke Hutchinson", - "city": "Needmore", - "state": "Indiana", - "country": "Brunei", - "company": "Electonic", - "favoriteNumber": 1 - }, - { - "id": 13, - "name": "Aimee Duffy", - "city": "Brownlee", - "state": "Vermont", - "country": "Lebanon", - "company": "Repetwire", - "favoriteNumber": 2 - }, - { - "id": 14, - "name": "Meadows Jimenez", - "city": "Winesburg", - "state": "Kansas", - "country": "Timor L'Este", - "company": "Quonk", - "favoriteNumber": 0 - }, - { - "id": 15, - "name": "Karla Potts", - "city": "Juarez", - "state": "Alaska", - "country": "Samoa", - "company": "Zentime", - "favoriteNumber": 3 - }, - { - "id": 16, - "name": "Rita Jensen", - "city": "Elwood", - "state": "North Dakota", - "country": "Greece", - "company": "Valpreal", - "favoriteNumber": 9 - }, - { - "id": 17, - "name": "Jackie Burke", - "city": "Delwood", - "state": "Arkansas", - "country": "Greenland", - "company": "Magmina", - "favoriteNumber": 4 - }, - { - "id": 18, - "name": "Corinne Moreno", - "city": "Wollochet", - "state": "New Hampshire", - "country": "Sierra Leone", - "company": "Marketoid", - "favoriteNumber": 1 - }, - { - "id": 19, - "name": "Giles Cohen", - "city": "Carbonville", - "state": "Massachusetts", - "country": "Tonga", - "company": "Ginkogene", - "favoriteNumber": 10 - }, - { - "id": 20, - "name": "Maynard Barnes", - "city": "Boling", - "state": "Utah", - "country": "Nepal", - "company": "Kyaguru", - "favoriteNumber": 8 - }, - { - "id": 21, - "name": "Singleton Lindsay", - "city": "Weogufka", - "state": "Tennessee", - "country": "Falkland Islands", - "company": "Egypto", - "favoriteNumber": 5 - }, - { - "id": 22, - "name": "Etta Kemp", - "city": "Como", - "state": "Pennsylvania", - "country": "Syria", - "company": "Marqet", - "favoriteNumber": 3 - }, - { - "id": 23, - "name": "Whitney Pennington", - "city": "Farmington", - "state": "Louisiana", - "country": "Suriname", - "company": "Prosure", - "favoriteNumber": 10 - }, - { - "id": 24, - "name": "Sophie Ellison", - "city": "Whitewater", - "state": "Idaho", - "country": "Malta", - "company": "Evidends", - "favoriteNumber": 1 - }, - { - "id": 25, - "name": "Logan Forbes", - "city": "Idledale", - "state": "Michigan", - "country": "Dominican Republic", - "company": "Pigzart", - "favoriteNumber": 3 - }, - { - "id": 26, - "name": "Haley Mcclure", - "city": "Eggertsville", - "state": "Colorado", - "country": "Honduras", - "company": "Ginkle", - "favoriteNumber": 8 - }, - { - "id": 27, - "name": "Williamson Hurley", - "city": "Edgar", - "state": "Texas", - "country": "Yemen", - "company": "Tetratrex", - "favoriteNumber": 3 - }, - { - "id": 28, - "name": "Heidi Hurst", - "city": "Curtice", - "state": "Nebraska", - "country": "Aruba", - "company": "Vendblend", - "favoriteNumber": 10 - }, - { - "id": 29, - "name": "Barker Long", - "city": "Orovada", - "state": "West Virginia", - "country": "Egypt", - "company": "Uniworld", - "favoriteNumber": 8 - }, - { - "id": 30, - "name": "Richard Patrick", - "city": "Gordon", - "state": "Oregon", - "country": "Malawi", - "company": "Quarx", - "favoriteNumber": 8 - }, - { - "id": 31, - "name": "Cameron Graham", - "city": "Noblestown", - "state": "Oklahoma", - "country": "Slovenia", - "company": "Zilidium", - "favoriteNumber": 5 - }, - { - "id": 32, - "name": "Lucy Quinn", - "city": "Greenock", - "state": "Ohio", - "country": "Australia", - "company": "Geoform", - "favoriteNumber": 10 - }, - { - "id": 33, - "name": "Dickson Greene", - "city": "Jeff", - "state": "Virginia", - "country": "Iraq", - "company": "Niquent", - "favoriteNumber": 6 - }, - { - "id": 34, - "name": "Jasmine Brock", - "city": "Tolu", - "state": "Mississippi", - "country": "Hungary", - "company": "Cytrek", - "favoriteNumber": 8 - }, - { - "id": 35, - "name": "Byers Donaldson", - "city": "Jugtown", - "state": "South Dakota", - "country": "Mongolia", - "company": "Slambda", - "favoriteNumber": 4 - }, - { - "id": 36, - "name": "Burns Blake", - "city": "Shawmut", - "state": "Iowa", - "country": "Ethiopia", - "company": "Comstar", - "favoriteNumber": 9 - }, - { - "id": 37, - "name": "Norman Wynn", - "city": "Hasty", - "state": "Washington", - "country": "Bangladesh", - "company": "Netplode", - "favoriteNumber": 7 - }, - { - "id": 38, - "name": "Anthony Weeks", - "city": "Chautauqua", - "state": "Florida", - "country": "Sudan", - "company": "Rubadub", - "favoriteNumber": 9 - }, - { - "id": 39, - "name": "Courtney Marshall", - "city": "Grazierville", - "state": "California", - "country": "Zambia", - "company": "Medicroix", - "favoriteNumber": 0 - }, - { - "id": 40, - "name": "Wilda Foster", - "city": "Ebro", - "state": "New York", - "country": "Cameroon", - "company": "Xixan", - "favoriteNumber": 0 - }, - { - "id": 41, - "name": "Buckner Hyde", - "city": "Century", - "state": "Minnesota", - "country": "Mexico", - "company": "Plasmos", - "favoriteNumber": 6 - }, - { - "id": 42, - "name": "Montgomery Woodard", - "city": "Nadine", - "state": "Georgia", - "country": "Zimbabwe", - "company": "Neptide", - "favoriteNumber": 1 - }, - { - "id": 43, - "name": "Shirley Boyle", - "city": "Groveville", - "state": "Connecticut", - "country": "Tunisia", - "company": "Interodeo", - "favoriteNumber": 1 - }, - { - "id": 44, - "name": "Mavis Welch", - "city": "Springhill", - "state": "South Carolina", - "country": "Italy", - "company": "Asimiline", - "favoriteNumber": 9 - }, - { - "id": 45, - "name": "Barr Flowers", - "city": "Bowden", - "state": "Missouri", - "country": "South Korea", - "company": "Terragen", - "favoriteNumber": 7 - }, - { - "id": 46, - "name": "Cabrera Koch", - "city": "Wanship", - "state": "Maine", - "country": "Mauritius", - "company": "Norsul", - "favoriteNumber": 9 - }, - { - "id": 47, - "name": "Williams Gamble", - "city": "Homestead", - "state": "Wisconsin", - "country": "Romania", - "company": "Gynk", - "favoriteNumber": 4 - }, - { - "id": 48, - "name": "Angelica Washington", - "city": "Roulette", - "state": "Alabama", - "country": "South Africa", - "company": "Exoswitch", - "favoriteNumber": 3 - }, - { - "id": 49, - "name": "Morse Navarro", - "city": "Balm", - "state": "Hawaii", - "country": "Malaysia", - "company": "Comtours", - "favoriteNumber": 7 - }, - { - "id": 50, - "name": "Harding Chambers", - "city": "Lupton", - "state": "New Jersey", - "country": "Oman", - "company": "Gadtron", - "favoriteNumber": 6 - }, - { - "id": 51, - "name": "Frederick Mcdowell", - "city": "Kimmell", - "state": "Arizona", - "country": "Ireland", - "company": "Delphide", - "favoriteNumber": 2 - }, - { - "id": 52, - "name": "Valentine Turner", - "city": "Hobucken", - "state": "Illinois", - "country": "France", - "company": "Sloganaut", - "favoriteNumber": 0 - }, - { - "id": 53, - "name": "Ruby Cooper", - "city": "Connerton", - "state": "Wyoming", - "country": "Iceland", - "company": "Exospace", - "favoriteNumber": 5 - }, - { - "id": 54, - "name": "Natalia Nielsen", - "city": "Holtville", - "state": "Delaware", - "country": "Equatorial Guinea", - "company": "Isoswitch", - "favoriteNumber": 6 - }, - { - "id": 55, - "name": "Bobbie Silva", - "city": "Fivepointville", - "state": "Kentucky", - "country": "Luxembourg", - "company": "Futuris", - "favoriteNumber": 0 - }, - { - "id": 56, - "name": "Clarice Hays", - "city": "Floriston", - "state": "New Mexico", - "country": "Cruise Ship", - "company": "Skyplex", - "favoriteNumber": 5 - }, - { - "id": 57, - "name": "Leblanc Bartlett", - "city": "Catherine", - "state": "Montana", - "country": "Belarus", - "company": "Ezentia", - "favoriteNumber": 10 - }, - { - "id": 58, - "name": "Jodie Martinez", - "city": "Edneyville", - "state": "Rhode Island", - "country": "Antigua & Barbuda", - "company": "Satiance", - "favoriteNumber": 7 - }, - { - "id": 59, - "name": "Pennington Townsend", - "city": "Ahwahnee", - "state": "North Carolina", - "country": "Chad", - "company": "Orbiflex", - "favoriteNumber": 8 - }, - { - "id": 60, - "name": "Garrison Buchanan", - "city": "Coinjock", - "state": "Maryland", - "country": "Reunion", - "company": "Zanity", - "favoriteNumber": 3 - }, - { - "id": 61, - "name": "Cardenas Reeves", - "city": "Greensburg", - "state": "Indiana", - "country": "Gabon", - "company": "Cogentry", - "favoriteNumber": 1 - }, - { - "id": 62, - "name": "Angeline Jacobson", - "city": "Freeburn", - "state": "Vermont", - "country": "Fiji", - "company": "Pearlessa", - "favoriteNumber": 4 - }, - { - "id": 63, - "name": "Turner Franks", - "city": "Fairforest", - "state": "Kansas", - "country": "New Caledonia", - "company": "Maximind", - "favoriteNumber": 1 - }, - { - "id": 64, - "name": "Murphy Santos", - "city": "Waiohinu", - "state": "Alaska", - "country": "Haiti", - "company": "Isodrive", - "favoriteNumber": 0 - }, - { - "id": 65, - "name": "Walls Cherry", - "city": "Avalon", - "state": "North Dakota", - "country": "Mozambique", - "company": "Bolax", - "favoriteNumber": 10 - }, - { - "id": 66, - "name": "Carney Olson", - "city": "Nanafalia", - "state": "Arkansas", - "country": "Pakistan", - "company": "Unq", - "favoriteNumber": 10 - }, - { - "id": 67, - "name": "Jennings Bowers", - "city": "Kenwood", - "state": "New Hampshire", - "country": "Cayman Islands", - "company": "Deepends", - "favoriteNumber": 10 - }, - { - "id": 68, - "name": "Browning Wooten", - "city": "Jessie", - "state": "Massachusetts", - "country": "Guam", - "company": "Eventex", - "favoriteNumber": 5 - }, - { - "id": 69, - "name": "Preston Britt", - "city": "Dennard", - "state": "Utah", - "country": "Cyprus", - "company": "Sureplex", - "favoriteNumber": 4 - }, - { - "id": 70, - "name": "Holly Martin", - "city": "Carrizo", - "state": "Tennessee", - "country": "Nicaragua", - "company": "Sonique", - "favoriteNumber": 1 - }, - { - "id": 71, - "name": "Zelma Barker", - "city": "Zarephath", - "state": "Pennsylvania", - "country": "Czech Republic", - "company": "Xanide", - "favoriteNumber": 9 - }, - { - "id": 72, - "name": "Burgess Zamora", - "city": "Tampico", - "state": "Louisiana", - "country": "Poland", - "company": "Isopop", - "favoriteNumber": 10 - }, - { - "id": 73, - "name": "Galloway Rich", - "city": "Zeba", - "state": "Idaho", - "country": "Uzbekistan", - "company": "Dragbot", - "favoriteNumber": 4 - }, - { - "id": 74, - "name": "Morris Lott", - "city": "Wattsville", - "state": "Michigan", - "country": "Turkmenistan", - "company": "Slumberia", - "favoriteNumber": 3 - }, - { - "id": 75, - "name": "Paul Mcleod", - "city": "Glenbrook", - "state": "Colorado", - "country": "Cuba", - "company": "Candecor", - "favoriteNumber": 6 - }, - { - "id": 76, - "name": "Phoebe Orr", - "city": "Holcombe", - "state": "Texas", - "country": "Faroe Islands", - "company": "Cubicide", - "favoriteNumber": 4 - }, - { - "id": 77, - "name": "Dalton Christensen", - "city": "Rossmore", - "state": "Nebraska", - "country": "Belgium", - "company": "Enormo", - "favoriteNumber": 4 - }, - { - "id": 78, - "name": "Flora Goff", - "city": "Gila", - "state": "West Virginia", - "country": "Philippines", - "company": "Miracula", - "favoriteNumber": 4 - }, - { - "id": 79, - "name": "Sheree Ross", - "city": "Welch", - "state": "Oregon", - "country": "French Polynesia", - "company": "Illumity", - "favoriteNumber": 0 - }, - { - "id": 80, - "name": "Nita Jefferson", - "city": "Calverton", - "state": "Oklahoma", - "country": "Estonia", - "company": "Cincyr", - "favoriteNumber": 2 - }, - { - "id": 81, - "name": "Elma Mendoza", - "city": "Cornfields", - "state": "Ohio", - "country": "Botswana", - "company": "Isotronic", - "favoriteNumber": 6 - }, - { - "id": 82, - "name": "Garcia Hensley", - "city": "Kohatk", - "state": "Virginia", - "country": "Congo", - "company": "Plasmox", - "favoriteNumber": 4 - }, - { - "id": 83, - "name": "Delgado Osborn", - "city": "Nescatunga", - "state": "Mississippi", - "country": "Montenegro", - "company": "Magneato", - "favoriteNumber": 1 - }, - { - "id": 84, - "name": "Chavez Simmons", - "city": "Roderfield", - "state": "South Dakota", - "country": "Norway", - "company": "Waab", - "favoriteNumber": 1 - }, - { - "id": 85, - "name": "Stuart Roach", - "city": "Hebron", - "state": "Iowa", - "country": "Georgia", - "company": "Applica", - "favoriteNumber": 0 - }, - { - "id": 86, - "name": "Georgia Henson", - "city": "Greenbackville", - "state": "Washington", - "country": "Guinea Bissau", - "company": "Talkalot", - "favoriteNumber": 7 - }, - { - "id": 87, - "name": "Ila Sanders", - "city": "Zortman", - "state": "Florida", - "country": "Brazil", - "company": "Koffee", - "favoriteNumber": 10 - }, - { - "id": 88, - "name": "Shepard Maldonado", - "city": "Lawrence", - "state": "California", - "country": "Netherlands", - "company": "Knowlysis", - "favoriteNumber": 1 - }, - { - "id": 89, - "name": "Ramirez Collins", - "city": "Healy", - "state": "New York", - "country": "Guernsey", - "company": "Entroflex", - "favoriteNumber": 4 - }, - { - "id": 90, - "name": "Magdalena Mcgee", - "city": "Goldfield", - "state": "Minnesota", - "country": "Qatar", - "company": "Xelegyl", - "favoriteNumber": 0 - }, - { - "id": 91, - "name": "Crystal Kinney", - "city": "Nogal", - "state": "Georgia", - "country": "Kuwait", - "company": "Zork", - "favoriteNumber": 3 - }, - { - "id": 92, - "name": "Witt Colon", - "city": "Yorklyn", - "state": "Connecticut", - "country": "Singapore", - "company": "Techmania", - "favoriteNumber": 8 - }, - { - "id": 93, - "name": "Joyce Randolph", - "city": "Leland", - "state": "South Carolina", - "country": "Dominica", - "company": "Realmo", - "favoriteNumber": 2 - }, - { - "id": 94, - "name": "Ora Oneil", - "city": "Gilgo", - "state": "Missouri", - "country": "Bahamas", - "company": "Hinway", - "favoriteNumber": 7 - }, - { - "id": 95, - "name": "Hansen Rose", - "city": "Starks", - "state": "Maine", - "country": "Iran", - "company": "Virxo", - "favoriteNumber": 6 - }, - { - "id": 96, - "name": "Isabelle Rush", - "city": "Datil", - "state": "Wisconsin", - "country": "Switzerland", - "company": "Ecraze", - "favoriteNumber": 4 - }, - { - "id": 97, - "name": "Hoffman Crosby", - "city": "Trucksville", - "state": "Alabama", - "country": "Indonesia", - "company": "Multron", - "favoriteNumber": 10 - }, - { - "id": 98, - "name": "Louella Cotton", - "city": "Shelby", - "state": "Hawaii", - "country": "Tajikistan", - "company": "Supportal", - "favoriteNumber": 0 - }, - { - "id": 99, - "name": "Elvia Drake", - "city": "Albrightsville", - "state": "New Jersey", - "country": "Grenada", - "company": "Kiosk", - "favoriteNumber": 10 - }, - { - "id": 100, - "name": "Tyson Guerra", - "city": "Sutton", - "state": "Arizona", - "country": "Benin", - "company": "Dadabase", - "favoriteNumber": 4 - }, - { - "id": 101, - "name": "Marion Sloan", - "city": "Winchester", - "state": "Illinois", - "country": "Venezuela", - "company": "Exostream", - "favoriteNumber": 0 - }, - { - "id": 102, - "name": "Faulkner Diaz", - "city": "Logan", - "state": "Wyoming", - "country": "Monaco", - "company": "Oceanica", - "favoriteNumber": 10 - }, - { - "id": 103, - "name": "Penelope Price", - "city": "Alafaya", - "state": "Delaware", - "country": "Chile", - "company": "Nebulean", - "favoriteNumber": 10 - }, - { - "id": 104, - "name": "Kaitlin Glover", - "city": "Succasunna", - "state": "Kentucky", - "country": "Puerto Rico", - "company": "Orbean", - "favoriteNumber": 4 - }, - { - "id": 105, - "name": "Elena English", - "city": "Wedgewood", - "state": "New Mexico", - "country": "Algeria", - "company": "Kiggle", - "favoriteNumber": 0 - }, - { - "id": 106, - "name": "Clemons Sweeney", - "city": "Saranap", - "state": "Montana", - "country": "Ghana", - "company": "Konnect", - "favoriteNumber": 8 - }, - { - "id": 107, - "name": "Kelsey Blevins", - "city": "Vincent", - "state": "Rhode Island", - "country": "Albania", - "company": "Xymonk", - "favoriteNumber": 7 - }, - { - "id": 108, - "name": "Schroeder Craft", - "city": "Roosevelt", - "state": "North Carolina", - "country": "Satellite", - "company": "Isotrack", - "favoriteNumber": 8 - }, - { - "id": 109, - "name": "Hill Clark", - "city": "Elrama", - "state": "Maryland", - "country": "Slovakia", - "company": "Waterbaby", - "favoriteNumber": 0 - }, - { - "id": 110, - "name": "Glover Meyers", - "city": "Riviera", - "state": "Indiana", - "country": "Liberia", - "company": "Digigene", - "favoriteNumber": 0 - }, - { - "id": 111, - "name": "Lola Parrish", - "city": "Ellerslie", - "state": "Vermont", - "country": "Azerbaijan", - "company": "Myopium", - "favoriteNumber": 1 - }, - { - "id": 112, - "name": "Nora Rivers", - "city": "Belvoir", - "state": "Kansas", - "country": "Afghanistan", - "company": "Comtrek", - "favoriteNumber": 10 - }, - { - "id": 113, - "name": "Cohen Pacheco", - "city": "Bethpage", - "state": "Alaska", - "country": "Netherlands Antilles", - "company": "Accufarm", - "favoriteNumber": 7 - }, - { - "id": 114, - "name": "Diann Horn", - "city": "Derwood", - "state": "North Dakota", - "country": "Seychelles", - "company": "Synkgen", - "favoriteNumber": 3 - }, - { - "id": 115, - "name": "Amalia Nicholson", - "city": "Hendersonville", - "state": "Arkansas", - "country": "Lesotho", - "company": "Geekus", - "favoriteNumber": 2 - }, - { - "id": 116, - "name": "Mcgee Kane", - "city": "Dante", - "state": "New Hampshire", - "country": "Nigeria", - "company": "Kinetica", - "favoriteNumber": 9 - }, - { - "id": 117, - "name": "Shaffer Simpson", - "city": "Verdi", - "state": "Massachusetts", - "country": "Costa Rica", - "company": "Orbixtar", - "favoriteNumber": 0 - }, - { - "id": 118, - "name": "Lott Heath", - "city": "Castleton", - "state": "Utah", - "country": "Burkina Faso", - "company": "Reversus", - "favoriteNumber": 8 - }, - { - "id": 119, - "name": "Sasha Alvarez", - "city": "Foxworth", - "state": "Tennessee", - "country": "Montserrat", - "company": "Farmex", - "favoriteNumber": 9 - }, - { - "id": 120, - "name": "Sonja Rhodes", - "city": "Trona", - "state": "Pennsylvania", - "country": "Liechtenstein", - "company": "Pyramis", - "favoriteNumber": 2 - }, - { - "id": 121, - "name": "Rachel Elliott", - "city": "Hessville", - "state": "Louisiana", - "country": "Vietnam", - "company": "Centice", - "favoriteNumber": 0 - }, - { - "id": 122, - "name": "Elisa Justice", - "city": "Urie", - "state": "Idaho", - "country": "Senegal", - "company": "Dancerity", - "favoriteNumber": 2 - }, - { - "id": 123, - "name": "Velazquez Anderson", - "city": "Lowell", - "state": "Michigan", - "country": "Burundi", - "company": "Digial", - "favoriteNumber": 5 - }, - { - "id": 124, - "name": "Janet Ford", - "city": "Darlington", - "state": "Colorado", - "country": "Turkey", - "company": "Sportan", - "favoriteNumber": 10 - }, - { - "id": 125, - "name": "Simon Peterson", - "city": "Linwood", - "state": "Texas", - "country": "Kazakhstan", - "company": "Zytrac", - "favoriteNumber": 7 - }, - { - "id": 126, - "name": "Smith Baird", - "city": "Marne", - "state": "Nebraska", - "country": "Swaziland", - "company": "Genmy", - "favoriteNumber": 7 - }, - { - "id": 127, - "name": "Rogers Peters", - "city": "Tedrow", - "state": "West Virginia", - "country": "Spain", - "company": "Octocore", - "favoriteNumber": 1 - }, - { - "id": 128, - "name": "Bowers Ayers", - "city": "Matthews", - "state": "Oregon", - "country": "St Lucia", - "company": "Biotica", - "favoriteNumber": 6 - }, - { - "id": 129, - "name": "Paulette Delaney", - "city": "Riegelwood", - "state": "Oklahoma", - "country": "Guinea", - "company": "Netbook", - "favoriteNumber": 3 - }, - { - "id": 130, - "name": "Pat Klein", - "city": "Jacksonburg", - "state": "Ohio", - "country": "El Salvador", - "company": "Recrisys", - "favoriteNumber": 5 - }, - { - "id": 131, - "name": "Dena Rosa", - "city": "Hollymead", - "state": "Virginia", - "country": "Russia", - "company": "Sealoud", - "favoriteNumber": 6 - }, - { - "id": 132, - "name": "Rochelle Barnett", - "city": "Genoa", - "state": "Mississippi", - "country": "Kenya", - "company": "Ersum", - "favoriteNumber": 6 - }, - { - "id": 133, - "name": "Odom Schultz", - "city": "Blende", - "state": "South Dakota", - "country": "Papua New Guinea", - "company": "Elentrix", - "favoriteNumber": 0 - }, - { - "id": 134, - "name": "Anderson Franco", - "city": "Yardville", - "state": "Iowa", - "country": "Sweden", - "company": "Wazzu", - "favoriteNumber": 4 - }, - { - "id": 135, - "name": "Rebecca Wyatt", - "city": "Berwind", - "state": "Washington", - "country": "St Vincent", - "company": "Bristo", - "favoriteNumber": 2 - }, - { - "id": 136, - "name": "Dollie Hooper", - "city": "Richmond", - "state": "Florida", - "country": "Uruguay", - "company": "Vantage", - "favoriteNumber": 1 - }, - { - "id": 137, - "name": "Mathews Sharpe", - "city": "Glenshaw", - "state": "California", - "country": "Trinidad & Tobago", - "company": "Quilk", - "favoriteNumber": 4 - }, - { - "id": 138, - "name": "Debra Skinner", - "city": "Leming", - "state": "New York", - "country": "Saint Pierre & Miquelon", - "company": "Billmed", - "favoriteNumber": 1 - }, - { - "id": 139, - "name": "Cross Wells", - "city": "Caroline", - "state": "Minnesota", - "country": "Mauritania", - "company": "Strozen", - "favoriteNumber": 3 - }, - { - "id": 140, - "name": "Dodson Aguirre", - "city": "Nash", - "state": "Georgia", - "country": "Palestine", - "company": "Tripsch", - "favoriteNumber": 5 - }, - { - "id": 141, - "name": "Edna Copeland", - "city": "Harrison", - "state": "Connecticut", - "country": "Macedonia", - "company": "Flum", - "favoriteNumber": 10 - }, - { - "id": 142, - "name": "Dominguez Goodwin", - "city": "Condon", - "state": "South Carolina", - "country": "Laos", - "company": "Interloo", - "favoriteNumber": 0 - }, - { - "id": 143, - "name": "Fry Leach", - "city": "Advance", - "state": "Missouri", - "country": "Angola", - "company": "Recritube", - "favoriteNumber": 7 - }, - { - "id": 144, - "name": "Mann Malone", - "city": "Lumberton", - "state": "Maine", - "country": "India", - "company": "Xylar", - "favoriteNumber": 9 - }, - { - "id": 145, - "name": "Bridget Ayala", - "city": "Bellamy", - "state": "Wisconsin", - "country": "Cote D Ivoire", - "company": "Comvex", - "favoriteNumber": 7 - }, - { - "id": 146, - "name": "Blackwell Blanchard", - "city": "Ticonderoga", - "state": "Alabama", - "country": "Barbados", - "company": "Applideck", - "favoriteNumber": 7 - }, - { - "id": 147, - "name": "Maxine Irwin", - "city": "Longoria", - "state": "Hawaii", - "country": "Armenia", - "company": "Pearlesex", - "favoriteNumber": 10 - }, - { - "id": 148, - "name": "Laura Bryant", - "city": "Chicopee", - "state": "New Jersey", - "country": "Bosnia & Herzegovina", - "company": "Poshome", - "favoriteNumber": 0 - }, - { - "id": 149, - "name": "Zimmerman Little", - "city": "Rosewood", - "state": "Arizona", - "country": "Guatemala", - "company": "Boink", - "favoriteNumber": 4 - }, - { - "id": 150, - "name": "Barlow Reed", - "city": "Buxton", - "state": "Illinois", - "country": "Tanzania", - "company": "Premiant", - "favoriteNumber": 5 - }, - { - "id": 151, - "name": "Anita Briggs", - "city": "Laurelton", - "state": "Wyoming", - "country": "United Arab Emirates", - "company": "Codact", - "favoriteNumber": 3 - }, - { - "id": 152, - "name": "Ortiz Newton", - "city": "Blandburg", - "state": "Delaware", - "country": "Moldova", - "company": "Enersave", - "favoriteNumber": 7 - }, - { - "id": 153, - "name": "Cox Monroe", - "city": "Dupuyer", - "state": "Kentucky", - "country": "Taiwan", - "company": "Uneeq", - "favoriteNumber": 3 - }, - { - "id": 154, - "name": "Elinor Hughes", - "city": "Yukon", - "state": "New Mexico", - "country": "Bulgaria", - "company": "Bovis", - "favoriteNumber": 5 - }, - { - "id": 155, - "name": "Ronda Burks", - "city": "Ferney", - "state": "Montana", - "country": "Isle of Man", - "company": "Signity", - "favoriteNumber": 6 - }, - { - "id": 156, - "name": "Lourdes Walls", - "city": "Norwood", - "state": "Rhode Island", - "country": "Argentina", - "company": "Snacktion", - "favoriteNumber": 5 - }, - { - "id": 157, - "name": "Susana Mcintosh", - "city": "Manchester", - "state": "North Carolina", - "country": "Israel", - "company": "Teraprene", - "favoriteNumber": 5 - }, - { - "id": 158, - "name": "Alfreda Henry", - "city": "Wilsonia", - "state": "Maryland", - "country": "Bhutan", - "company": "Coash", - "favoriteNumber": 3 - }, - { - "id": 159, - "name": "Tiffany Chaney", - "city": "Carrsville", - "state": "Indiana", - "country": "Morocco", - "company": "Cinaster", - "favoriteNumber": 7 - }, - { - "id": 160, - "name": "Morton Edwards", - "city": "Barstow", - "state": "Vermont", - "country": "Hong Kong", - "company": "Ultrasure", - "favoriteNumber": 10 - }, - { - "id": 161, - "name": "Marcy Serrano", - "city": "Idamay", - "state": "Kansas", - "country": "Finland", - "company": "Isbol", - "favoriteNumber": 3 - }, - { - "id": 162, - "name": "Wendi Gutierrez", - "city": "Camas", - "state": "Alaska", - "country": "Andorra", - "company": "Turnling", - "favoriteNumber": 6 - }, - { - "id": 163, - "name": "Miriam Gates", - "city": "Helen", - "state": "North Dakota", - "country": "Djibouti", - "company": "Undertap", - "favoriteNumber": 8 - }, - { - "id": 164, - "name": "Adrienne Horne", - "city": "Snyderville", - "state": "Arkansas", - "country": "Gambia", - "company": "Olympix", - "favoriteNumber": 2 - }, - { - "id": 165, - "name": "Steele Morales", - "city": "Kenvil", - "state": "New Hampshire", - "country": "Macau", - "company": "Animalia", - "favoriteNumber": 3 - }, - { - "id": 166, - "name": "Ericka Morgan", - "city": "Leroy", - "state": "Massachusetts", - "country": "Kyrgyz Republic", - "company": "Opticall", - "favoriteNumber": 5 - }, - { - "id": 167, - "name": "Deborah Davenport", - "city": "Albany", - "state": "Utah", - "country": "Thailand", - "company": "Vetron", - "favoriteNumber": 10 - }, - { - "id": 168, - "name": "Tameka Mcneil", - "city": "Frierson", - "state": "Tennessee", - "country": "St. Lucia", - "company": "Martgo", - "favoriteNumber": 1 - }, - { - "id": 169, - "name": "Jewell Shields", - "city": "Bannock", - "state": "Pennsylvania", - "country": "Maldives", - "company": "Lotron", - "favoriteNumber": 8 - }, - { - "id": 170, - "name": "Crawford Fox", - "city": "Nicholson", - "state": "Louisiana", - "country": "Rwanda", - "company": "Progenex", - "favoriteNumber": 8 - }, - { - "id": 171, - "name": "Vaughan Tanner", - "city": "Cuylerville", - "state": "Idaho", - "country": "Jamaica", - "company": "Zeam", - "favoriteNumber": 3 - }, - { - "id": 172, - "name": "Shauna Wagner", - "city": "Disautel", - "state": "Michigan", - "country": "China", - "company": "Isologia", - "favoriteNumber": 6 - }, - { - "id": 173, - "name": "Meagan Hines", - "city": "Whitmer", - "state": "Colorado", - "country": "Jordan", - "company": "Grainspot", - "favoriteNumber": 8 - }, - { - "id": 174, - "name": "Palmer Bender", - "city": "Beechmont", - "state": "Texas", - "country": "Japan", - "company": "Vurbo", - "favoriteNumber": 10 - }, - { - "id": 175, - "name": "Amanda Buck", - "city": "Elfrida", - "state": "Nebraska", - "country": "Latvia", - "company": "Frosnex", - "favoriteNumber": 5 - }, - { - "id": 176, - "name": "Kristin Cleveland", - "city": "Richville", - "state": "West Virginia", - "country": "Lithuania", - "company": "Honotron", - "favoriteNumber": 2 - }, - { - "id": 177, - "name": "Harrell Vaughan", - "city": "Munjor", - "state": "Oregon", - "country": "Anguilla", - "company": "Orbalix", - "favoriteNumber": 9 - }, - { - "id": 178, - "name": "Stanley Webb", - "city": "Harleigh", - "state": "Oklahoma", - "country": "Mali", - "company": "Motovate", - "favoriteNumber": 6 - }, - { - "id": 179, - "name": "Briana Mitchell", - "city": "Kansas", - "state": "Ohio", - "country": "Libya", - "company": "Zillatide", - "favoriteNumber": 10 - }, - { - "id": 180, - "name": "Lillian Osborne", - "city": "Eastmont", - "state": "Virginia", - "country": "Belize", - "company": "Circum", - "favoriteNumber": 6 - }, - { - "id": 181, - "name": "Hughes Morse", - "city": "Herlong", - "state": "Mississippi", - "country": "French West Indies", - "company": "Endipine", - "favoriteNumber": 0 - }, - { - "id": 182, - "name": "Elise Whitehead", - "city": "Hailesboro", - "state": "South Dakota", - "country": "Saudi Arabia", - "company": "Geekmosis", - "favoriteNumber": 10 - }, - { - "id": 183, - "name": "Alyce Chavez", - "city": "Bendon", - "state": "Iowa", - "country": "Portugal", - "company": "Dognost", - "favoriteNumber": 8 - }, - { - "id": 184, - "name": "Goff Walker", - "city": "Sultana", - "state": "Washington", - "country": "Germany", - "company": "Uncorp", - "favoriteNumber": 4 - }, - { - "id": 185, - "name": "Brennan Melton", - "city": "Baker", - "state": "Florida", - "country": "Austria", - "company": "Thredz", - "favoriteNumber": 0 - }, - { - "id": 186, - "name": "Toni Brennan", - "city": "Newry", - "state": "California", - "country": "Serbia", - "company": "Bitendrex", - "favoriteNumber": 0 - }, - { - "id": 187, - "name": "Mcmillan Lane", - "city": "Thornport", - "state": "New York", - "country": "Panama", - "company": "Kengen", - "favoriteNumber": 2 - }, - { - "id": 188, - "name": "Yang Trujillo", - "city": "Falmouth", - "state": "Minnesota", - "country": "Paraguay", - "company": "Vitricomp", - "favoriteNumber": 7 - }, - { - "id": 189, - "name": "Osborn Love", - "city": "Rehrersburg", - "state": "Georgia", - "country": "Peru", - "company": "Newcube", - "favoriteNumber": 7 - }, - { - "id": 190, - "name": "Randolph Giles", - "city": "Sandston", - "state": "Connecticut", - "country": "Niger", - "company": "Manglo", - "favoriteNumber": 6 - }, - { - "id": 191, - "name": "Alison Eaton", - "city": "Wauhillau", - "state": "South Carolina", - "country": "St Kitts & Nevis", - "company": "Buzzmaker", - "favoriteNumber": 7 - }, - { - "id": 192, - "name": "Frankie Pollard", - "city": "Salix", - "state": "Missouri", - "country": "Uganda", - "company": "Jasper", - "favoriteNumber": 3 - }, - { - "id": 193, - "name": "Shields Cole", - "city": "Olney", - "state": "Maine", - "country": "British Virgin Islands", - "company": "Anivet", - "favoriteNumber": 3 - }, - { - "id": 194, - "name": "Frieda Wilkins", - "city": "Darrtown", - "state": "Wisconsin", - "country": "Gibraltar", - "company": "Elemantra", - "favoriteNumber": 6 - }, - { - "id": 195, - "name": "Parker Meyer", - "city": "Deseret", - "state": "Alabama", - "country": "Bermuda", - "company": "Cablam", - "favoriteNumber": 6 - }, - { - "id": 196, - "name": "Sharpe Blankenship", - "city": "Sparkill", - "state": "Hawaii", - "country": "Jersey", - "company": "Affluex", - "favoriteNumber": 0 - }, - { - "id": 197, - "name": "Fletcher Pope", - "city": "Libertytown", - "state": "New Jersey", - "country": "Bahrain", - "company": "Veraq", - "favoriteNumber": 6 - }, - { - "id": 198, - "name": "Brittany Holland", - "city": "Stonybrook", - "state": "Arizona", - "country": "Cook Islands", - "company": "Menbrain", - "favoriteNumber": 6 - }, - { - "id": 199, - "name": "Tammi Good", - "city": "Gwynn", - "state": "Illinois", - "country": "Denmark", - "company": "Kangle", - "favoriteNumber": 5 - }, - { - "id": 200, - "name": "Durham Valentine", - "city": "Dodge", - "state": "Wyoming", - "country": "Bolivia", - "company": "Amtas", - "favoriteNumber": 9 - }, - { - "id": 201, - "name": "Gina Savage", - "city": "Camptown", - "state": "Delaware", - "country": "San Marino", - "company": "Golistic", - "favoriteNumber": 8 - }, - { - "id": 202, - "name": "Faith Crane", - "city": "Kingstowne", - "state": "Kentucky", - "country": "Guyana", - "company": "Providco", - "favoriteNumber": 1 - }, - { - "id": 203, - "name": "Mullins Hewitt", - "city": "Courtland", - "state": "New Mexico", - "country": "Colombia", - "company": "Paprikut", - "favoriteNumber": 0 - }, - { - "id": 204, - "name": "Kemp Barber", - "city": "Morriston", - "state": "Montana", - "country": "United Kingdom", - "company": "Geekfarm", - "favoriteNumber": 3 - }, - { - "id": 205, - "name": "Sheppard Shaw", - "city": "Vandiver", - "state": "Rhode Island", - "country": "Madagascar", - "company": "Fossiel", - "favoriteNumber": 9 - }, - { - "id": 206, - "name": "Keith Bradshaw", - "city": "Mulberry", - "state": "North Carolina", - "country": "Ukraine", - "company": "Comtent", - "favoriteNumber": 9 - }, - { - "id": 207, - "name": "Dianne Conley", - "city": "Tonopah", - "state": "Maryland", - "country": "New Zealand", - "company": "Joviold", - "favoriteNumber": 5 - }, - { - "id": 208, - "name": "Love Griffin", - "city": "Day", - "state": "Indiana", - "country": "Ecuador", - "company": "Vortexaco", - "favoriteNumber": 6 - }, - { - "id": 209, - "name": "Melody Delacruz", - "city": "Hanover", - "state": "Vermont", - "country": "Virgin Islands (US)", - "company": "Pyramia", - "favoriteNumber": 6 - }, - { - "id": 210, - "name": "Patsy Kramer", - "city": "Southmont", - "state": "Kansas", - "country": "Sri Lanka", - "company": "Bedder", - "favoriteNumber": 8 - }, - { - "id": 211, - "name": "Becky Richard", - "city": "Crenshaw", - "state": "Alaska", - "country": "Croatia", - "company": "Polarium", - "favoriteNumber": 1 - }, - { - "id": 212, - "name": "Leon Rivera", - "city": "Gibbsville", - "state": "North Dakota", - "country": "Turks & Caicos", - "company": "Micronaut", - "favoriteNumber": 3 - }, - { - "id": 213, - "name": "Simpson Randall", - "city": "Cetronia", - "state": "Arkansas", - "country": "Cambodia", - "company": "Intergeek", - "favoriteNumber": 2 - }, - { - "id": 214, - "name": "Daugherty Duke", - "city": "Levant", - "state": "New Hampshire", - "country": "Namibia", - "company": "Nutralab", - "favoriteNumber": 3 - }, - { - "id": 215, - "name": "Payne Morton", - "city": "Jamestown", - "state": "Massachusetts", - "country": "Cape Verde", - "company": "Insource", - "favoriteNumber": 7 - }, - { - "id": 216, - "name": "Perkins Leblanc", - "city": "Boyd", - "state": "Utah", - "country": "Brunei", - "company": "Dognosis", - "favoriteNumber": 1 - }, - { - "id": 217, - "name": "Phillips Douglas", - "city": "Wikieup", - "state": "Tennessee", - "country": "Lebanon", - "company": "Ziore", - "favoriteNumber": 9 - }, - { - "id": 218, - "name": "Graves Stark", - "city": "Barrelville", - "state": "Pennsylvania", - "country": "Timor L'Este", - "company": "Exovent", - "favoriteNumber": 8 - }, - { - "id": 219, - "name": "Munoz Johns", - "city": "Wyano", - "state": "Louisiana", - "country": "Samoa", - "company": "Escenta", - "favoriteNumber": 10 - }, - { - "id": 220, - "name": "Myra Salazar", - "city": "Gorst", - "state": "Idaho", - "country": "Greece", - "company": "Acrodance", - "favoriteNumber": 10 - }, - { - "id": 221, - "name": "Flynn Miranda", - "city": "Movico", - "state": "Michigan", - "country": "Greenland", - "company": "Artiq", - "favoriteNumber": 6 - }, - { - "id": 222, - "name": "Eloise Barr", - "city": "Greer", - "state": "Colorado", - "country": "Sierra Leone", - "company": "Insuresys", - "favoriteNumber": 5 - }, - { - "id": 223, - "name": "Harrington Daniels", - "city": "Dawn", - "state": "Texas", - "country": "Tonga", - "company": "Pharmex", - "favoriteNumber": 3 - }, - { - "id": 224, - "name": "Lester Carey", - "city": "Keller", - "state": "Nebraska", - "country": "Nepal", - "company": "Melbacor", - "favoriteNumber": 4 - }, - { - "id": 225, - "name": "Malinda Pittman", - "city": "Wyoming", - "state": "West Virginia", - "country": "Falkland Islands", - "company": "Rodeocean", - "favoriteNumber": 1 - }, - { - "id": 226, - "name": "Crane Smith", - "city": "Hoagland", - "state": "Oregon", - "country": "Syria", - "company": "Eclipsent", - "favoriteNumber": 8 - }, - { - "id": 227, - "name": "Ellison Underwood", - "city": "Neahkahnie", - "state": "Oklahoma", - "country": "Suriname", - "company": "Visualix", - "favoriteNumber": 4 - }, - { - "id": 228, - "name": "Shelby Hardy", - "city": "Bascom", - "state": "Ohio", - "country": "Malta", - "company": "Genekom", - "favoriteNumber": 8 - }, - { - "id": 229, - "name": "Sheena Maynard", - "city": "Morningside", - "state": "Virginia", - "country": "Dominican Republic", - "company": "Zillar", - "favoriteNumber": 10 - }, - { - "id": 230, - "name": "Tamera Roman", - "city": "Freelandville", - "state": "Mississippi", - "country": "Honduras", - "company": "Comtract", - "favoriteNumber": 6 - }, - { - "id": 231, - "name": "Juliette Hammond", - "city": "Lindcove", - "state": "South Dakota", - "country": "Yemen", - "company": "Coriander", - "favoriteNumber": 5 - }, - { - "id": 232, - "name": "Dean Holden", - "city": "Brantleyville", - "state": "Iowa", - "country": "Aruba", - "company": "Plexia", - "favoriteNumber": 5 - }, - { - "id": 233, - "name": "Whitfield Meadows", - "city": "Fedora", - "state": "Washington", - "country": "Egypt", - "company": "Isosure", - "favoriteNumber": 1 - }, - { - "id": 234, - "name": "Wiley Kelley", - "city": "Torboy", - "state": "Florida", - "country": "Malawi", - "company": "Zilladyne", - "favoriteNumber": 5 - }, - { - "id": 235, - "name": "Sherry Scott", - "city": "Garfield", - "state": "California", - "country": "Slovenia", - "company": "Otherway", - "favoriteNumber": 5 - }, - { - "id": 236, - "name": "Aline Sosa", - "city": "Martinez", - "state": "New York", - "country": "Australia", - "company": "Comstruct", - "favoriteNumber": 4 - }, - { - "id": 237, - "name": "Leta Rice", - "city": "Utting", - "state": "Minnesota", - "country": "Iraq", - "company": "Jumpstack", - "favoriteNumber": 8 - }, - { - "id": 238, - "name": "Ford Ingram", - "city": "Lafferty", - "state": "Georgia", - "country": "Hungary", - "company": "Sarasonic", - "favoriteNumber": 3 - }, - { - "id": 239, - "name": "Chan David", - "city": "Collins", - "state": "Connecticut", - "country": "Mongolia", - "company": "Velos", - "favoriteNumber": 6 - }, - { - "id": 240, - "name": "Jeanne Murray", - "city": "Carlos", - "state": "South Carolina", - "country": "Ethiopia", - "company": "Equitox", - "favoriteNumber": 6 - }, - { - "id": 241, - "name": "Fernandez Dean", - "city": "Wintersburg", - "state": "Missouri", - "country": "Bangladesh", - "company": "Orboid", - "favoriteNumber": 5 - }, - { - "id": 242, - "name": "Jordan Cox", - "city": "Orin", - "state": "Maine", - "country": "Sudan", - "company": "Roboid", - "favoriteNumber": 6 - }, - { - "id": 243, - "name": "Catherine Harper", - "city": "Bedias", - "state": "Wisconsin", - "country": "Zambia", - "company": "Photobin", - "favoriteNumber": 2 - }, - { - "id": 244, - "name": "Suarez Kelly", - "city": "Cressey", - "state": "Alabama", - "country": "Cameroon", - "company": "Xurban", - "favoriteNumber": 7 - }, - { - "id": 245, - "name": "Henderson Mcdonald", - "city": "Adamstown", - "state": "Hawaii", - "country": "Mexico", - "company": "Skinserve", - "favoriteNumber": 1 - }, - { - "id": 246, - "name": "Hardy Gibbs", - "city": "Chical", - "state": "New Jersey", - "country": "Zimbabwe", - "company": "Limage", - "favoriteNumber": 6 - }, - { - "id": 247, - "name": "Kimberley Yang", - "city": "Kenmar", - "state": "Arizona", - "country": "Tunisia", - "company": "Exotechno", - "favoriteNumber": 9 - }, - { - "id": 248, - "name": "Kristie Gilmore", - "city": "Fairview", - "state": "Illinois", - "country": "Italy", - "company": "Equicom", - "favoriteNumber": 4 - }, - { - "id": 249, - "name": "Jewel Hansen", - "city": "Worton", - "state": "Wyoming", - "country": "South Korea", - "company": "Sulfax", - "favoriteNumber": 6 - }, - { - "id": 250, - "name": "Cheryl Carter", - "city": "Caron", - "state": "Delaware", - "country": "Mauritius", - "company": "Netropic", - "favoriteNumber": 9 - }, - { - "id": 251, - "name": "Keisha Snider", - "city": "Waterloo", - "state": "Kentucky", - "country": "Romania", - "company": "Besto", - "favoriteNumber": 6 - }, - { - "id": 252, - "name": "Minnie Michael", - "city": "Cascades", - "state": "New Mexico", - "country": "South Africa", - "company": "Kidgrease", - "favoriteNumber": 10 - }, - { - "id": 253, - "name": "Sandy Mccullough", - "city": "Remington", - "state": "Montana", - "country": "Malaysia", - "company": "Zosis", - "favoriteNumber": 3 - }, - { - "id": 254, - "name": "Cervantes Maddox", - "city": "Sisquoc", - "state": "Rhode Island", - "country": "Oman", - "company": "Extremo", - "favoriteNumber": 6 - }, - { - "id": 255, - "name": "Sophia Logan", - "city": "Winfred", - "state": "North Carolina", - "country": "Ireland", - "company": "Enaut", - "favoriteNumber": 4 - }, - { - "id": 256, - "name": "Bertha Watson", - "city": "Caroleen", - "state": "Maryland", - "country": "France", - "company": "Musix", - "favoriteNumber": 9 - }, - { - "id": 257, - "name": "Emily Wilson", - "city": "Fairacres", - "state": "Indiana", - "country": "Iceland", - "company": "Comvene", - "favoriteNumber": 8 - }, - { - "id": 258, - "name": "Winters Petersen", - "city": "Wildwood", - "state": "Vermont", - "country": "Equatorial Guinea", - "company": "Webiotic", - "favoriteNumber": 0 - }, - { - "id": 259, - "name": "Chambers Finch", - "city": "Topaz", - "state": "Kansas", - "country": "Luxembourg", - "company": "Sultraxin", - "favoriteNumber": 5 - }, - { - "id": 260, - "name": "Byrd Mills", - "city": "Cloverdale", - "state": "Alaska", - "country": "Cruise Ship", - "company": "Accel", - "favoriteNumber": 2 - }, - { - "id": 261, - "name": "Gross Jacobs", - "city": "Duryea", - "state": "North Dakota", - "country": "Belarus", - "company": "Insuron", - "favoriteNumber": 5 - }, - { - "id": 262, - "name": "Jackson Sherman", - "city": "Waterview", - "state": "Arkansas", - "country": "Antigua & Barbuda", - "company": "Viagreat", - "favoriteNumber": 2 - }, - { - "id": 263, - "name": "Rhodes Boyer", - "city": "Enlow", - "state": "New Hampshire", - "country": "Chad", - "company": "Conferia", - "favoriteNumber": 4 - }, - { - "id": 264, - "name": "Campbell Rodgers", - "city": "Cumminsville", - "state": "Massachusetts", - "country": "Reunion", - "company": "Frolix", - "favoriteNumber": 10 - }, - { - "id": 265, - "name": "Bryant Sawyer", - "city": "Guilford", - "state": "Utah", - "country": "Gabon", - "company": "Rooforia", - "favoriteNumber": 10 - }, - { - "id": 266, - "name": "Joan Browning", - "city": "Elizaville", - "state": "Tennessee", - "country": "Fiji", - "company": "Kneedles", - "favoriteNumber": 6 - }, - { - "id": 267, - "name": "Jennie Mcintyre", - "city": "Draper", - "state": "Pennsylvania", - "country": "New Caledonia", - "company": "Isostream", - "favoriteNumber": 4 - }, - { - "id": 268, - "name": "Merle Jones", - "city": "Caspar", - "state": "Louisiana", - "country": "Haiti", - "company": "Tubesys", - "favoriteNumber": 4 - }, - { - "id": 269, - "name": "Ortega Burgess", - "city": "Thermal", - "state": "Idaho", - "country": "Mozambique", - "company": "Lovepad", - "favoriteNumber": 9 - }, - { - "id": 270, - "name": "Deanna Grimes", - "city": "Flintville", - "state": "Michigan", - "country": "Pakistan", - "company": "Omatom", - "favoriteNumber": 10 - }, - { - "id": 271, - "name": "Jeanie Ochoa", - "city": "Ruckersville", - "state": "Colorado", - "country": "Cayman Islands", - "company": "Momentia", - "favoriteNumber": 8 - }, - { - "id": 272, - "name": "Morrow Valencia", - "city": "Roberts", - "state": "Texas", - "country": "Guam", - "company": "Permadyne", - "favoriteNumber": 4 - }, - { - "id": 273, - "name": "Hull Wade", - "city": "Monument", - "state": "Nebraska", - "country": "Cyprus", - "company": "Indexia", - "favoriteNumber": 10 - }, - { - "id": 274, - "name": "Blanca Sheppard", - "city": "Wadsworth", - "state": "West Virginia", - "country": "Nicaragua", - "company": "Gogol", - "favoriteNumber": 7 - }, - { - "id": 275, - "name": "Stella Luna", - "city": "Dubois", - "state": "Oregon", - "country": "Czech Republic", - "company": "Intrawear", - "favoriteNumber": 1 - } -]; diff --git a/samples/react/ReactGrid/ReactGrid.csproj b/samples/react/ReactGrid/ReactGrid.csproj deleted file mode 100644 index cefd991..0000000 --- a/samples/react/ReactGrid/ReactGrid.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - netcoreapp2.0 - true - false - - - - - - - - - - - - - - - - - diff --git a/samples/react/ReactGrid/Startup.cs b/samples/react/ReactGrid/Startup.cs deleted file mode 100755 index 147659b..0000000 --- a/samples/react/ReactGrid/Startup.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.SpaServices.Webpack; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using Newtonsoft.Json.Serialization; - -namespace ReactGrid -{ - public class Startup - { - // This method gets called by the runtime. Use this method to add services to the container. - public void ConfigureServices(IServiceCollection services) - { - services.AddMvc().AddJsonOptions(options => - { - options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); - }); - } - - // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory, IHostingEnvironment env) - { - app.UseDeveloperExceptionPage(); - - if (env.IsDevelopment()) { - app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions { - HotModuleReplacement = true, - ReactHotModuleReplacement = true - }); - } - - app.UseStaticFiles(); - loggerFactory.AddConsole(); - app.UseMvc(routes => - { - routes.MapRoute( - name: "default", - template: "{controller=Home}/{action=Index}/{id?}"); - - routes.MapSpaFallbackRoute( - name: "spa-fallback", - defaults: new { controller = "Home", action = "Index" }); - }); - } - - public static void Main(string[] args) - { - var host = new WebHostBuilder() - .UseContentRoot(Directory.GetCurrentDirectory()) - .UseIISIntegration() - .UseKestrel() - .UseStartup() - .Build(); - - host.Run(); - } - } -} diff --git a/samples/react/ReactGrid/Views/Home/Index.cshtml b/samples/react/ReactGrid/Views/Home/Index.cshtml deleted file mode 100755 index 59b13d5..0000000 --- a/samples/react/ReactGrid/Views/Home/Index.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -
    - -@section scripts { - -} diff --git a/samples/react/ReactGrid/Views/Shared/Error.cshtml b/samples/react/ReactGrid/Views/Shared/Error.cshtml deleted file mode 100755 index 473b35d..0000000 --- a/samples/react/ReactGrid/Views/Shared/Error.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -@{ - ViewData["Title"] = "Error"; -} - -

    Error.

    -

    An error occurred while processing your request.

    diff --git a/samples/react/ReactGrid/Views/Shared/_Layout.cshtml b/samples/react/ReactGrid/Views/Shared/_Layout.cshtml deleted file mode 100755 index 7ea6273..0000000 --- a/samples/react/ReactGrid/Views/Shared/_Layout.cshtml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - ReactExample - - - -
    - @RenderBody() -
    - @RenderSection("scripts", required: false) - - diff --git a/samples/react/ReactGrid/Views/_ViewImports.cshtml b/samples/react/ReactGrid/Views/_ViewImports.cshtml deleted file mode 100755 index 3043884..0000000 --- a/samples/react/ReactGrid/Views/_ViewImports.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@using ReactExample -@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" -@addTagHelper "*, Microsoft.AspNetCore.SpaServices" diff --git a/samples/react/ReactGrid/Views/_ViewStart.cshtml b/samples/react/ReactGrid/Views/_ViewStart.cshtml deleted file mode 100755 index 820a2f6..0000000 --- a/samples/react/ReactGrid/Views/_ViewStart.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@{ - Layout = "_Layout"; -} diff --git a/samples/react/ReactGrid/appsettings.json b/samples/react/ReactGrid/appsettings.json deleted file mode 100755 index 0967ef4..0000000 --- a/samples/react/ReactGrid/appsettings.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/samples/react/ReactGrid/jsconfig.json b/samples/react/ReactGrid/jsconfig.json deleted file mode 100644 index 875bb90..0000000 --- a/samples/react/ReactGrid/jsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "target": "ES6", - "module": "commonjs" - } -} diff --git a/samples/react/ReactGrid/package.json b/samples/react/ReactGrid/package.json deleted file mode 100644 index 9329a55..0000000 --- a/samples/react/ReactGrid/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "ReactExample", - "version": "0.0.0", - "dependencies": { - "babel-core": "^6.13.2", - "bootstrap": "^3.3.7", - "domain-task": "^2.0.1", - "formsy-react": "^0.18.1", - "formsy-react-components": "^0.8.1", - "griddle-react": "^0.6.1", - "history": "^3.0.0", - "memory-fs": "^0.3.0", - "react": "^15.3.0", - "react-dom": "^15.3.0", - "react-router": "^2.6.1", - "require-from-string": "^1.2.0", - "underscore": "^1.8.3", - "webpack-externals-plugin": "^1.0.0" - }, - "devDependencies": { - "aspnet-prerendering": "^1.0.4", - "aspnet-webpack": "^1.0.9", - "aspnet-webpack-react": "^1.0.1", - "babel-loader": "^6.2.4", - "babel-plugin-react-transform": "^2.0.2", - "babel-preset-es2015": "^6.13.2", - "babel-preset-react": "^6.11.1", - "css-loader": "^0.23.1", - "express": "^4.14.0", - "extract-text-webpack-plugin": "^1.0.1", - "file-loader": "^0.9.0", - "react-transform-hmr": "^1.0.4", - "style-loader": "^0.13.1", - "url-loader": "^0.5.7", - "webpack": "^1.13.1", - "webpack-dev-middleware": "^1.6.1", - "webpack-hot-middleware": "^2.12.2" - } -} diff --git a/samples/react/ReactGrid/webpack.config.js b/samples/react/ReactGrid/webpack.config.js deleted file mode 100644 index b1151f1..0000000 --- a/samples/react/ReactGrid/webpack.config.js +++ /dev/null @@ -1,28 +0,0 @@ -var path = require('path'); -var webpack = require('webpack'); -var ExtractTextPlugin = require('extract-text-webpack-plugin'); - -module.exports = { - devtool: 'eval-source-map', - resolve: { - extensions: [ '', '.js', '.jsx' ] - }, - module: { - loaders: [ - { test: /\.jsx?$/, loader: 'babel-loader', exclude: /node_modules/ }, - { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader') }, - { test: /\.(png|woff|woff2|eot|ttf|svg)$/, loader: 'url-loader?limit=100000' } - ] - }, - entry: { - main: ['./ReactApp/boot-client.jsx'] - }, - output: { - path: path.join(__dirname, '/wwwroot/dist'), - filename: '[name].js', - publicPath: '/dist/' // Tells webpack-dev-middleware where to serve the dynamically compiled content from - }, - plugins: [ - new ExtractTextPlugin('main.css') - ] -}; diff --git a/samples/react/ReactGrid/wwwroot/favicon.ico b/samples/react/ReactGrid/wwwroot/favicon.ico deleted file mode 100755 index a3a799985c43bc7309d701b2cad129023377dc71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 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 - - - - - - - - diff --git a/src/Microsoft.AspNetCore.AngularServices/.gitignore b/src/Microsoft.AspNetCore.AngularServices/.gitignore deleted file mode 100644 index ae3c172..0000000 --- a/src/Microsoft.AspNetCore.AngularServices/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/bin/ diff --git a/src/Microsoft.AspNetCore.AngularServices/Microsoft.AspNetCore.AngularServices.csproj b/src/Microsoft.AspNetCore.AngularServices/Microsoft.AspNetCore.AngularServices.csproj deleted file mode 100644 index 9b7863f..0000000 --- a/src/Microsoft.AspNetCore.AngularServices/Microsoft.AspNetCore.AngularServices.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - Helpers for building Angular applications on ASP.NET Core. - netcoreapp2.0 - aspnetcore;aspnetcoremvc;nodeservices - true - - - - - - - - - - - diff --git a/src/Microsoft.AspNetCore.AngularServices/PrimeCacheHelper.cs b/src/Microsoft.AspNetCore.AngularServices/PrimeCacheHelper.cs deleted file mode 100644 index a755d70..0000000 --- a/src/Microsoft.AspNetCore.AngularServices/PrimeCacheHelper.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using System.Net; -using System.Net.Http; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc.Rendering; -using Microsoft.AspNetCore.Html; -using Microsoft.Extensions.Logging; -using Newtonsoft.Json; - -namespace Microsoft.AspNetCore.AngularServices -{ - /// - /// Helpers for prepopulating Angular's 'http' service with data. - /// - public static class PrimeCacheHelper - { - /// - /// Performs an HTTP GET request to the specified URL and adds the resulting JSON data - /// to the Angular 'http' service cache. - /// - /// The . - /// The URL to be requested. - /// A task representing the HTML content to be rendered into the document. - [Obsolete("Use PrimeCacheAsync instead")] - public static Task PrimeCache(this IHtmlHelper html, string url) - { - return PrimeCacheAsync(html, url); - } - - /// - /// Performs an HTTP GET request to the specified URL and adds the resulting JSON data - /// to the Angular 'http' service cache. - /// - /// The . - /// The URL to be requested. - /// A task representing the HTML content to be rendered into the document. - public static async Task PrimeCacheAsync(this IHtmlHelper html, string url) - { - // TODO: Consider deduplicating the PrimeCacheAsync calls (that is, if there are multiple requests to precache - // the same URL, only return nonempty for one of them). This will make it easier to auto-prime-cache any - // HTTP requests made during server-side rendering, without risking unnecessary duplicate requests. - - if (string.IsNullOrEmpty(url)) - { - throw new ArgumentException("Value cannot be null or empty", nameof(url)); - } - - try - { - var request = html.ViewContext.HttpContext.Request; - var baseUriString = string.Concat( - request.Scheme, - "://", - request.Host.ToUriComponent(), - request.PathBase.ToUriComponent(), - request.Path.ToUriComponent(), - request.QueryString.ToUriComponent()); - var fullUri = new Uri(new Uri(baseUriString), url); - var response = await new HttpClient().GetAsync(fullUri.ToString()); - var responseBody = await response.Content.ReadAsStringAsync(); - return new HtmlString(FormatAsScript(url, response.StatusCode, responseBody)); - } - catch (Exception ex) - { - var logger = (ILogger)html.ViewContext.HttpContext.RequestServices.GetService(typeof(ILogger)); - logger?.LogWarning("Error priming cache for URL: " + url, ex); - return new HtmlString(string.Empty); - } - } - - private static string FormatAsScript(string url, HttpStatusCode responseStatusCode, string responseBody) - { - var preCachedUrl = JsonConvert.SerializeObject(url); - var preCachedJson = JsonConvert.SerializeObject(new { statusCode = responseStatusCode, body = responseBody }); - return ""; - } - } -} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.ReactServices/.gitignore b/src/Microsoft.AspNetCore.ReactServices/.gitignore deleted file mode 100644 index ae3c172..0000000 --- a/src/Microsoft.AspNetCore.ReactServices/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/bin/ diff --git a/src/Microsoft.AspNetCore.ReactServices/Microsoft.AspNetCore.ReactServices.csproj b/src/Microsoft.AspNetCore.ReactServices/Microsoft.AspNetCore.ReactServices.csproj deleted file mode 100644 index 97f288a..0000000 --- a/src/Microsoft.AspNetCore.ReactServices/Microsoft.AspNetCore.ReactServices.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - Helpers for building React applications on ASP.NET Core. - netcoreapp2.0 - aspnetcore;aspnetcoremvc;nodeservices - true - - - - - - - - - - - diff --git a/templates/WebApplicationBasic/ClientApp/App.ts b/templates/WebApplicationBasic/ClientApp/App.ts deleted file mode 100644 index 4cde26c..0000000 --- a/templates/WebApplicationBasic/ClientApp/App.ts +++ /dev/null @@ -1,5 +0,0 @@ -import 'bootstrap'; -import './css/site.css'; - -// Replace with your TypeScript code -console.log('Hello, world!'); diff --git a/templates/WebApplicationBasic/ClientApp/css/site.css b/templates/WebApplicationBasic/ClientApp/css/site.css deleted file mode 100755 index af0456d..0000000 --- a/templates/WebApplicationBasic/ClientApp/css/site.css +++ /dev/null @@ -1,24 +0,0 @@ -body { - padding-top: 50px; - padding-bottom: 20px; -} - -/* Wrapping element */ -/* Set some basic padding to keep content from hitting the edges */ -.body-content { - padding-left: 15px; - padding-right: 15px; -} - -/* Set widths on the form inputs since otherwise they're 100% wide */ -input, -select, -textarea { - max-width: 280px; -} - -/* Carousel */ -.carousel-caption p { - font-size: 20px; - line-height: 1.4; -} diff --git a/templates/WebApplicationBasic/Controllers/HomeController.cs b/templates/WebApplicationBasic/Controllers/HomeController.cs deleted file mode 100755 index 03b3a06..0000000 --- a/templates/WebApplicationBasic/Controllers/HomeController.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; - -namespace WebApplicationBasic.Controllers -{ - public class HomeController : Controller - { - public IActionResult Index() - { - return View(); - } - - public IActionResult About() - { - ViewData["Message"] = "Your application description page."; - - return View(); - } - - public IActionResult Contact() - { - ViewData["Message"] = "Your contact page."; - - return View(); - } - - public IActionResult Error() - { - return View(); - } - } -} diff --git a/templates/WebApplicationBasic/Program.cs b/templates/WebApplicationBasic/Program.cs deleted file mode 100644 index b2e5e4b..0000000 --- a/templates/WebApplicationBasic/Program.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Configuration; - -namespace WebApplicationBasic -{ - public class Program - { - public static void Main(string[] args) - { - var config = new ConfigurationBuilder() - .AddCommandLine(args) - .AddEnvironmentVariables(prefix: "ASPNETCORE_") - .Build(); - - var host = new WebHostBuilder() - .UseConfiguration(config) - .UseKestrel() - .UseContentRoot(Directory.GetCurrentDirectory()) - .UseIISIntegration() - .UseStartup() - .Build(); - - host.Run(); - } - } -} diff --git a/templates/WebApplicationBasic/Startup.cs b/templates/WebApplicationBasic/Startup.cs deleted file mode 100755 index fe5473d..0000000 --- a/templates/WebApplicationBasic/Startup.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; - -namespace WebApplicationBasic -{ - public class Startup - { - public Startup(IHostingEnvironment env) - { - var builder = new ConfigurationBuilder() - .SetBasePath(env.ContentRootPath) - .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) - .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) - .AddEnvironmentVariables(); - Configuration = builder.Build(); - } - - public IConfigurationRoot Configuration { get; } - - // This method gets called by the runtime. Use this method to add services to the container. - public void ConfigureServices(IServiceCollection services) - { - // Add framework services. - services.AddMvc(); - } - - // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) - { - loggerFactory.AddConsole(Configuration.GetSection("Logging")); - loggerFactory.AddDebug(); - - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - else - { - app.UseExceptionHandler("/Home/Error"); - } - - app.UseStaticFiles(); - - app.UseMvc(routes => - { - routes.MapRoute( - name: "default", - template: "{controller=Home}/{action=Index}/{id?}"); - }); - } - } -} diff --git a/templates/WebApplicationBasic/Views/Home/About.cshtml b/templates/WebApplicationBasic/Views/Home/About.cshtml deleted file mode 100755 index b653a26..0000000 --- a/templates/WebApplicationBasic/Views/Home/About.cshtml +++ /dev/null @@ -1,7 +0,0 @@ -@{ - ViewData["Title"] = "About"; -} -

    @ViewData["Title"].

    -

    @ViewData["Message"]

    - -

    Use this area to provide additional information.

    diff --git a/templates/WebApplicationBasic/Views/Home/Contact.cshtml b/templates/WebApplicationBasic/Views/Home/Contact.cshtml deleted file mode 100755 index f953aa6..0000000 --- a/templates/WebApplicationBasic/Views/Home/Contact.cshtml +++ /dev/null @@ -1,17 +0,0 @@ -@{ - ViewData["Title"] = "Contact"; -} -

    @ViewData["Title"].

    -

    @ViewData["Message"]

    - -
    - One Microsoft Way
    - Redmond, WA 98052-6399
    - P: - 425.555.0100 -
    - -
    - Support: Support@example.com
    - Marketing: Marketing@example.com -
    diff --git a/templates/WebApplicationBasic/Views/Home/Index.cshtml b/templates/WebApplicationBasic/Views/Home/Index.cshtml deleted file mode 100755 index 6fef9ae..0000000 --- a/templates/WebApplicationBasic/Views/Home/Index.cshtml +++ /dev/null @@ -1,114 +0,0 @@ -@{ - ViewData["Title"] = "Home Page"; -} - - - - - -@section scripts { - -} diff --git a/templates/WebApplicationBasic/Views/Shared/Error.cshtml b/templates/WebApplicationBasic/Views/Shared/Error.cshtml deleted file mode 100755 index 473b35d..0000000 --- a/templates/WebApplicationBasic/Views/Shared/Error.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -@{ - ViewData["Title"] = "Error"; -} - -

    Error.

    -

    An error occurred while processing your request.

    diff --git a/templates/WebApplicationBasic/Views/Shared/_Layout.cshtml b/templates/WebApplicationBasic/Views/Shared/_Layout.cshtml deleted file mode 100755 index 787de23..0000000 --- a/templates/WebApplicationBasic/Views/Shared/_Layout.cshtml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - @ViewData["Title"] - WebApplicationBasic - - - - - - -
    - @RenderBody() -
    -
    -

    © 2016 - WebApplicationBasic

    -
    -
    - - - @RenderSection("scripts", required: false) - - diff --git a/templates/WebApplicationBasic/Views/_ViewImports.cshtml b/templates/WebApplicationBasic/Views/_ViewImports.cshtml deleted file mode 100755 index 6b9e366..0000000 --- a/templates/WebApplicationBasic/Views/_ViewImports.cshtml +++ /dev/null @@ -1,2 +0,0 @@ -@using WebApplicationBasic -@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" diff --git a/templates/WebApplicationBasic/Views/_ViewStart.cshtml b/templates/WebApplicationBasic/Views/_ViewStart.cshtml deleted file mode 100755 index 820a2f6..0000000 --- a/templates/WebApplicationBasic/Views/_ViewStart.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@{ - Layout = "_Layout"; -} diff --git a/templates/WebApplicationBasic/WebApplicationBasic.csproj b/templates/WebApplicationBasic/WebApplicationBasic.csproj deleted file mode 100644 index 12a3277..0000000 --- a/templates/WebApplicationBasic/WebApplicationBasic.csproj +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - netcoreapp2.0 - true - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/templates/WebApplicationBasic/appsettings.json b/templates/WebApplicationBasic/appsettings.json deleted file mode 100755 index 723c096..0000000 --- a/templates/WebApplicationBasic/appsettings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Logging": { - "IncludeScopes": false, - "LogLevel": { - "Default": "Debug", - "System": "Information", - "Microsoft": "Information" - } - } -} diff --git a/templates/WebApplicationBasic/global.json b/templates/WebApplicationBasic/global.json deleted file mode 100644 index 5a3dc98..0000000 --- a/templates/WebApplicationBasic/global.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "sdk": { "version": "1.0.0-preview2-1-003177" } -} diff --git a/templates/WebApplicationBasic/package.json b/templates/WebApplicationBasic/package.json deleted file mode 100644 index 8cc9458..0000000 --- a/templates/WebApplicationBasic/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "WebApplicationBasic", - "version": "0.0.0", - "devDependencies": { - "bootstrap": "^3.3.7", - "css-loader": "^0.23.1", - "event-source-polyfill": "^0.0.7", - "extendify": "^1.0.0", - "extract-text-webpack-plugin": "^1.0.1", - "file-loader": "^0.8.5", - "jquery": "^2.2.1", - "style-loader": "^0.13.0", - "ts-loader": "^0.8.1", - "typescript": "^2.0.3", - "url-loader": "^0.5.7", - "webpack": "^1.13.2" - } -} diff --git a/templates/WebApplicationBasic/template_gitignore b/templates/WebApplicationBasic/template_gitignore deleted file mode 100644 index 3e035ee..0000000 --- a/templates/WebApplicationBasic/template_gitignore +++ /dev/null @@ -1,236 +0,0 @@ -/Properties/launchSettings.json - -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -build/ -bld/ -bin/ -Bin/ -obj/ -Obj/ - -# Visual Studio 2015 cache/options directory -.vs/ -/wwwroot/dist/ - -/yarn.lock - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Microsoft Azure ApplicationInsights config file -ApplicationInsights.config - -# Windows Store app package directory -AppPackages/ -BundleArtifacts/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -orleans.codegen.cs - -/node_modules - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe - -# FAKE - F# Make -.fake/ diff --git a/templates/WebApplicationBasic/tsconfig.json b/templates/WebApplicationBasic/tsconfig.json deleted file mode 100644 index 046eabe..0000000 --- a/templates/WebApplicationBasic/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "moduleResolution": "node", - "target": "es5", - "sourceMap": true, - "lib": ["es6", "dom"], - "skipDefaultLibCheck": true - }, - "exclude": [ - "bin", - "node_modules" - ] -} diff --git a/templates/WebApplicationBasic/web.config b/templates/WebApplicationBasic/web.config deleted file mode 100644 index a8d6672..0000000 --- a/templates/WebApplicationBasic/web.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - diff --git a/templates/WebApplicationBasic/webpack.config.dev.js b/templates/WebApplicationBasic/webpack.config.dev.js deleted file mode 100644 index e3410f6..0000000 --- a/templates/WebApplicationBasic/webpack.config.dev.js +++ /dev/null @@ -1,12 +0,0 @@ -var path = require('path'); -var webpack = require('webpack'); - -module.exports = { - plugins: [ - // Plugins that apply in development builds only - new webpack.SourceMapDevToolPlugin({ - filename: '[file].map', // Remove this line if you prefer inline source maps - moduleFilenameTemplate: path.relative('./wwwroot/dist', '[resourcePath]') // Point sourcemap entries to the original file locations on disk - }) - ] -}; diff --git a/templates/WebApplicationBasic/webpack.config.js b/templates/WebApplicationBasic/webpack.config.js deleted file mode 100644 index 80ff461..0000000 --- a/templates/WebApplicationBasic/webpack.config.js +++ /dev/null @@ -1,35 +0,0 @@ -var path = require('path'); -var webpack = require('webpack'); -var ExtractTextPlugin = require('extract-text-webpack-plugin'); -var merge = require('extendify')({ isDeep: true, arrays: 'concat' }); -var devConfig = require('./webpack.config.dev'); -var prodConfig = require('./webpack.config.prod'); -var isDevelopment = process.env.ASPNETCORE_ENVIRONMENT === 'Development'; -var extractCSS = new ExtractTextPlugin('site.css'); - -module.exports = merge({ - resolve: { - extensions: [ '', '.js', '.jsx', '.ts', '.tsx' ] - }, - module: { - loaders: [ - { test: /\.ts(x?)$/, include: /ClientApp/, loader: 'ts-loader?silent=true' }, - { test: /\.css/, loader: extractCSS.extract([ isDevelopment ? 'css-loader' : 'css-loader?minimize' ]) } - ] - }, - entry: { - main: ['./ClientApp/App.ts'] - }, - output: { - path: path.join(__dirname, 'wwwroot', 'dist'), - filename: '[name].js', - publicPath: '/dist/' - }, - plugins: [ - extractCSS, - new webpack.DllReferencePlugin({ - context: __dirname, - manifest: require('./wwwroot/dist/vendor-manifest.json') - }) - ] -}, isDevelopment ? devConfig : prodConfig); diff --git a/templates/WebApplicationBasic/webpack.config.prod.js b/templates/WebApplicationBasic/webpack.config.prod.js deleted file mode 100644 index 775f115..0000000 --- a/templates/WebApplicationBasic/webpack.config.prod.js +++ /dev/null @@ -1,8 +0,0 @@ -var webpack = require('webpack'); - -module.exports = { - plugins: [ - new webpack.optimize.OccurenceOrderPlugin(), - new webpack.optimize.UglifyJsPlugin({ minimize: true }) - ] -}; diff --git a/templates/WebApplicationBasic/webpack.config.vendor.js b/templates/WebApplicationBasic/webpack.config.vendor.js deleted file mode 100644 index 2efe99e..0000000 --- a/templates/WebApplicationBasic/webpack.config.vendor.js +++ /dev/null @@ -1,36 +0,0 @@ -var path = require('path'); -var webpack = require('webpack'); -var ExtractTextPlugin = require('extract-text-webpack-plugin'); -var extractCSS = new ExtractTextPlugin('vendor.css'); -var isDevelopment = process.env.ASPNETCORE_ENVIRONMENT === 'Development'; - -module.exports = { - resolve: { - extensions: [ '', '.js' ] - }, - module: { - loaders: [ - { test: /\.(png|woff|woff2|eot|ttf|svg)$/, loader: 'url-loader?limit=100000' }, - { test: /\.css/, loader: extractCSS.extract([ isDevelopment ? 'css-loader' : 'css-loader?minimize' ]) } - ] - }, - entry: { - vendor: ['bootstrap', 'bootstrap/dist/css/bootstrap.css', 'event-source-polyfill', 'style-loader', 'jquery'] - }, - output: { - path: path.join(__dirname, 'wwwroot', 'dist'), - filename: '[name].js', - library: '[name]_[hash]', - }, - plugins: [ - extractCSS, - new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }), // Maps these identifiers to the jQuery package (because Bootstrap expects it to be a global variable) - new webpack.optimize.OccurenceOrderPlugin(), - new webpack.DllPlugin({ - path: path.join(__dirname, 'wwwroot', 'dist', '[name]-manifest.json'), - name: '[name]_[hash]' - }) - ].concat(isDevelopment ? [] : [ - new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false } }) - ]) -}; diff --git a/templates/WebApplicationBasic/wwwroot/favicon.ico b/templates/WebApplicationBasic/wwwroot/favicon.ico deleted file mode 100755 index a3a799985c43bc7309d701b2cad129023377dc71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 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 R1gwujQ%z5`RQctb{{l=|@gx8M diff --git a/templates/WebApplicationBasic/wwwroot/images/Banner-02-VS.png b/templates/WebApplicationBasic/wwwroot/images/Banner-02-VS.png deleted file mode 100755 index c9f461137e80b7bed7a75d5f2d15d0defcfb2bfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12388 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