├── 1.gitattributes ├── LICENSE.txt ├── README.md ├── Vazor.sln ├── Vazor ├── FileProvider │ ├── NoWatchChangeToken.vb │ ├── VazorFileInfo.vb │ ├── VazorViewMapper.vb │ ├── VazorViewProvider.vb │ └── ViewInfo.vb ├── Vazor.vbproj ├── VazorExtensions.vb ├── VazorPage.vb ├── VazorSharedView.vb ├── VazorView.vb ├── bin │ ├── Debug │ │ └── netcoreapp2.2 │ │ │ ├── Vazor.deps.json │ │ │ ├── Vazor.dll │ │ │ └── Vazor.pdb │ └── Release │ │ └── netcoreapp2.2 │ │ ├── Vazor.deps.json │ │ ├── Vazor.dll │ │ └── Vazor.pdb └── obj │ ├── Debug │ ├── netcoreapp2.1 │ │ ├── Vazor.AssemblyInfo.vb │ │ ├── Vazor.AssemblyInfoInputs.cache │ │ ├── Vazor.assets.cache │ │ ├── Vazor.vbproj.CoreCompileInputs.cache │ │ └── Vazor.vbproj.FileListAbsolute.txt │ ├── netcoreapp2.2 │ │ ├── Vazor.AssemblyInfo.vb │ │ ├── Vazor.AssemblyInfoInputs.cache │ │ ├── Vazor.assets.cache │ │ ├── Vazor.dll │ │ ├── Vazor.pdb │ │ ├── Vazor.vbproj.CoreCompileInputs.cache │ │ └── Vazor.vbproj.FileListAbsolute.txt │ └── netcoreapp3.0 │ │ ├── Vazor.AssemblyInfo.vb │ │ ├── Vazor.AssemblyInfoInputs.cache │ │ ├── Vazor.assets.cache │ │ ├── Vazor.dll │ │ ├── Vazor.pdb │ │ ├── Vazor.vbproj.CoreCompileInputs.cache │ │ ├── Vazor.vbproj.FileListAbsolute.txt │ │ └── Vazor.vbprojAssemblyReference.cache │ ├── Release │ └── netcoreapp2.2 │ │ ├── Vazor.AssemblyInfo.vb │ │ ├── Vazor.AssemblyInfoInputs.cache │ │ ├── Vazor.assets.cache │ │ ├── Vazor.dll │ │ ├── Vazor.pdb │ │ ├── Vazor.vbproj.CoreCompileInputs.cache │ │ ├── Vazor.vbproj.FileListAbsolute.txt │ │ └── Vazor.vbprojAssemblyReference.cache │ ├── Vazor.vbproj.nuget.cache │ ├── Vazor.vbproj.nuget.dgspec.json │ ├── Vazor.vbproj.nuget.g.props │ ├── Vazor.vbproj.nuget.g.targets │ └── project.assets.json ├── VazorPages1 ├── Data │ ├── SomeStudents.vb │ └── Student.vb ├── My Project │ └── launchSettings.json ├── Pages │ ├── Error.cshtml │ ├── Error.cshtml.vb │ ├── Index.cshtml │ ├── Index.cshtml.vb │ ├── Index.vbxml.vb │ ├── Privacy.cshtml │ ├── Privacy.cshtml.vb │ ├── Shared │ │ ├── Layout.vbxml.vb │ │ ├── _CookieConsentPartial.cshtml │ │ └── _ValidationScriptsPartial.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── Program.vb ├── Startup.vb ├── VazorPages1.sln ├── VazorPages1.vbproj ├── VazorPages1.vbproj.user ├── VazorPages1.zip ├── appsettings.Development.json ├── appsettings.json ├── bin │ └── Debug │ │ └── netcoreapp2.2 │ │ ├── VazorPages1.deps.json │ │ ├── VazorPages1.dll │ │ ├── VazorPages1.pdb │ │ ├── VazorPages1.runtimeconfig.dev.json │ │ └── VazorPages1.runtimeconfig.json ├── obj │ ├── Debug │ │ ├── netcoreapp2.1 │ │ │ ├── VazorPages1.AssemblyInfo.vb │ │ │ ├── VazorPages1.AssemblyInfoInputs.cache │ │ │ ├── VazorPages1.assets.cache │ │ │ ├── VazorPages1.vbproj.CoreCompileInputs.cache │ │ │ ├── VazorPages1.vbproj.FileListAbsolute.txt │ │ │ └── VazorPages1.vbprojAssemblyReference.cache │ │ └── netcoreapp2.2 │ │ │ ├── VazorPages1.AssemblyInfo.vb │ │ │ ├── VazorPages1.AssemblyInfoInputs.cache │ │ │ ├── VazorPages1.assets.cache │ │ │ ├── VazorPages1.dll │ │ │ ├── VazorPages1.pdb │ │ │ ├── VazorPages1.vbproj.CoreCompileInputs.cache │ │ │ ├── VazorPages1.vbproj.FileListAbsolute.txt │ │ │ └── VazorPages1.vbprojAssemblyReference.cache │ ├── VazorPages1.vbproj.nuget.cache │ ├── VazorPages1.vbproj.nuget.dgspec.json │ ├── VazorPages1.vbproj.nuget.g.props │ ├── VazorPages1.vbproj.nuget.g.targets │ └── project.assets.json └── wwwroot │ ├── css │ └── site.css │ ├── favicon.ico │ ├── js │ └── site.js │ └── lib │ ├── bootstrap │ ├── LICENSE │ └── dist │ │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ │ └── js │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.bundle.js.map │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.bundle.min.js.map │ │ ├── bootstrap.js │ │ ├── bootstrap.js.map │ │ ├── bootstrap.min.js │ │ └── bootstrap.min.js.map │ ├── jquery-validation-unobtrusive │ ├── LICENSE.txt │ ├── jquery.validate.unobtrusive.js │ └── jquery.validate.unobtrusive.min.js │ ├── jquery-validation │ ├── LICENSE.md │ └── dist │ │ ├── additional-methods.js │ │ ├── additional-methods.min.js │ │ ├── jquery.validate.js │ │ └── jquery.validate.min.js │ └── jquery │ ├── LICENSE.txt │ └── dist │ ├── jquery.js │ ├── jquery.min.js │ └── jquery.min.map ├── WebApp1 ├── Controllers │ └── HomeController.vb ├── Data │ └── SomeStudents.vb ├── Models │ ├── ErrorViewModel.vb │ └── Student.vb ├── My Project │ └── launchSettings.json ├── Program.vb ├── Startup.vb ├── Views │ ├── Home │ │ ├── Index.vazor.vb │ │ ├── Index.vbxml.vb │ │ └── Privacy.cshtml │ ├── Shared │ │ ├── Error.cshtml │ │ ├── Layout.vbxml.vb │ │ ├── _CookieConsentPartial.cshtml │ │ └── _ValidationScriptsPartial.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── WebApp1.vbproj ├── WebApp1.vbproj.user ├── appsettings.Development.json ├── appsettings.json ├── bin │ └── Debug │ │ └── netcoreapp2.2 │ │ ├── WebApp1.deps.json │ │ ├── WebApp1.dll │ │ ├── WebApp1.pdb │ │ ├── WebApp1.runtimeconfig.dev.json │ │ └── WebApp1.runtimeconfig.json ├── obj │ ├── Debug │ │ ├── netcoreapp2.1 │ │ │ ├── WebApp1.assets.cache │ │ │ └── WebApp1.vbproj.FileListAbsolute.txt │ │ └── netcoreapp2.2 │ │ │ ├── WebApp1.AssemblyInfo.vb │ │ │ ├── WebApp1.AssemblyInfoInputs.cache │ │ │ ├── WebApp1.assets.cache │ │ │ ├── WebApp1.dll │ │ │ ├── WebApp1.pdb │ │ │ ├── WebApp1.vbproj.CoreCompileInputs.cache │ │ │ ├── WebApp1.vbproj.FileListAbsolute.txt │ │ │ └── WebApp1.vbprojAssemblyReference.cache │ ├── WebApp1.vbproj.nuget.cache │ ├── WebApp1.vbproj.nuget.dgspec.json │ ├── WebApp1.vbproj.nuget.g.props │ ├── WebApp1.vbproj.nuget.g.targets │ └── project.assets.json └── wwwroot │ ├── css │ └── site.css │ ├── favicon.ico │ ├── js │ └── site.js │ └── lib │ ├── bootstrap │ ├── LICENSE │ └── dist │ │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ │ └── js │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.bundle.js.map │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.bundle.min.js.map │ │ ├── bootstrap.js │ │ ├── bootstrap.js.map │ │ ├── bootstrap.min.js │ │ └── bootstrap.min.js.map │ ├── jquery-validation-unobtrusive │ ├── LICENSE.txt │ ├── jquery.validate.unobtrusive.js │ └── jquery.validate.unobtrusive.min.js │ ├── jquery-validation │ ├── LICENSE.md │ └── dist │ │ ├── additional-methods.js │ │ ├── additional-methods.min.js │ │ ├── jquery.validate.js │ │ └── jquery.validate.min.js │ └── jquery │ ├── LICENSE.txt │ └── dist │ ├── jquery.js │ ├── jquery.min.js │ └── jquery.min.map └── eShopOnWeb.vazor ├── .vs ├── eShopOnWeb.vazor │ ├── DesignTimeBuild │ │ ├── .dtbcache │ │ └── .dtbcache.v2 │ ├── config │ │ └── applicationhost.config │ └── v16 │ │ ├── .suo │ │ └── Server │ │ └── sqlite3 │ │ ├── db.lock │ │ └── storage.ide └── eShopOnWeb.zml │ ├── DesignTimeBuild │ └── .dtbcache │ ├── config │ └── applicationhost.config │ └── v16 │ ├── .suo │ └── Server │ └── sqlite3 │ ├── db.lock │ └── storage.ide ├── ApplicationCore ├── ApplicationCore.csproj ├── CatalogSettings.cs ├── Entities │ ├── BaseEntity.cs │ ├── BasketAggregate │ │ ├── Basket.cs │ │ └── BasketItem.cs │ ├── BuyerAggregate │ │ ├── Buyer.cs │ │ └── PaymentMethod.cs │ ├── CatalogBrand.cs │ ├── CatalogItem.cs │ ├── CatalogType.cs │ └── OrderAggregate │ │ ├── Address.cs │ │ ├── CatalogItemOrdered.cs │ │ ├── Order.cs │ │ └── OrderItem.cs ├── Exceptions │ ├── BasketNotFoundException.cs │ └── GuardExtensions.cs ├── Interfaces │ ├── IAggregateRoot.cs │ ├── IAppLogger.cs │ ├── IAsyncRepository.cs │ ├── IBasketService.cs │ ├── IEmailSender.cs │ ├── IIdentityParser.cs │ ├── IOrderRepository.cs │ ├── IOrderService.cs │ ├── ISpecification.cs │ └── IUriComposer.cs ├── Services │ ├── BasketService.cs │ ├── OrderService.cs │ └── UriComposer.cs ├── Specifications │ ├── BaseSpecification.cs │ ├── BasketWithItemsSpecification.cs │ ├── CatalogFilterPaginatedSpecification.cs │ ├── CatalogFilterSpecification.cs │ └── CustomerOrdersWithItemsSpecification.cs ├── bin │ └── Debug │ │ └── netstandard2.0 │ │ ├── ApplicationCore.deps.json │ │ ├── ApplicationCore.dll │ │ └── ApplicationCore.pdb └── obj │ ├── ApplicationCore.csproj.nuget.cache │ ├── ApplicationCore.csproj.nuget.dgspec.json │ ├── ApplicationCore.csproj.nuget.g.props │ ├── ApplicationCore.csproj.nuget.g.targets │ ├── Debug │ └── netstandard2.0 │ │ ├── ApplicationCore.AssemblyInfo.cs │ │ ├── ApplicationCore.AssemblyInfoInputs.cache │ │ ├── ApplicationCore.assets.cache │ │ ├── ApplicationCore.csproj.CoreCompileInputs.cache │ │ ├── ApplicationCore.csproj.FileListAbsolute.txt │ │ ├── ApplicationCore.csprojAssemblyReference.cache │ │ ├── ApplicationCore.dll │ │ └── ApplicationCore.pdb │ ├── project.assets.json │ └── project.nuget.cache ├── Infrastructure ├── Data │ ├── CatalogContext.cs │ ├── CatalogContextSeed.cs │ ├── EfRepository.cs │ ├── Migrations │ │ ├── 20171018175735_Initial.Designer.cs │ │ ├── 20171018175735_Initial.cs │ │ ├── 20180725190153_AddExtraConstraints.Designer.cs │ │ ├── 20180725190153_AddExtraConstraints.cs │ │ └── CatalogContextModelSnapshot.cs │ ├── OrderRepository.cs │ └── SpecificationEvaluator.cs ├── Identity │ ├── AppIdentityDbContext.cs │ ├── AppIdentityDbContextSeed.cs │ ├── ApplicationUser.cs │ └── Migrations │ │ ├── 20170822214310_InitialIdentityModel.Designer.cs │ │ ├── 20170822214310_InitialIdentityModel.cs │ │ └── AppIdentityDbContextModelSnapshot.cs ├── Infrastructure.csproj ├── Logging │ └── LoggerAdapter.cs ├── Services │ └── EmailSender.cs ├── bin │ └── Debug │ │ └── netstandard2.0 │ │ ├── ApplicationCore.deps.json │ │ ├── ApplicationCore.dll │ │ ├── ApplicationCore.pdb │ │ ├── Infrastructure.deps.json │ │ ├── Infrastructure.dll │ │ └── Infrastructure.pdb └── obj │ ├── Debug │ └── netstandard2.0 │ │ ├── Infrastructure.AssemblyInfo.cs │ │ ├── Infrastructure.AssemblyInfoInputs.cache │ │ ├── Infrastructure.assets.cache │ │ ├── Infrastructure.csproj.CopyComplete │ │ ├── Infrastructure.csproj.CoreCompileInputs.cache │ │ ├── Infrastructure.csproj.FileListAbsolute.txt │ │ ├── Infrastructure.csprojAssemblyReference.cache │ │ ├── Infrastructure.dll │ │ └── Infrastructure.pdb │ ├── Infrastructure.csproj.nuget.cache │ ├── Infrastructure.csproj.nuget.dgspec.json │ ├── Infrastructure.csproj.nuget.g.props │ ├── Infrastructure.csproj.nuget.g.targets │ ├── project.assets.json │ └── project.nuget.cache ├── Web.VB ├── Areas │ └── Identity │ │ ├── IdentityHostingStartup.vb │ │ └── Pages │ │ ├── Account │ │ ├── Login.cshtml │ │ ├── Login.cshtml.vb │ │ ├── Login.vbxml.vb │ │ └── _ViewImports.vbxml.vb │ │ ├── _ValidationScriptsPartial.vbxml.vb │ │ ├── _ViewImports.vbxml.vb │ │ └── _ViewStart.vbxml.vb ├── Constants.vb ├── Controllers │ ├── AccountController.vb │ ├── Api │ │ ├── BaseApiController.vb │ │ └── CatalogController.vb │ ├── ManageController.vb │ └── OrderController.vb ├── Dockerfile ├── Extensions │ ├── EmailSenderExtensions.vb │ └── UrlHelperExtensions.vb ├── HealthChecks │ ├── ApiHealthCheck.vb │ └── HomePageHealthCheck.vb ├── Interfaces │ ├── IBasketViewModelService.vb │ └── ICatalogViewModelService.vb ├── My Project │ └── launchSettings.json ├── Pages │ ├── Basket │ │ ├── BasketItemViewModel.vb │ │ ├── BasketViewModel.vb │ │ ├── Checkout.cshtml │ │ ├── Checkout.cshtml.vb │ │ ├── Checkout.vbxml.vb │ │ ├── Index.cshtml │ │ ├── Index.cshtml.vb │ │ └── Index.vbxml.vb │ ├── Error.cshtml │ ├── Error.cshtml.vb │ ├── Error.vbxml.vb │ ├── Index.cshtml │ ├── Index.cshtml.vb │ ├── Index.vbxml.vb │ ├── Privacy.cshtml │ ├── Privacy.cshtml.vb │ ├── Privacy.vbxml.vb │ ├── Shared │ │ ├── Components │ │ │ └── BasketComponent │ │ │ │ ├── Basket.vb │ │ │ │ └── Default.vbxml.vb │ │ ├── _pagination.vbxml.vb │ │ └── _product.vbxml.vb │ ├── _ViewImports.vbxml.vb │ └── _ViewStart.vbxml.vb ├── Program.vb ├── Services │ ├── BasketViewModelService.vb │ ├── CachedCatalogViewModelService.vb │ └── CatalogViewModelService.vb ├── SlugifyParameterTransformer.vb ├── Startup.vb ├── ViewModels │ ├── Account │ │ ├── LoginViewModel.vb │ │ ├── LoginWith2faViewModel.vb │ │ ├── RegisterViewModel.vb │ │ └── ResetPasswordViewModel.vb │ ├── BasketComponentViewModel.vb │ ├── CatalogIndexViewModel.vb │ ├── CatalogItemViewModel.vb │ ├── Manage │ │ ├── ChangePasswordViewModel.vb │ │ ├── EnableAuthenticatorViewModel.vb │ │ ├── ExternalLoginsViewModel.vb │ │ ├── GenerateRecoveryCodesViewModel.vb │ │ ├── IndexViewModel.vb │ │ ├── RemoveLoginViewModel.vb │ │ ├── SetPasswordViewModel.vb │ │ └── TwoFactorAuthenticationViewModel.vb │ ├── OrderItemViewModel.vb │ ├── OrderViewModel.vb │ └── PaginationInfoViewModel.vb ├── Views │ ├── Account │ │ ├── Lockout.vbxml.vb │ │ ├── LoginWith2fa.vbxml.vb │ │ └── Register.vbxml.vb │ ├── Manage │ │ ├── ChangePassword.cshtml │ │ ├── ChangePassword.zml │ │ ├── Disable2fa.cshtml │ │ ├── Disable2fa.zml │ │ ├── EnableAuthenticator.cshtml │ │ ├── EnableAuthenticator.zml │ │ ├── ExternalLogins.vazor.vb │ │ ├── ExternalLogins.vbxml.vb │ │ ├── GenerateRecoveryCodes.cshtml │ │ ├── GenerateRecoveryCodes.zml │ │ ├── ManageNavPages.vb │ │ ├── MyAccount.cshtml │ │ ├── MyAccount.zml │ │ ├── ResetAuthenticator.cshtml │ │ ├── ResetAuthenticator.zml │ │ ├── SetPassword.cshtml │ │ ├── SetPassword.zml │ │ ├── TwoFactorAuthentication.cshtml │ │ ├── TwoFactorAuthentication.zml │ │ ├── _Layout.vbxml.vb │ │ ├── _ManageNav.vbxml.vb │ │ ├── _StatusMessage.cshtml │ │ ├── _StatusMessage.zml │ │ └── _ViewImports.vbxml.vb │ ├── Order │ │ ├── Detail.cshtml │ │ ├── Detail.zml │ │ ├── MyOrders.cshtml │ │ └── MyOrders.zml │ ├── Shared │ │ ├── Components │ │ │ └── Basket │ │ │ │ ├── Default.cshtml │ │ │ │ └── Default.zml │ │ ├── Error.cshtml │ │ ├── Error.zml │ │ ├── _CookieConsentPartial.cshtml │ │ ├── _CookieConsentPartial.zml │ │ ├── _Layout.cshtml │ │ ├── _Layout.zml │ │ ├── _LoginPartial.cshtml │ │ ├── _LoginPartial.zml │ │ ├── _ValidationScriptsPartial.cshtml │ │ └── _ValidationScriptsPartial.zml │ ├── _ViewImports.cshtml │ ├── _ViewImports.zml │ ├── _ViewStart.cshtml │ └── _ViewStart.zml ├── Web.VB.vbproj ├── appsettings.Development.json ├── appsettings.json ├── bin │ └── Debug │ │ └── netcoreapp2.2 │ │ ├── ApplicationCore.dll │ │ ├── ApplicationCore.pdb │ │ ├── Infrastructure.dll │ │ ├── Infrastructure.pdb │ │ ├── Vazor1.5.dll │ │ ├── Vazor1.5.pdb │ │ ├── Web.VB.deps.json │ │ ├── Web.VB.dll │ │ ├── Web.VB.pdb │ │ ├── Web.VB.runtimeconfig.dev.json │ │ ├── Web.VB.runtimeconfig.json │ │ ├── appsettings.json │ │ ├── eShopOnWeb_Vazor.deps.json │ │ ├── eShopOnWeb_Vazor.dll │ │ ├── eShopOnWeb_Vazor.pdb │ │ ├── eShopOnWeb_Vazor.runtimeconfig.dev.json │ │ ├── eShopOnWeb_Vazor.runtimeconfig.json │ │ ├── eShopOnWeb_zml.deps.json │ │ ├── eShopOnWeb_zml.dll │ │ ├── eShopOnWeb_zml.pdb │ │ ├── eShopOnWeb_zml.runtimeconfig.dev.json │ │ └── eShopOnWeb_zml.runtimeconfig.json ├── compilerconfig.json ├── compilerconfig.json.defaults ├── libman.json ├── obj │ ├── Debug │ │ └── netcoreapp2.2 │ │ │ ├── Web.VB.AssemblyInfo.vb │ │ │ ├── Web.VB.AssemblyInfoInputs.cache │ │ │ ├── Web.VB.assets.cache │ │ │ ├── Web.VB.dll │ │ │ ├── Web.VB.pdb │ │ │ ├── Web.VB.vbproj.CopyComplete │ │ │ ├── Web.VB.vbproj.CoreCompileInputs.cache │ │ │ ├── Web.VB.vbproj.FileListAbsolute.txt │ │ │ ├── Web.VB.vbprojAssemblyReference.cache │ │ │ ├── eShopOnWeb_Vazor.AssemblyInfo.vb │ │ │ ├── eShopOnWeb_Vazor.AssemblyInfoInputs.cache │ │ │ ├── eShopOnWeb_Vazor.assets.cache │ │ │ ├── eShopOnWeb_Vazor.dll │ │ │ ├── eShopOnWeb_Vazor.pdb │ │ │ ├── eShopOnWeb_Vazor.vbproj.CopyComplete │ │ │ ├── eShopOnWeb_Vazor.vbproj.CoreCompileInputs.cache │ │ │ ├── eShopOnWeb_Vazor.vbproj.FileListAbsolute.txt │ │ │ ├── eShopOnWeb_Vazor.vbprojAssemblyReference.cache │ │ │ ├── eShopOnWeb_zml.AssemblyInfo.vb │ │ │ ├── eShopOnWeb_zml.AssemblyInfoInputs.cache │ │ │ ├── eShopOnWeb_zml.assets.cache │ │ │ ├── eShopOnWeb_zml.dll │ │ │ ├── eShopOnWeb_zml.pdb │ │ │ ├── eShopOnWeb_zml.vbproj.CopyComplete │ │ │ ├── eShopOnWeb_zml.vbproj.CoreCompileInputs.cache │ │ │ ├── eShopOnWeb_zml.vbproj.FileListAbsolute.txt │ │ │ └── eShopOnWeb_zml.vbprojAssemblyReference.cache │ ├── Web.VB.vbproj.nuget.cache │ ├── Web.VB.vbproj.nuget.dgspec.json │ ├── Web.VB.vbproj.nuget.g.props │ ├── Web.VB.vbproj.nuget.g.targets │ ├── eShopOnWeb_Vazor.vbproj.nuget.cache │ ├── eShopOnWeb_Vazor.vbproj.nuget.dgspec.json │ ├── eShopOnWeb_Vazor.vbproj.nuget.g.props │ ├── eShopOnWeb_Vazor.vbproj.nuget.g.targets │ ├── eShopOnWeb_zml.vbproj.nuget.cache │ ├── eShopOnWeb_zml.vbproj.nuget.dgspec.json │ ├── eShopOnWeb_zml.vbproj.nuget.g.props │ ├── eShopOnWeb_zml.vbproj.nuget.g.targets │ ├── project.assets.json │ └── project.nuget.cache └── wwwroot │ ├── css │ ├── _variables.css │ ├── _variables.min.css │ ├── _variables.scss │ ├── app.component.css │ ├── app.component.min.css │ ├── app.component.scss │ ├── app.css │ ├── app.min.css │ ├── basket │ │ ├── basket-status │ │ │ ├── basket-status.component.css │ │ │ ├── basket-status.component.min.css │ │ │ └── basket-status.component.scss │ │ ├── basket.component.css │ │ ├── basket.component.min.css │ │ └── basket.component.scss │ ├── catalog │ │ ├── catalog.component.css │ │ ├── catalog.component.min.css │ │ ├── catalog.component.scss │ │ └── pager.css │ ├── orders │ │ ├── orders.component.css │ │ ├── orders.component.min.css │ │ └── orders.component.scss │ ├── shared │ │ └── components │ │ │ ├── header │ │ │ ├── header.css │ │ │ ├── header.min.css │ │ │ └── header.scss │ │ │ ├── identity │ │ │ ├── identity.css │ │ │ ├── identity.min.css │ │ │ └── identity.scss │ │ │ └── pager │ │ │ ├── pager.css │ │ │ ├── pager.min.css │ │ │ └── pager.scss │ └── site.css │ ├── favicon.ico │ ├── fonts │ ├── Montserrat-Bold.eot │ ├── Montserrat-Bold.svg │ ├── Montserrat-Bold.ttf │ ├── Montserrat-Bold.woff │ ├── Montserrat-Bold.woff2 │ ├── Montserrat-Regular.eot │ ├── Montserrat-Regular.svg │ ├── Montserrat-Regular.ttf │ ├── Montserrat-Regular.woff │ └── Montserrat-Regular.woff2 │ ├── images │ ├── arrow-down.png │ ├── arrow-right.svg │ ├── brand.png │ ├── cart.png │ ├── logout.png │ ├── main_banner.png │ ├── main_banner_text.png │ ├── main_banner_text.svg │ ├── my_orders.png │ ├── products │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ └── refresh.svg │ ├── js │ ├── site.js │ └── site.min.js │ └── lib │ ├── @aspnet │ └── signalr │ │ └── dist │ │ └── browser │ │ ├── signalr.js │ │ └── signalr.min.js │ ├── Vazor │ ├── Vazor.deps.json │ └── Vazor.dll │ ├── bootstrap │ ├── LICENSE │ └── dist │ │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ │ └── js │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.bundle.js.map │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.bundle.min.js.map │ │ ├── bootstrap.js │ │ ├── bootstrap.js.map │ │ ├── bootstrap.min.js │ │ └── bootstrap.min.js.map │ ├── jquery-validate │ ├── jquery.validate.js │ └── jquery.validate.min.js │ ├── jquery-validation-unobtrusive │ ├── LICENSE.txt │ ├── jquery.validate.unobtrusive.js │ └── jquery.validate.unobtrusive.min.js │ ├── jquery-validation │ ├── LICENSE.md │ └── dist │ │ ├── additional-methods.js │ │ ├── additional-methods.min.js │ │ ├── jquery.validate.js │ │ └── jquery.validate.min.js │ ├── jquery │ ├── LICENSE.txt │ ├── core.js │ ├── dist │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ └── jquery.min.map │ ├── jquery.js │ ├── jquery.min.js │ ├── jquery.min.map │ ├── jquery.slim.js │ ├── jquery.slim.min.js │ └── jquery.slim.min.map │ └── toastr │ ├── toastr.css │ ├── toastr.js.map │ ├── toastr.min.css │ └── toastr.min.js └── eShopOnWeb.vazor.sln /1.gitattributes: -------------------------------------------------------------------------------- 1 | * linguist-vendored 2 | *.vb linguist-vendored=false -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Mohammad Hamdy Ghanem 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Vazor/FileProvider/NoWatchChangeToken.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.Extensions.Primitives 2 | 3 | Friend Class NoWatchChangeToken 4 | Implements IChangeToken 5 | 6 | Public ReadOnly Property ActiveChangeCallbacks() As Boolean Implements IChangeToken.ActiveChangeCallbacks 7 | Get 8 | Return False 9 | End Get 10 | End Property 11 | 12 | Public ReadOnly Property HasChanged() As Boolean Implements IChangeToken.HasChanged 13 | Get 14 | Return False 15 | End Get 16 | End Property 17 | 18 | 19 | Public Function RegisterChangeCallback(ByVal callback As Action(Of Object), ByVal state As Object) As IDisposable Implements IChangeToken.RegisterChangeCallback 20 | Return New EmptyDisposable() 21 | End Function 22 | 23 | End Class 24 | Public Class EmptyDisposable 25 | Implements IDisposable 26 | Public Sub Dispose() Implements IDisposable.Dispose 27 | 28 | End Sub 29 | End Class 30 | -------------------------------------------------------------------------------- /Vazor/FileProvider/VazorViewProvider.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.Extensions.FileProviders 2 | Imports Microsoft.Extensions.Primitives 3 | 4 | Public Class VazorViewProvider 5 | Implements IFileProvider 6 | 7 | Public Function GetDirectoryContents(ByVal path As String) As IDirectoryContents Implements IFileProvider.GetDirectoryContents 8 | Return Nothing 9 | End Function 10 | 11 | Public Function GetFileInfo(ByVal path As String) As IFileInfo Implements IFileProvider.GetFileInfo 12 | Return New VazorFileInfo(path) 13 | End Function 14 | 15 | Public Function Watch(ByVal filter As String) As IChangeToken Implements IFileProvider.Watch 16 | Return New NoWatchChangeToken() 17 | End Function 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Vazor/FileProvider/ViewInfo.vb: -------------------------------------------------------------------------------- 1 | Friend Class ViewInfo 2 | Public ViewContent As Byte() 3 | Public Path As String 4 | Public Times As Integer 5 | 6 | Public Sub New(viewContent() As Byte, path As String, times As Integer) 7 | Me.ViewContent = viewContent 8 | Me.Path = fixpath(path) 9 | Me.Times = times 10 | End Sub 11 | 12 | Public Shared Function FixPath(path As String) As String 13 | Return path.Replace("/"c, "\"c).Trim("\"c) 14 | End Function 15 | End Class 16 | -------------------------------------------------------------------------------- /Vazor/Vazor.vbproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Vazor 5 | netcoreapp2.2 6 | Vazor 7 | 1.8.3 8 | Mohammed Hamdy Ghanem 9 | Vazor is a VB.NET Razor that uses vbxml code (VB and xml literals) with zml support to create ASP.NET MVC Core Views and Pages. 10 | 11 | https://github.com/VBAndCs/Vazor-DotNetCore2 12 | https://github.com/VBAndCs/Vazor-DotNetCore2 13 | VB.NET Razor ASP.NET MVC Core XML ZML 14 | 15 | (c) Mohammed Hamdy Ghanem 2019 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Vazor/VazorPage.vb: -------------------------------------------------------------------------------- 1 | Public Class VazorPage 2 | Inherits VazorView 3 | 4 | Public Sub New(name As String, path As String, title As String, html As String, Optional encoding As Text.Encoding = Nothing) 5 | MyBase.New(name, path, title, If(encoding, Text.Encoding.UTF8)) 6 | Me.Content = MyBase.Encoding.GetBytes(html) 7 | End Sub 8 | 9 | ' This function is called in the "Index" action method in the HomeController: 10 | ' View(IndexView.CreateNew(Students, ViewData)) 11 | 12 | Public Shared Function CreateNew(name As String, path As String, title As String, 13 | html As String, Optional encoding As Text.Encoding = Nothing) As String 14 | 15 | Return VazorViewMapper.Add(New VazorPage(name, path, title, html, encoding)) 16 | End Function 17 | 18 | Public Overrides Function GetVbXml() As XElement 19 | Throw New NotImplementedException() 20 | End Function 21 | 22 | Public Overrides ReadOnly Property Content() As Byte() 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Vazor/VazorSharedView.vb: -------------------------------------------------------------------------------- 1 | Public MustInherit Class VazorSharedView 2 | Inherits VazorView 3 | 4 | Protected Sub New(name As String, path As String, title As String) 5 | MyBase.New(name, path, title, System.Text.Encoding.UTF8) 6 | VazorViewMapper.AddStatic(Me) 7 | End Sub 8 | 9 | Public Shared Sub CreateAll() 10 | 11 | Dim types = From t In Reflection.Assembly.GetCallingAssembly().GetTypes() 12 | Where t.IsClass AndAlso 13 | Not t.IsAbstract AndAlso 14 | t.IsSubclassOf(GetType(VazorSharedView)) 15 | 16 | For Each type As Type In types 17 | Activator.CreateInstance(type) 18 | Next type 19 | 20 | End Sub 21 | 22 | End Class 23 | -------------------------------------------------------------------------------- /Vazor/VazorView.vb: -------------------------------------------------------------------------------- 1 | Public MustInherit Class VazorView 2 | 3 | Public ReadOnly Property Name As String 4 | 5 | Public ReadOnly Property Path As String 6 | 7 | Public ReadOnly Property Title As String 8 | 9 | Public ReadOnly Property Encoding As System.Text.Encoding 10 | 11 | Protected Sub New(name As String, path As String, title As String) 12 | Me.New(name, path, title, System.Text.Encoding.UTF8) 13 | End Sub 14 | 15 | Protected Sub New(name As String, path As String, title As String, Encoding As System.Text.Encoding) 16 | Me.Name = name 17 | Me.Path = path 18 | Me.Title = title 19 | Me.Encoding = Encoding 20 | End Sub 21 | 22 | Public Overridable ReadOnly Property Content() As Byte() 23 | Get 24 | Dim html = GetVbXml().ParseZml 25 | Return Encoding.GetBytes(html) 26 | End Get 27 | End Property 28 | 29 | Public MustOverride Function GetVbXml() As XElement 30 | End Class 31 | -------------------------------------------------------------------------------- /Vazor/bin/Debug/netcoreapp2.2/Vazor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/bin/Debug/netcoreapp2.2/Vazor.dll -------------------------------------------------------------------------------- /Vazor/bin/Debug/netcoreapp2.2/Vazor.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/bin/Debug/netcoreapp2.2/Vazor.pdb -------------------------------------------------------------------------------- /Vazor/bin/Release/netcoreapp2.2/Vazor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/bin/Release/netcoreapp2.2/Vazor.dll -------------------------------------------------------------------------------- /Vazor/bin/Release/netcoreapp2.2/Vazor.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/bin/Release/netcoreapp2.2/Vazor.pdb -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp2.1/Vazor.AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict Off 12 | Option Explicit On 13 | 14 | Imports System 15 | Imports System.Reflection 16 | 23 | 24 | 'Generated by the MSBuild WriteCodeFragment class. 25 | -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp2.1/Vazor.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 964b4804f9990548c8f6321f0b9cb18987be985f 2 | -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp2.1/Vazor.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Debug/netcoreapp2.1/Vazor.assets.cache -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp2.1/Vazor.vbproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 032e283e1faf97b558570d41b8c836e79b96916b 2 | -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp2.1/Vazor.vbproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\_VS.NET\Vazor\Vazor\obj\Debug\netcoreapp2.1\Vazor.vbprojAssemblyReference.cache 2 | F:\_VS.NET\Vazor\Vazor\obj\Debug\netcoreapp2.1\Vazor.vbproj.CoreCompileInputs.cache 3 | F:\_VS.NET\Vazor\Vazor\obj\Debug\netcoreapp2.1\Vazor.AssemblyInfoInputs.cache 4 | F:\_VS.NET\Vazor\Vazor\obj\Debug\netcoreapp2.1\Vazor.AssemblyInfo.vb 5 | F:\_VS.NET\Vazor\Vazor\bin\Debug\netcoreapp2.1\Vazor.deps.json 6 | F:\_VS.NET\Vazor\Vazor\bin\Debug\netcoreapp2.1\Vazor.dll 7 | -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp2.2/Vazor.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 32aeb19d68b536ef7d6e973c6a59474588272f5a 2 | -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp2.2/Vazor.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Debug/netcoreapp2.2/Vazor.assets.cache -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp2.2/Vazor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Debug/netcoreapp2.2/Vazor.dll -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp2.2/Vazor.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Debug/netcoreapp2.2/Vazor.pdb -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp2.2/Vazor.vbproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 6e9452bbebba37c156fc0cd5bfd11f0558c15248 2 | -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp2.2/Vazor.vbproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\_VS.NET\Vazor\Vazor\obj\Debug\netcoreapp2.2\Vazor.vbproj.CoreCompileInputs.cache 2 | F:\_VS.NET\Vazor\Vazor\obj\Debug\netcoreapp2.2\Vazor.AssemblyInfoInputs.cache 3 | F:\_VS.NET\Vazor\Vazor\obj\Debug\netcoreapp2.2\Vazor.AssemblyInfo.vb 4 | F:\_VS.NET\Vazor\Vazor\bin\Debug\netcoreapp2.2\Vazor.deps.json 5 | F:\_VS.NET\Vazor\Vazor\bin\Debug\netcoreapp2.2\Vazor.dll 6 | F:\_VS.NET\Vazor\Vazor\bin\Debug\netcoreapp2.2\Vazor.pdb 7 | F:\_VS.NET\Vazor\Vazor\obj\Debug\netcoreapp2.2\Vazor.dll 8 | F:\_VS.NET\Vazor\Vazor\obj\Debug\netcoreapp2.2\Vazor.pdb 9 | -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp3.0/Vazor.AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict Off 12 | Option Explicit On 13 | 14 | Imports System 15 | Imports System.Reflection 16 | 23 | 24 | 'Generated by the MSBuild WriteCodeFragment class. 25 | -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp3.0/Vazor.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 964b4804f9990548c8f6321f0b9cb18987be985f 2 | -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp3.0/Vazor.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Debug/netcoreapp3.0/Vazor.assets.cache -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp3.0/Vazor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Debug/netcoreapp3.0/Vazor.dll -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp3.0/Vazor.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Debug/netcoreapp3.0/Vazor.pdb -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp3.0/Vazor.vbproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 376d88611dccf09fb5fea6e9b586faf79d4d5c01 2 | -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp3.0/Vazor.vbproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\Vazor\Vazor\bin\Debug\netcoreapp3.0\Vazor.deps.json 2 | F:\Vazor\Vazor\bin\Debug\netcoreapp3.0\Vazor.dll 3 | F:\Vazor\Vazor\bin\Debug\netcoreapp3.0\Vazor.pdb 4 | F:\Vazor\Vazor\obj\Debug\netcoreapp3.0\Vazor.vbproj.CoreCompileInputs.cache 5 | F:\Vazor\Vazor\obj\Debug\netcoreapp3.0\Vazor.AssemblyInfoInputs.cache 6 | F:\Vazor\Vazor\obj\Debug\netcoreapp3.0\Vazor.AssemblyInfo.vb 7 | F:\Vazor\Vazor\obj\Debug\netcoreapp3.0\Vazor.dll 8 | F:\Vazor\Vazor\obj\Debug\netcoreapp3.0\Vazor.pdb 9 | F:\Vazor\Vazor\obj\Debug\netcoreapp3.0\Vazor.vbprojAssemblyReference.cache 10 | -------------------------------------------------------------------------------- /Vazor/obj/Debug/netcoreapp3.0/Vazor.vbprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Debug/netcoreapp3.0/Vazor.vbprojAssemblyReference.cache -------------------------------------------------------------------------------- /Vazor/obj/Release/netcoreapp2.2/Vazor.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | afaaa7e839ea6ba01fbb2f75fe48fcd6064b540b 2 | -------------------------------------------------------------------------------- /Vazor/obj/Release/netcoreapp2.2/Vazor.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Release/netcoreapp2.2/Vazor.assets.cache -------------------------------------------------------------------------------- /Vazor/obj/Release/netcoreapp2.2/Vazor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Release/netcoreapp2.2/Vazor.dll -------------------------------------------------------------------------------- /Vazor/obj/Release/netcoreapp2.2/Vazor.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Release/netcoreapp2.2/Vazor.pdb -------------------------------------------------------------------------------- /Vazor/obj/Release/netcoreapp2.2/Vazor.vbproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 6e9452bbebba37c156fc0cd5bfd11f0558c15248 2 | -------------------------------------------------------------------------------- /Vazor/obj/Release/netcoreapp2.2/Vazor.vbproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\_VS.NET\Vazor\Vazor\bin\Release\netcoreapp2.2\Vazor.deps.json 2 | F:\_VS.NET\Vazor\Vazor\bin\Release\netcoreapp2.2\Vazor.dll 3 | F:\_VS.NET\Vazor\Vazor\bin\Release\netcoreapp2.2\Vazor.pdb 4 | F:\_VS.NET\Vazor\Vazor\obj\Release\netcoreapp2.2\Vazor.vbproj.CoreCompileInputs.cache 5 | F:\_VS.NET\Vazor\Vazor\obj\Release\netcoreapp2.2\Vazor.AssemblyInfoInputs.cache 6 | F:\_VS.NET\Vazor\Vazor\obj\Release\netcoreapp2.2\Vazor.AssemblyInfo.vb 7 | F:\_VS.NET\Vazor\Vazor\obj\Release\netcoreapp2.2\Vazor.dll 8 | F:\_VS.NET\Vazor\Vazor\obj\Release\netcoreapp2.2\Vazor.pdb 9 | F:\_VS.NET\Vazor\Vazor\obj\Release\netcoreapp2.2\Vazor.vbprojAssemblyReference.cache 10 | -------------------------------------------------------------------------------- /Vazor/obj/Release/netcoreapp2.2/Vazor.vbprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/Vazor/obj/Release/netcoreapp2.2/Vazor.vbprojAssemblyReference.cache -------------------------------------------------------------------------------- /Vazor/obj/Vazor.vbproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "Ojp0VLoeiCZwj+ktRdnzjFPl8oJOYOEbGFWmOUynAanaINwfFfhtV36He3k4UwPSGFnlGbJhlxHN2aYRz1+Xug==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /Vazor/obj/Vazor.vbproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /VazorPages1/Data/SomeStudents.vb: -------------------------------------------------------------------------------- 1 | Module SomeStudents 2 | Public Students As New List(Of Student) From { 3 | New Student With {.Id = 1, .Name = "Adam", .Age = 20, .Grade = 69}, 4 | New Student With {.Id = 2, .Name = "Mark", .Age = 21, .Grade = 80}, 5 | New Student With {.Id = 3, .Name = "Tom", .Age = 18, .Grade = 51} 6 | } 7 | End Module 8 | -------------------------------------------------------------------------------- /VazorPages1/Data/Student.vb: -------------------------------------------------------------------------------- 1 | Public Class Student 2 | Public Id As Integer 3 | Public Name As String 4 | Public Age As Integer 5 | Public Grade As Integer 6 | End Class 7 | -------------------------------------------------------------------------------- /VazorPages1/My Project/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:52587", 7 | "sslPort": 44335 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "VazorPages1": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "applicationUrl": "https://localhost:5001;http://localhost:5000", 22 | "environmentVariables": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /VazorPages1/Pages/Error.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model ErrorModel 3 | @{ 4 | ViewData["Title"] = "Error"; 5 | } 6 | 7 |

Error.

8 |

An error occurred while processing your request.

9 | 10 | @if (Model.ShowRequestId) 11 | { 12 |

13 | Request ID: @Model.RequestId 14 |

15 | } 16 | 17 |

Development Mode

18 |

19 | Swapping to the Development environment displays detailed information about the error that occurred. 20 |

21 |

22 | The Development environment shouldn't be enabled for deployed applications. 23 | It can result in displaying sensitive information from exceptions to end users. 24 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 25 | and restarting the app. 26 |

27 | -------------------------------------------------------------------------------- /VazorPages1/Pages/Error.cshtml.vb: -------------------------------------------------------------------------------- 1 | imports System 2 | imports System.Collections.Generic 3 | imports System.Diagnostics 4 | imports System.Linq 5 | imports System.Threading.Tasks 6 | imports Microsoft.AspNetCore.Mvc 7 | imports Microsoft.AspNetCore.Mvc.RazorPages 8 | 9 | 10 | 11 | Public Class ErrorModel : Inherits PageModel 12 | 13 | Public Property RequestId As String 14 | 15 | Public Property ShowRequestId As Boolean = Not String.IsNullOrEmpty(RequestId) 16 | 17 | Public Sub OnGet() 18 | RequestId = If(Activity.Current?.Id, HttpContext.TraceIdentifier) 19 | End Sub 20 | End Class 21 | -------------------------------------------------------------------------------- /VazorPages1/Pages/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model IndexModel 3 | 4 |
5 | @Html.Partial(Model.ViewName + ".cshtml") 6 |
-------------------------------------------------------------------------------- /VazorPages1/Pages/Index.cshtml.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore.Mvc.RazorPages 2 | Imports Vazor 3 | 4 | Public Class IndexModel : Inherits PageModel 5 | 6 | ' This property is used in the Index.cshtml, 7 | ' to inject our vbxml code in the page as a pratial view 8 | 9 | Const Title = "Index" 10 | 11 | Public ReadOnly Property ViewName As String 12 | Get 13 | ViewData("Title") = Title 14 | Dim html = GetVbXml(Students, ViewData).Parsezml() 15 | Return VazorPage.CreateNew("Index", "Pages", Title, html) 16 | End Get 17 | End Property 18 | 19 | Public ReadOnly Property Students As List(Of Student) 20 | Get 21 | Return SomeStudents.Students 22 | End Get 23 | End Property 24 | 25 | Public Sub OnGet() 26 | 27 | End Sub 28 | 29 | End Class 30 | -------------------------------------------------------------------------------- /VazorPages1/Pages/Privacy.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model PrivacyModel 3 | @{ 4 | ViewData["Title"] = "Privacy Policy"; 5 | } 6 |

@ViewData["Title"]

7 | 8 |

Use this page to detail your site's privacy policy.

9 | -------------------------------------------------------------------------------- /VazorPages1/Pages/Privacy.cshtml.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Collections.Generic 3 | Imports System.Linq 4 | Imports System.Threading.Tasks 5 | Imports Microsoft.AspNetCore.Mvc 6 | Imports Microsoft.AspNetCore.Mvc.RazorPages 7 | 8 | Public Class PrivacyModel : Inherits PageModel 9 | Public Sub OnGet() 10 | 11 | End Sub 12 | End Class 13 | -------------------------------------------------------------------------------- /VazorPages1/Pages/Shared/_CookieConsentPartial.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Http.Features 2 | 3 | @{ 4 | var consentFeature = Context.Features.Get(); 5 | var showBanner = !consentFeature?.CanTrack ?? false; 6 | var cookieString = consentFeature?.CreateConsentCookie(); 7 | } 8 | 9 | @if (showBanner) 10 | { 11 | 17 | 25 | } 26 | -------------------------------------------------------------------------------- /VazorPages1/Pages/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /VazorPages1/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using VazorPages1 2 | @namespace VazorPages1.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /VazorPages1/Pages/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /VazorPages1/Program.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore 2 | Imports Microsoft.AspNetCore.Hosting 3 | Imports Microsoft.Extensions.Hosting 4 | 5 | Module Program 6 | Sub Main(args As String()) 7 | CreateHostBuilder(args).Build().Run() 8 | End Sub 9 | 10 | Public Function CreateHostBuilder(args() As String) As IWebHostBuilder 11 | Return WebHost.CreateDefaultBuilder(args).UseStartup(Of Startup)() 12 | End Function 13 | End Module 14 | -------------------------------------------------------------------------------- /VazorPages1/VazorPages1.vbproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp2.2 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /VazorPages1/VazorPages1.vbproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | IIS Express 5 | 6 | -------------------------------------------------------------------------------- /VazorPages1/VazorPages1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/VazorPages1/VazorPages1.zip -------------------------------------------------------------------------------- /VazorPages1/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /VazorPages1/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Warning", 5 | "Microsoft.Hosting.Lifetime": "Information" 6 | } 7 | }, 8 | "AllowedHosts": "*" 9 | } 10 | -------------------------------------------------------------------------------- /VazorPages1/bin/Debug/netcoreapp2.2/VazorPages1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/VazorPages1/bin/Debug/netcoreapp2.2/VazorPages1.dll -------------------------------------------------------------------------------- /VazorPages1/bin/Debug/netcoreapp2.2/VazorPages1.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/VazorPages1/bin/Debug/netcoreapp2.2/VazorPages1.pdb -------------------------------------------------------------------------------- /VazorPages1/bin/Debug/netcoreapp2.2/VazorPages1.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "C:\\Users\\MHG\\.dotnet\\store\\|arch|\\|tfm|", 5 | "C:\\Users\\MHG\\.nuget\\packages", 6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /VazorPages1/bin/Debug/netcoreapp2.2/VazorPages1.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.2", 4 | "framework": { 5 | "name": "Microsoft.AspNetCore.App", 6 | "version": "2.2.0" 7 | }, 8 | "configProperties": { 9 | "System.GC.Server": true 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.1/VazorPages1.AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict Off 12 | Option Explicit On 13 | 14 | Imports System 15 | Imports System.Reflection 16 | 23 | 24 | 'Generated by the MSBuild WriteCodeFragment class. 25 | -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.1/VazorPages1.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 500804f989f4a17be1a9d33378eef23376cde029 2 | -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.1/VazorPages1.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/VazorPages1/obj/Debug/netcoreapp2.1/VazorPages1.assets.cache -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.1/VazorPages1.vbproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 68357ed247b1e73776822beba378e967bbc11276 2 | -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.1/VazorPages1.vbproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\_VS.NET\Vazor\VazorPages1\obj\Debug\netcoreapp2.1\VazorPages1.vbprojAssemblyReference.cache 2 | F:\_VS.NET\Vazor\VazorPages1\obj\Debug\netcoreapp2.1\VazorPages1.vbproj.CoreCompileInputs.cache 3 | F:\_VS.NET\Vazor\VazorPages1\obj\Debug\netcoreapp2.1\VazorPages1.AssemblyInfoInputs.cache 4 | F:\_VS.NET\Vazor\VazorPages1\obj\Debug\netcoreapp2.1\VazorPages1.AssemblyInfo.vb 5 | -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.1/VazorPages1.vbprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/VazorPages1/obj/Debug/netcoreapp2.1/VazorPages1.vbprojAssemblyReference.cache -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict Off 12 | Option Explicit On 13 | 14 | Imports System 15 | Imports System.Reflection 16 | 23 | 24 | 'Generated by the MSBuild WriteCodeFragment class. 25 | -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 500804f989f4a17be1a9d33378eef23376cde029 2 | -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.assets.cache -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.dll -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.pdb -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.vbproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | df13cb3d1b9bbc14371a1f12081904ee25315381 2 | -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.vbproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\_VS.NET\Vazor\VazorPages1\obj\Debug\netcoreapp2.2\VazorPages1.vbprojAssemblyReference.cache 2 | F:\_VS.NET\Vazor\VazorPages1\obj\Debug\netcoreapp2.2\VazorPages1.vbproj.CoreCompileInputs.cache 3 | F:\_VS.NET\Vazor\VazorPages1\obj\Debug\netcoreapp2.2\VazorPages1.AssemblyInfoInputs.cache 4 | F:\_VS.NET\Vazor\VazorPages1\obj\Debug\netcoreapp2.2\VazorPages1.AssemblyInfo.vb 5 | F:\_VS.NET\Vazor\VazorPages1\bin\Debug\netcoreapp2.2\VazorPages1.deps.json 6 | F:\_VS.NET\Vazor\VazorPages1\bin\Debug\netcoreapp2.2\VazorPages1.runtimeconfig.json 7 | F:\_VS.NET\Vazor\VazorPages1\bin\Debug\netcoreapp2.2\VazorPages1.runtimeconfig.dev.json 8 | F:\_VS.NET\Vazor\VazorPages1\bin\Debug\netcoreapp2.2\VazorPages1.dll 9 | F:\_VS.NET\Vazor\VazorPages1\bin\Debug\netcoreapp2.2\VazorPages1.pdb 10 | F:\_VS.NET\Vazor\VazorPages1\obj\Debug\netcoreapp2.2\VazorPages1.dll 11 | F:\_VS.NET\Vazor\VazorPages1\obj\Debug\netcoreapp2.2\VazorPages1.pdb 12 | -------------------------------------------------------------------------------- /VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.vbprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/VazorPages1/obj/Debug/netcoreapp2.2/VazorPages1.vbprojAssemblyReference.cache -------------------------------------------------------------------------------- /VazorPages1/obj/VazorPages1.vbproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "YHP/sFDpMnUvCWCpt95VzEnnyipznKnXvNdphuxGCycFZ4J2plq3yyQULoPvr5SjNsBFavRwhoBwnkDCrfkq9g==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /VazorPages1/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | /* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | for details on configuring this project to bundle and minify static web assets. */ 3 | 4 | a.navbar-brand { 5 | white-space: normal; 6 | text-align: center; 7 | word-break: break-all; 8 | } 9 | 10 | /* Sticky footer styles 11 | -------------------------------------------------- */ 12 | html { 13 | font-size: 14px; 14 | } 15 | @media (min-width: 768px) { 16 | html { 17 | font-size: 16px; 18 | } 19 | } 20 | 21 | .border-top { 22 | border-top: 1px solid #e5e5e5; 23 | } 24 | .border-bottom { 25 | border-bottom: 1px solid #e5e5e5; 26 | } 27 | 28 | .box-shadow { 29 | box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); 30 | } 31 | 32 | button.accept-policy { 33 | font-size: 1rem; 34 | line-height: inherit; 35 | } 36 | 37 | /* Sticky footer styles 38 | -------------------------------------------------- */ 39 | html { 40 | position: relative; 41 | min-height: 100%; 42 | } 43 | 44 | body { 45 | /* Margin bottom by footer height */ 46 | margin-bottom: 60px; 47 | } 48 | .footer { 49 | position: absolute; 50 | bottom: 0; 51 | width: 100%; 52 | white-space: nowrap; 53 | /* Set the fixed height of the footer here */ 54 | height: 60px; 55 | line-height: 60px; /* Vertically center the text there */ 56 | } 57 | -------------------------------------------------------------------------------- /VazorPages1/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/VazorPages1/wwwroot/favicon.ico -------------------------------------------------------------------------------- /VazorPages1/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | // for details on configuring this project to bundle and minify static web assets. 3 | 4 | // Write your Javascript code. 5 | -------------------------------------------------------------------------------- /VazorPages1/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2018 Twitter, Inc. 4 | Copyright (c) 2011-2018 The Bootstrap Authors 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /VazorPages1/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) .NET Foundation. All rights reserved. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use 4 | these files except in compliance with the License. You may obtain a copy of the 5 | License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software distributed 10 | under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 11 | CONDITIONS OF ANY KIND, either express or implied. See the License for the 12 | specific language governing permissions and limitations under the License. 13 | -------------------------------------------------------------------------------- /VazorPages1/wwwroot/lib/jquery-validation/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright Jörn Zaefferer 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /WebApp1/Controllers/HomeController.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Collections.Generic 3 | Imports System.Diagnostics 4 | Imports System.Linq 5 | Imports System.Threading.Tasks 6 | Imports WebApp1.Models 7 | Imports Microsoft.AspNetCore.Mvc 8 | 9 | Namespace Controllers 10 | Public Class HomeController : Inherits Controller 11 | 12 | Public Function Index() As IActionResult 13 | Return View(IndexView.CreateNew(Students, ViewData), Students) 14 | End Function 15 | 16 | Public Function Privacy() As IActionResult 17 | Return View() 18 | End Function 19 | 20 | 21 | Public Function [Error]() As IActionResult 22 | Return View(New ErrorViewModel With {.RequestId = If(Activity.Current?.Id, HttpContext.TraceIdentifier)}) 23 | End Function 24 | End Class 25 | 26 | End Namespace -------------------------------------------------------------------------------- /WebApp1/Data/SomeStudents.vb: -------------------------------------------------------------------------------- 1 | Module SomeStudents 2 | Public Students As New List(Of Student) From { 3 | New Student With {.Id = 1, .Name = "Adam", .Age = 20, .Grade = 69}, 4 | New Student With {.Id = 2, .Name = "Mark", .Age = 21, .Grade = 80}, 5 | New Student With {.Id = 3, .Name = "Tom", .Age = 18, .Grade = 51} 6 | } 7 | End Module 8 | -------------------------------------------------------------------------------- /WebApp1/Models/ErrorViewModel.vb: -------------------------------------------------------------------------------- 1 | Namespace Models 2 | Public Class ErrorViewModel 3 | Public Property RequestId As String 4 | 5 | Public ReadOnly Property ShowRequestId() As Boolean 6 | Get 7 | Return Not String.IsNullOrEmpty(RequestId) 8 | End Get 9 | End Property 10 | End Class 11 | End Namespace -------------------------------------------------------------------------------- /WebApp1/Models/Student.vb: -------------------------------------------------------------------------------- 1 | Public Class Student 2 | Public Id As Integer 3 | Public Name As String 4 | Public Age As Integer 5 | Public Grade As Integer 6 | End Class 7 | -------------------------------------------------------------------------------- /WebApp1/My Project/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:57080", 7 | "sslPort": 44385 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "WebApp1": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "applicationUrl": "https://localhost:5001;http://localhost:5000", 22 | "environmentVariables": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /WebApp1/Program.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Collections.Generic 3 | Imports System.IO 4 | Imports System.Linq 5 | Imports System.Threading.Tasks 6 | Imports Microsoft.AspNetCore 7 | Imports Microsoft.AspNetCore.Hosting 8 | Imports Microsoft.Extensions.Configuration 9 | Imports Microsoft.Extensions.Hosting 10 | Imports Microsoft.Extensions.Logging 11 | 12 | Module Program 13 | Sub Main(args As String()) 14 | CreateHostBuilder(args).Build().Run() 15 | End Sub 16 | 17 | Public Function CreateHostBuilder(args() As String) As IWebHostBuilder 18 | Return WebHost.CreateDefaultBuilder(args).UseStartup(Of Startup)() 19 | End Function 20 | End Module 21 | -------------------------------------------------------------------------------- /WebApp1/Views/Home/Index.vazor.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore.Mvc.ViewFeatures 2 | Imports Vazor 3 | 4 | ' To add anew vzor view, right-click the folder in solution explorer 5 | ' click Add/New item, and chosse the "VazorView" item from the window 6 | ' This will add both the vazor.vb and vbxml.vb files to the folder. 7 | 8 | Public Class IndexView 9 | Inherits VazorView 10 | 11 | Public ReadOnly Property Students As List(Of Student) 12 | 13 | Public ReadOnly Property ViewData() As ViewDataDictionary 14 | 15 | ' Supply your actual view name, path, and title to the MyBas.New 16 | ' By defualt, UTF encoding is used to render the view. 17 | ' You can send another encoding to the forth param of the MyBase.New. 18 | 19 | Public Sub New(students As List(Of Student), viewData As ViewDataDictionary) 20 | MyBase.New("Index", "Views\Home", "Hello") 21 | Me.Students = students 22 | Me.ViewData = viewData 23 | viewData("Title") = Title 24 | End Sub 25 | 26 | ' This function is called in the "Index" action method in the HomeController: 27 | ' View(IndexView.CreateNew(Students, ViewData)) 28 | 29 | Public Shared Function CreateNew(Students As List(Of Student), viewData As ViewDataDictionary) As String 30 | Return VazorViewMapper.Add(New IndexView(Students, viewData)) 31 | End Function 32 | 33 | End Class 34 | -------------------------------------------------------------------------------- /WebApp1/Views/Home/Privacy.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Privacy Policy"; 3 | } 4 |

@ViewData["Title"]

5 | 6 |

Use this page to detail your site's privacy policy.

7 | -------------------------------------------------------------------------------- /WebApp1/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @model ErrorViewModel 2 | @{ 3 | ViewData["Title"] = "Error"; 4 | } 5 | 6 |

Error.

7 |

An error occurred while processing your request.

8 | 9 | @if (Model.ShowRequestId) 10 | { 11 |

12 | Request ID: @Model.RequestId 13 |

14 | } 15 | 16 |

Development Mode

17 |

18 | Swapping to Development environment will display more detailed information about the error that occurred. 19 |

20 |

21 | The Development environment shouldn't be enabled for deployed applications. 22 | It can result in displaying sensitive information from exceptions to end users. 23 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 24 | and restarting the app. 25 |

26 | -------------------------------------------------------------------------------- /WebApp1/Views/Shared/_CookieConsentPartial.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Http.Features 2 | 3 | @{ 4 | var consentFeature = Context.Features.Get(); 5 | var showBanner = !consentFeature?.CanTrack ?? false; 6 | var cookieString = consentFeature?.CreateConsentCookie(); 7 | } 8 | 9 | @if (showBanner) 10 | { 11 | 17 | 25 | } 26 | -------------------------------------------------------------------------------- /WebApp1/Views/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /WebApp1/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using WebApp1 2 | @using WebApp1.Models 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /WebApp1/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /WebApp1/WebApp1.vbproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp2.2 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /WebApp1/WebApp1.vbproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | false 5 | 600 6 | 7 | -------------------------------------------------------------------------------- /WebApp1/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /WebApp1/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Warning", 5 | "Microsoft.Hosting.Lifetime": "Information" 6 | } 7 | }, 8 | "AllowedHosts": "*" 9 | } 10 | -------------------------------------------------------------------------------- /WebApp1/bin/Debug/netcoreapp2.2/WebApp1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/WebApp1/bin/Debug/netcoreapp2.2/WebApp1.dll -------------------------------------------------------------------------------- /WebApp1/bin/Debug/netcoreapp2.2/WebApp1.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/WebApp1/bin/Debug/netcoreapp2.2/WebApp1.pdb -------------------------------------------------------------------------------- /WebApp1/bin/Debug/netcoreapp2.2/WebApp1.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "C:\\Users\\MHG\\.dotnet\\store\\|arch|\\|tfm|", 5 | "C:\\Users\\MHG\\.nuget\\packages", 6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /WebApp1/bin/Debug/netcoreapp2.2/WebApp1.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.2", 4 | "framework": { 5 | "name": "Microsoft.AspNetCore.App", 6 | "version": "2.2.0" 7 | }, 8 | "configProperties": { 9 | "System.GC.Server": true 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /WebApp1/obj/Debug/netcoreapp2.1/WebApp1.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/WebApp1/obj/Debug/netcoreapp2.1/WebApp1.assets.cache -------------------------------------------------------------------------------- /WebApp1/obj/Debug/netcoreapp2.1/WebApp1.vbproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/WebApp1/obj/Debug/netcoreapp2.1/WebApp1.vbproj.FileListAbsolute.txt -------------------------------------------------------------------------------- /WebApp1/obj/Debug/netcoreapp2.2/WebApp1.AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict Off 12 | Option Explicit On 13 | 14 | Imports System 15 | Imports System.Reflection 16 | 23 | 24 | 'Generated by the MSBuild WriteCodeFragment class. 25 | -------------------------------------------------------------------------------- /WebApp1/obj/Debug/netcoreapp2.2/WebApp1.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 64fdb7dbd7963f16809119bfbaa15a1afd66caf3 2 | -------------------------------------------------------------------------------- /WebApp1/obj/Debug/netcoreapp2.2/WebApp1.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/WebApp1/obj/Debug/netcoreapp2.2/WebApp1.assets.cache -------------------------------------------------------------------------------- /WebApp1/obj/Debug/netcoreapp2.2/WebApp1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/WebApp1/obj/Debug/netcoreapp2.2/WebApp1.dll -------------------------------------------------------------------------------- /WebApp1/obj/Debug/netcoreapp2.2/WebApp1.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/WebApp1/obj/Debug/netcoreapp2.2/WebApp1.pdb -------------------------------------------------------------------------------- /WebApp1/obj/Debug/netcoreapp2.2/WebApp1.vbproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 522468c3dc464e9e360d6f883b2137ec6490f508 2 | -------------------------------------------------------------------------------- /WebApp1/obj/Debug/netcoreapp2.2/WebApp1.vbproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\_VS.NET\Vazor\WebApp1\obj\Debug\netcoreapp2.2\WebApp1.vbproj.CoreCompileInputs.cache 2 | F:\_VS.NET\Vazor\WebApp1\obj\Debug\netcoreapp2.2\WebApp1.AssemblyInfoInputs.cache 3 | F:\_VS.NET\Vazor\WebApp1\obj\Debug\netcoreapp2.2\WebApp1.AssemblyInfo.vb 4 | F:\_VS.NET\Vazor\WebApp1\bin\Debug\netcoreapp2.2\WebApp1.deps.json 5 | F:\_VS.NET\Vazor\WebApp1\bin\Debug\netcoreapp2.2\WebApp1.runtimeconfig.json 6 | F:\_VS.NET\Vazor\WebApp1\bin\Debug\netcoreapp2.2\WebApp1.runtimeconfig.dev.json 7 | F:\_VS.NET\Vazor\WebApp1\bin\Debug\netcoreapp2.2\WebApp1.dll 8 | F:\_VS.NET\Vazor\WebApp1\bin\Debug\netcoreapp2.2\WebApp1.pdb 9 | F:\_VS.NET\Vazor\WebApp1\obj\Debug\netcoreapp2.2\WebApp1.dll 10 | F:\_VS.NET\Vazor\WebApp1\obj\Debug\netcoreapp2.2\WebApp1.pdb 11 | F:\_VS.NET\Vazor\WebApp1\obj\Debug\netcoreapp2.2\WebApp1.vbprojAssemblyReference.cache 12 | -------------------------------------------------------------------------------- /WebApp1/obj/Debug/netcoreapp2.2/WebApp1.vbprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/WebApp1/obj/Debug/netcoreapp2.2/WebApp1.vbprojAssemblyReference.cache -------------------------------------------------------------------------------- /WebApp1/obj/WebApp1.vbproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "37HLN3kJtH6sTiOJQ+S9f0rd0t65+w53KuU19yElXGChTJyGWf1IGUzlpWFc4l32us/UmoJjoJONuY95bNjPEQ==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /WebApp1/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | /* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | for details on configuring this project to bundle and minify static web assets. */ 3 | 4 | a.navbar-brand { 5 | white-space: normal; 6 | text-align: center; 7 | word-break: break-all; 8 | } 9 | 10 | /* Sticky footer styles 11 | -------------------------------------------------- */ 12 | html { 13 | font-size: 14px; 14 | } 15 | @media (min-width: 768px) { 16 | html { 17 | font-size: 16px; 18 | } 19 | } 20 | 21 | .border-top { 22 | border-top: 1px solid #e5e5e5; 23 | } 24 | .border-bottom { 25 | border-bottom: 1px solid #e5e5e5; 26 | } 27 | 28 | .box-shadow { 29 | box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); 30 | } 31 | 32 | button.accept-policy { 33 | font-size: 1rem; 34 | line-height: inherit; 35 | } 36 | 37 | /* Sticky footer styles 38 | -------------------------------------------------- */ 39 | html { 40 | position: relative; 41 | min-height: 100%; 42 | } 43 | 44 | body { 45 | /* Margin bottom by footer height */ 46 | margin-bottom: 60px; 47 | } 48 | .footer { 49 | position: absolute; 50 | bottom: 0; 51 | width: 100%; 52 | white-space: nowrap; 53 | /* Set the fixed height of the footer here */ 54 | height: 60px; 55 | line-height: 60px; /* Vertically center the text there */ 56 | } 57 | -------------------------------------------------------------------------------- /WebApp1/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/WebApp1/wwwroot/favicon.ico -------------------------------------------------------------------------------- /WebApp1/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | // for details on configuring this project to bundle and minify static web assets. 3 | 4 | // Write your JavaScript code. 5 | -------------------------------------------------------------------------------- /WebApp1/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2018 Twitter, Inc. 4 | Copyright (c) 2011-2018 The Bootstrap Authors 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /WebApp1/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) .NET Foundation. All rights reserved. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use 4 | these files except in compliance with the License. You may obtain a copy of the 5 | License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software distributed 10 | under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 11 | CONDITIONS OF ANY KIND, either express or implied. See the License for the 12 | specific language governing permissions and limitations under the License. 13 | -------------------------------------------------------------------------------- /WebApp1/wwwroot/lib/jquery-validation/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright Jörn Zaefferer 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/.vs/eShopOnWeb.vazor/DesignTimeBuild/.dtbcache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/.vs/eShopOnWeb.vazor/DesignTimeBuild/.dtbcache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/.vs/eShopOnWeb.vazor/DesignTimeBuild/.dtbcache.v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/.vs/eShopOnWeb.vazor/DesignTimeBuild/.dtbcache.v2 -------------------------------------------------------------------------------- /eShopOnWeb.vazor/.vs/eShopOnWeb.vazor/v16/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/.vs/eShopOnWeb.vazor/v16/.suo -------------------------------------------------------------------------------- /eShopOnWeb.vazor/.vs/eShopOnWeb.vazor/v16/Server/sqlite3/db.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/.vs/eShopOnWeb.vazor/v16/Server/sqlite3/db.lock -------------------------------------------------------------------------------- /eShopOnWeb.vazor/.vs/eShopOnWeb.vazor/v16/Server/sqlite3/storage.ide: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/.vs/eShopOnWeb.vazor/v16/Server/sqlite3/storage.ide -------------------------------------------------------------------------------- /eShopOnWeb.vazor/.vs/eShopOnWeb.zml/DesignTimeBuild/.dtbcache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/.vs/eShopOnWeb.zml/DesignTimeBuild/.dtbcache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/.vs/eShopOnWeb.zml/v16/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/.vs/eShopOnWeb.zml/v16/.suo -------------------------------------------------------------------------------- /eShopOnWeb.vazor/.vs/eShopOnWeb.zml/v16/Server/sqlite3/db.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/.vs/eShopOnWeb.zml/v16/Server/sqlite3/db.lock -------------------------------------------------------------------------------- /eShopOnWeb.vazor/.vs/eShopOnWeb.zml/v16/Server/sqlite3/storage.ide: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/.vs/eShopOnWeb.zml/v16/Server/sqlite3/storage.ide -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/ApplicationCore.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netstandard2.0 5 | Microsoft.eShopWeb.ApplicationCore 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/CatalogSettings.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.eShopWeb 2 | { 3 | public class CatalogSettings 4 | { 5 | public string CatalogBaseUrl { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Entities/BaseEntity.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.eShopWeb.ApplicationCore.Entities 2 | { 3 | // This can easily be modified to be BaseEntity and public T Id to support different key types. 4 | // Using non-generic integer types for simplicity and to ease caching logic 5 | public class BaseEntity 6 | { 7 | public int Id { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Entities/BasketAggregate/Basket.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Interfaces; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace Microsoft.eShopWeb.ApplicationCore.Entities.BasketAggregate 6 | { 7 | public class Basket : BaseEntity, IAggregateRoot 8 | { 9 | public string BuyerId { get; set; } 10 | private readonly List _items = new List(); 11 | public IReadOnlyCollection Items => _items.AsReadOnly(); 12 | 13 | public void AddItem(int catalogItemId, decimal unitPrice, int quantity = 1) 14 | { 15 | if (!Items.Any(i => i.CatalogItemId == catalogItemId)) 16 | { 17 | _items.Add(new BasketItem() 18 | { 19 | CatalogItemId = catalogItemId, 20 | Quantity = quantity, 21 | UnitPrice = unitPrice 22 | }); 23 | return; 24 | } 25 | var existingItem = Items.FirstOrDefault(i => i.CatalogItemId == catalogItemId); 26 | existingItem.Quantity += quantity; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Entities/BasketAggregate/BasketItem.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.eShopWeb.ApplicationCore.Entities.BasketAggregate 2 | { 3 | public class BasketItem : BaseEntity 4 | { 5 | public decimal UnitPrice { get; set; } 6 | public int Quantity { get; set; } 7 | public int CatalogItemId { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Entities/BuyerAggregate/Buyer.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Interfaces; 2 | using Ardalis.GuardClauses; 3 | using System.Collections.Generic; 4 | 5 | namespace Microsoft.eShopWeb.ApplicationCore.Entities.BuyerAggregate 6 | { 7 | public class Buyer : BaseEntity, IAggregateRoot 8 | { 9 | public string IdentityGuid { get; private set; } 10 | 11 | private List _paymentMethods = new List(); 12 | 13 | public IEnumerable PaymentMethods => _paymentMethods.AsReadOnly(); 14 | 15 | private Buyer() 16 | { 17 | // required by EF 18 | } 19 | 20 | public Buyer(string identity) : this() 21 | { 22 | Guard.Against.NullOrEmpty(identity, nameof(identity)); 23 | IdentityGuid = identity; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Entities/BuyerAggregate/PaymentMethod.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.eShopWeb.ApplicationCore.Entities.BuyerAggregate 2 | { 3 | public class PaymentMethod : BaseEntity 4 | { 5 | public string Alias { get; set; } 6 | public string CardId { get; set; } // actual card data must be stored in a PCI compliant system, like Stripe 7 | public string Last4 { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Entities/CatalogBrand.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.eShopWeb.ApplicationCore.Entities 2 | { 3 | public class CatalogBrand : BaseEntity 4 | { 5 | public string Brand { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Entities/CatalogItem.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.eShopWeb.ApplicationCore.Entities 2 | { 3 | public class CatalogItem : BaseEntity 4 | { 5 | public string Name { get; set; } 6 | public string Description { get; set; } 7 | public decimal Price { get; set; } 8 | public string PictureUri { get; set; } 9 | public int CatalogTypeId { get; set; } 10 | public CatalogType CatalogType { get; set; } 11 | public int CatalogBrandId { get; set; } 12 | public CatalogBrand CatalogBrand { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Entities/CatalogType.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.eShopWeb.ApplicationCore.Entities 2 | { 3 | public class CatalogType : BaseEntity 4 | { 5 | public string Type { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Entities/OrderAggregate/Address.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.eShopWeb.ApplicationCore.Entities.OrderAggregate 4 | { 5 | public class Address // ValueObject 6 | { 7 | public String Street { get; private set; } 8 | 9 | public String City { get; private set; } 10 | 11 | public String State { get; private set; } 12 | 13 | public String Country { get; private set; } 14 | 15 | public String ZipCode { get; private set; } 16 | 17 | private Address() { } 18 | 19 | public Address(string street, string city, string state, string country, string zipcode) 20 | { 21 | Street = street; 22 | City = city; 23 | State = state; 24 | Country = country; 25 | ZipCode = zipcode; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Entities/OrderAggregate/CatalogItemOrdered.cs: -------------------------------------------------------------------------------- 1 | using Ardalis.GuardClauses; 2 | 3 | namespace Microsoft.eShopWeb.ApplicationCore.Entities.OrderAggregate 4 | { 5 | /// 6 | /// Represents a snapshot of the item that was ordered. If catalog item details change, details of 7 | /// the item that was part of a completed order should not change. 8 | /// 9 | public class CatalogItemOrdered // ValueObject 10 | { 11 | public CatalogItemOrdered(int catalogItemId, string productName, string pictureUri) 12 | { 13 | Guard.Against.OutOfRange(catalogItemId, nameof(catalogItemId), 1, int.MaxValue); 14 | Guard.Against.NullOrEmpty(productName, nameof(productName)); 15 | Guard.Against.NullOrEmpty(pictureUri, nameof(pictureUri)); 16 | 17 | CatalogItemId = catalogItemId; 18 | ProductName = productName; 19 | PictureUri = pictureUri; 20 | } 21 | 22 | private CatalogItemOrdered() 23 | { 24 | // required by EF 25 | } 26 | 27 | public int CatalogItemId { get; private set; } 28 | public string ProductName { get; private set; } 29 | public string PictureUri { get; private set; } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Entities/OrderAggregate/OrderItem.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.eShopWeb.ApplicationCore.Entities.OrderAggregate 2 | { 3 | 4 | public class OrderItem : BaseEntity 5 | { 6 | public CatalogItemOrdered ItemOrdered { get; private set; } 7 | public decimal UnitPrice { get; private set; } 8 | public int Units { get; private set; } 9 | 10 | private OrderItem() 11 | { 12 | // required by EF 13 | } 14 | 15 | public OrderItem(CatalogItemOrdered itemOrdered, decimal unitPrice, int units) 16 | { 17 | ItemOrdered = itemOrdered; 18 | UnitPrice = unitPrice; 19 | Units = units; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Exceptions/BasketNotFoundException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.eShopWeb.ApplicationCore.Exceptions 4 | { 5 | public class BasketNotFoundException : Exception 6 | { 7 | public BasketNotFoundException(int basketId) : base($"No basket found with id {basketId}") 8 | { 9 | } 10 | 11 | protected BasketNotFoundException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) 12 | { 13 | } 14 | 15 | public BasketNotFoundException(string message) : base(message) 16 | { 17 | } 18 | 19 | public BasketNotFoundException(string message, Exception innerException) : base(message, innerException) 20 | { 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Exceptions/GuardExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Exceptions; 2 | using Microsoft.eShopWeb.ApplicationCore.Entities.BasketAggregate; 3 | 4 | namespace Ardalis.GuardClauses 5 | { 6 | public static class BasketGuards 7 | { 8 | public static void NullBasket(this IGuardClause guardClause, int basketId, Basket basket) 9 | { 10 | if (basket == null) 11 | throw new BasketNotFoundException(basketId); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Interfaces/IAggregateRoot.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.eShopWeb.ApplicationCore.Interfaces 2 | { 3 | public interface IAggregateRoot 4 | { } 5 | } 6 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Interfaces/IAppLogger.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.eShopWeb.ApplicationCore.Interfaces 2 | { 3 | /// 4 | /// This type eliminates the need to depend directly on the ASP.NET Core logging types. 5 | /// 6 | /// 7 | public interface IAppLogger 8 | { 9 | void LogInformation(string message, params object[] args); 10 | void LogWarning(string message, params object[] args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Interfaces/IAsyncRepository.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Entities; 2 | using System.Collections.Generic; 3 | using System.Threading.Tasks; 4 | 5 | namespace Microsoft.eShopWeb.ApplicationCore.Interfaces 6 | { 7 | public interface IAsyncRepository where T : BaseEntity 8 | { 9 | Task GetByIdAsync(int id); 10 | Task> ListAllAsync(); 11 | Task> ListAsync(ISpecification spec); 12 | Task AddAsync(T entity); 13 | Task UpdateAsync(T entity); 14 | Task DeleteAsync(T entity); 15 | Task CountAsync(ISpecification spec); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Interfaces/IBasketService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | 4 | namespace Microsoft.eShopWeb.ApplicationCore.Interfaces 5 | { 6 | public interface IBasketService 7 | { 8 | Task GetBasketItemCountAsync(string userName); 9 | Task TransferBasketAsync(string anonymousId, string userName); 10 | Task AddItemToBasket(int basketId, int catalogItemId, decimal price, int quantity); 11 | Task SetQuantities(int basketId, Dictionary quantities); 12 | Task DeleteBasketAsync(int basketId); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Interfaces/IEmailSender.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Microsoft.eShopWeb.ApplicationCore.Interfaces 4 | { 5 | 6 | public interface IEmailSender 7 | { 8 | Task SendEmailAsync(string email, string subject, string message); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Interfaces/IIdentityParser.cs: -------------------------------------------------------------------------------- 1 | using System.Security.Principal; 2 | 3 | namespace Microsoft.eShopWeb.ApplicationCore.Interfaces 4 | { 5 | public interface IIdentityParser 6 | { 7 | T Parse(IPrincipal principal); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Interfaces/IOrderRepository.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Entities.OrderAggregate; 2 | using System.Threading.Tasks; 3 | 4 | namespace Microsoft.eShopWeb.ApplicationCore.Interfaces 5 | { 6 | 7 | public interface IOrderRepository : IAsyncRepository 8 | { 9 | Task GetByIdWithItemsAsync(int id); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Interfaces/IOrderService.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Entities.OrderAggregate; 2 | using System.Threading.Tasks; 3 | 4 | namespace Microsoft.eShopWeb.ApplicationCore.Interfaces 5 | { 6 | public interface IOrderService 7 | { 8 | Task CreateOrderAsync(int basketId, Address shippingAddress); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Interfaces/ISpecification.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq.Expressions; 4 | 5 | namespace Microsoft.eShopWeb.ApplicationCore.Interfaces 6 | { 7 | public interface ISpecification 8 | { 9 | Expression> Criteria { get; } 10 | List>> Includes { get; } 11 | List IncludeStrings { get; } 12 | Expression> OrderBy { get; } 13 | Expression> OrderByDescending { get; } 14 | 15 | int Take { get; } 16 | int Skip { get; } 17 | bool isPagingEnabled { get;} 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Interfaces/IUriComposer.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.eShopWeb.ApplicationCore.Interfaces 2 | { 3 | public interface IUriComposer 4 | { 5 | string ComposePicUri(string uriTemplate); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Services/UriComposer.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Interfaces; 2 | 3 | namespace Microsoft.eShopWeb.ApplicationCore.Services 4 | { 5 | public class UriComposer : IUriComposer 6 | { 7 | private readonly CatalogSettings _catalogSettings; 8 | 9 | public UriComposer(CatalogSettings catalogSettings) => _catalogSettings = catalogSettings; 10 | 11 | public string ComposePicUri(string uriTemplate) 12 | { 13 | return uriTemplate.Replace("http://catalogbaseurltobereplaced", _catalogSettings.CatalogBaseUrl); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Specifications/BasketWithItemsSpecification.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Entities.BasketAggregate; 2 | 3 | namespace Microsoft.eShopWeb.ApplicationCore.Specifications 4 | { 5 | public sealed class BasketWithItemsSpecification : BaseSpecification 6 | { 7 | public BasketWithItemsSpecification(int basketId) 8 | :base(b => b.Id == basketId) 9 | { 10 | AddInclude(b => b.Items); 11 | } 12 | public BasketWithItemsSpecification(string buyerId) 13 | :base(b => b.BuyerId == buyerId) 14 | { 15 | AddInclude(b => b.Items); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Specifications/CatalogFilterPaginatedSpecification.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Entities; 2 | 3 | namespace Microsoft.eShopWeb.ApplicationCore.Specifications 4 | { 5 | public class CatalogFilterPaginatedSpecification : BaseSpecification 6 | { 7 | public CatalogFilterPaginatedSpecification(int skip, int take, int? brandId, int? typeId) 8 | : base(i => (!brandId.HasValue || i.CatalogBrandId == brandId) && 9 | (!typeId.HasValue || i.CatalogTypeId == typeId)) 10 | { 11 | ApplyPaging(skip, take); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Specifications/CatalogFilterSpecification.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Entities; 2 | 3 | namespace Microsoft.eShopWeb.ApplicationCore.Specifications 4 | { 5 | 6 | public class CatalogFilterSpecification : BaseSpecification 7 | { 8 | public CatalogFilterSpecification(int? brandId, int? typeId) 9 | : base(i => (!brandId.HasValue || i.CatalogBrandId == brandId) && 10 | (!typeId.HasValue || i.CatalogTypeId == typeId)) 11 | { 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/Specifications/CustomerOrdersWithItemsSpecification.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Entities.OrderAggregate; 2 | 3 | namespace Microsoft.eShopWeb.ApplicationCore.Specifications 4 | { 5 | public class CustomerOrdersWithItemsSpecification : BaseSpecification 6 | { 7 | public CustomerOrdersWithItemsSpecification(string buyerId) 8 | : base(o => o.BuyerId == buyerId) 9 | { 10 | AddInclude(o => o.OrderItems); 11 | AddInclude($"{nameof(Order.OrderItems)}.{nameof(OrderItem.ItemOrdered)}"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/bin/Debug/netstandard2.0/ApplicationCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/ApplicationCore/bin/Debug/netstandard2.0/ApplicationCore.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/bin/Debug/netstandard2.0/ApplicationCore.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/ApplicationCore/bin/Debug/netstandard2.0/ApplicationCore.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/obj/ApplicationCore.csproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "YfriDAwmnK7oK7/MLyxl05KT6FIyJHu5APu7ivcfLqieJap9eDpojXFHKIi6D+yuyucg1PaB800Ozo3pDxOlFg==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/obj/ApplicationCore.csproj.nuget.g.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | True 5 | NuGet 6 | $(MSBuildThisFileDirectory)project.assets.json 7 | $(UserProfile)\.nuget\packages\ 8 | C:\Users\MHG\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder 9 | PackageReference 10 | 5.5.0 11 | 12 | 13 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 14 | 15 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/obj/ApplicationCore.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/obj/Debug/netstandard2.0/ApplicationCore.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("ApplicationCore")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("ApplicationCore")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("ApplicationCore")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // Generated by the MSBuild WriteCodeFragment class. 23 | 24 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/obj/Debug/netstandard2.0/ApplicationCore.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | b10de190c1f07a2f9820e1aa9fb5878168f19f3f 2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/obj/Debug/netstandard2.0/ApplicationCore.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/ApplicationCore/obj/Debug/netstandard2.0/ApplicationCore.assets.cache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/obj/Debug/netstandard2.0/ApplicationCore.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | c6ab2c58c688e029b836a3afc8e84e0a3909ec2e 2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/obj/Debug/netstandard2.0/ApplicationCore.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/ApplicationCore/obj/Debug/netstandard2.0/ApplicationCore.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/obj/Debug/netstandard2.0/ApplicationCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/ApplicationCore/obj/Debug/netstandard2.0/ApplicationCore.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/ApplicationCore/obj/Debug/netstandard2.0/ApplicationCore.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/ApplicationCore/obj/Debug/netstandard2.0/ApplicationCore.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/Data/OrderRepository.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Entities.OrderAggregate; 2 | using Microsoft.eShopWeb.ApplicationCore.Interfaces; 3 | using Microsoft.EntityFrameworkCore; 4 | using System.Threading.Tasks; 5 | 6 | namespace Microsoft.eShopWeb.Infrastructure.Data 7 | { 8 | public class OrderRepository : EfRepository, IOrderRepository 9 | { 10 | public OrderRepository(CatalogContext dbContext) : base(dbContext) 11 | { 12 | } 13 | 14 | public Task GetByIdWithItemsAsync(int id) 15 | { 16 | return _dbContext.Orders 17 | .Include(o => o.OrderItems) 18 | .Include($"{nameof(Order.OrderItems)}.{nameof(OrderItem.ItemOrdered)}") 19 | .FirstOrDefaultAsync(x => x.Id == id); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/Identity/AppIdentityDbContext.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity.EntityFrameworkCore; 2 | using Microsoft.EntityFrameworkCore; 3 | 4 | 5 | namespace Microsoft.eShopWeb.Infrastructure.Identity 6 | { 7 | public class AppIdentityDbContext : IdentityDbContext 8 | { 9 | public AppIdentityDbContext(DbContextOptions options) 10 | : base(options) 11 | { 12 | } 13 | 14 | protected override void OnModelCreating(ModelBuilder builder) 15 | { 16 | base.OnModelCreating(builder); 17 | // Customize the ASP.NET Identity model and override the defaults if needed. 18 | // For example, you can rename the ASP.NET Identity table names and more. 19 | // Add your customizations after calling base.OnModelCreating(builder); 20 | } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/Identity/AppIdentityDbContextSeed.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | using System.Threading.Tasks; 3 | 4 | namespace Microsoft.eShopWeb.Infrastructure.Identity 5 | { 6 | public class AppIdentityDbContextSeed 7 | { 8 | public static async Task SeedAsync(UserManager userManager) 9 | { 10 | var defaultUser = new ApplicationUser { UserName = "demouser@microsoft.com", Email = "demouser@microsoft.com" }; 11 | await userManager.CreateAsync(defaultUser, "Pass@word1"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/Identity/ApplicationUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | 3 | namespace Microsoft.eShopWeb.Infrastructure.Identity 4 | { 5 | public class ApplicationUser : IdentityUser 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/Infrastructure.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netstandard2.0 5 | Microsoft.eShopWeb.Infrastructure 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/Logging/LoggerAdapter.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Interfaces; 2 | using Microsoft.Extensions.Logging; 3 | 4 | namespace Microsoft.eShopWeb.Infrastructure.Logging 5 | { 6 | public class LoggerAdapter : IAppLogger 7 | { 8 | private readonly ILogger _logger; 9 | public LoggerAdapter(ILoggerFactory loggerFactory) 10 | { 11 | _logger = loggerFactory.CreateLogger(); 12 | } 13 | 14 | public void LogWarning(string message, params object[] args) 15 | { 16 | _logger.LogWarning(message, args); 17 | } 18 | 19 | public void LogInformation(string message, params object[] args) 20 | { 21 | _logger.LogInformation(message, args); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/Services/EmailSender.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.eShopWeb.ApplicationCore.Interfaces; 2 | using System.Threading.Tasks; 3 | 4 | namespace Microsoft.eShopWeb.Infrastructure.Services 5 | { 6 | // This class is used by the application to send email for account confirmation and password reset. 7 | // For more details see https://go.microsoft.com/fwlink/?LinkID=532713 8 | public class EmailSender : IEmailSender 9 | { 10 | public Task SendEmailAsync(string email, string subject, string message) 11 | { 12 | // TODO: Wire this up to actual email sending logic via SendGrid, local SMTP, etc. 13 | return Task.CompletedTask; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/bin/Debug/netstandard2.0/ApplicationCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Infrastructure/bin/Debug/netstandard2.0/ApplicationCore.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/bin/Debug/netstandard2.0/ApplicationCore.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Infrastructure/bin/Debug/netstandard2.0/ApplicationCore.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/bin/Debug/netstandard2.0/Infrastructure.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Infrastructure/bin/Debug/netstandard2.0/Infrastructure.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/bin/Debug/netstandard2.0/Infrastructure.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Infrastructure/bin/Debug/netstandard2.0/Infrastructure.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("Infrastructure")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("Infrastructure")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("Infrastructure")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // Generated by the MSBuild WriteCodeFragment class. 23 | 24 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 6c5ef6ba66678613c83f030c363be944a7631b94 2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.assets.cache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.csproj.CopyComplete -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 70203406b56ab2035ea4773ba6dee8af1197bd50 2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Infrastructure/obj/Debug/netstandard2.0/Infrastructure.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/obj/Infrastructure.csproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "XPdYnknVDzdDzHjIX5sZSQM/9YUD0KqWZjmMN+9ubuei1K1F7rrfHxJ32e8dWrEp57TW1ptqJ2AlJ45oDFojlw==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Infrastructure/obj/Infrastructure.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Areas/Identity/IdentityHostingStartup.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports Microsoft.AspNetCore.Hosting 3 | Imports Microsoft.AspNetCore.Identity 4 | Imports Microsoft.AspNetCore.Identity.UI 5 | Imports Microsoft.EntityFrameworkCore 6 | Imports Microsoft.eShopWeb.Infrastructure.Identity 7 | Imports Microsoft.Extensions.Configuration 8 | Imports Microsoft.Extensions.DependencyInjection 9 | 10 | 11 | Namespace Areas.Identity 12 | Public Class IdentityHostingStartup 13 | Implements IHostingStartup 14 | 15 | Public Sub Configure(ByVal builder As IWebHostBuilder) Implements IHostingStartup.Configure 16 | builder.ConfigureServices(Sub(context, services) 17 | End Sub) 18 | End Sub 19 | End Class 20 | End Namespace 21 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Areas/Identity/Pages/Account/Login.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model LoginModel 3 | 4 |
5 | @Html.Partial(Model.ViewName + ".cshtml") 6 |
-------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Areas/Identity/Pages/Account/_ViewImports.vbxml.vb: -------------------------------------------------------------------------------- 1 | Imports Vazor 2 | 3 | Namespace Areas.Identity.Pages.Account 4 | Partial Public Class ViewImports 5 | Inherits VazorSharedView 6 | 7 | Public Sub New() 8 | MyBase.New("_ViewImports", "Areas\Identity\Pages\Account", "ViewImports") 9 | End Sub 10 | 11 | Public Overrides Function GetVbXml() As XElement 12 | Return 13 | 14 | 15 | End Function 16 | End Class 17 | End Namespace 18 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Areas/Identity/Pages/_ViewImports.vbxml.vb: -------------------------------------------------------------------------------- 1 | Imports Vazor 2 | 3 | Namespace Areas.Identity.Pages 4 | Partial Public Class ViewImports 5 | Inherits VazorSharedView 6 | 7 | Public Sub New() 8 | MyBase.New("_ViewImports", "Areas\Identity\Pages", "ViewImports") 9 | End Sub 10 | 11 | Public Overrides Function GetVbXml() As XElement 12 | Return _ 13 | _ 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | End Function 23 | 24 | 25 | End Class 26 | End Namespace 27 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Areas/Identity/Pages/_ViewStart.vbxml.vb: -------------------------------------------------------------------------------- 1 | Namespace Areas.Identity.Pages 2 | Partial Public Class ViewStart 3 | Inherits Vazor.VazorSharedView 4 | 5 | Public Sub New() 6 | MyBase.New("_ViewStart", "Areas\Identity\Pages", "ViewStart") 7 | End Sub 8 | 9 | Public Overrides Function GetVbXml() As XElement 10 | Return 11 | 12 | 13 | End Function 14 | 15 | End Class 16 | End Namespace 17 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Constants.vb: -------------------------------------------------------------------------------- 1 |  2 | Module Constants 3 | Public Const BASKET_COOKIENAME As String = "eShop" 4 | Public Const ITEMS_PER_PAGE As Integer = 10 5 | Public Const DEFAULT_USERNAME As String = "Guest" 6 | End Module 7 | 8 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Controllers/Api/BaseApiController.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore.Mvc 2 | 3 | Namespace Controllers.Api 4 | 5 | 6 | Public Class BaseApiController 7 | Inherits Controller 8 | End Class 9 | End Namespace 10 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Controllers/Api/CatalogController.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.eShopWeb.Web.Services 2 | Imports Microsoft.AspNetCore.Mvc 3 | 4 | Namespace Controllers.Api 5 | Public Class CatalogController 6 | Inherits BaseApiController 7 | 8 | Private ReadOnly _catalogViewModelService As ICatalogViewModelService 9 | 10 | Public Sub New(ByVal catalogViewModelService As ICatalogViewModelService) 11 | _catalogViewModelService = catalogViewModelService 12 | End Sub 13 | 14 | 15 | Public Async Function List(ByVal brandFilterApplied As Integer?, ByVal typesFilterApplied As Integer?, ByVal page As Integer?) As Task(Of IActionResult) 16 | Dim itemsPage = 10 17 | Dim catalogModel = Await _catalogViewModelService.GetCatalogItems(If(page, 0), itemsPage, brandFilterApplied, typesFilterApplied) 18 | Return Ok(catalogModel) 19 | End Function 20 | 21 | Private Class CSharpImpl 22 | 23 | Shared Function __Assign(Of T)(ByRef target As T, value As T) As T 24 | target = value 25 | Return value 26 | End Function 27 | End Class 28 | End Class 29 | End Namespace 30 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Dockerfile: -------------------------------------------------------------------------------- 1 | # RUN ALL CONTAINERS FROM ROOT (folder with .sln file): 2 | # docker-compose build 3 | # docker-compose up 4 | # 5 | # RUN JUST THIS CONTAINER FROM ROOT (folder with .sln file): 6 | # docker build --pull -t web -f src/Web/Dockerfile . 7 | # 8 | # RUN COMMAND 9 | # docker run --name eshopweb --rm -it -p 5106:5106 web 10 | FROM microsoft/dotnet:2.2-sdk AS build 11 | WORKDIR /app 12 | 13 | COPY *.sln . 14 | COPY . . 15 | WORKDIR /app/src/Web 16 | RUN dotnet restore 17 | 18 | RUN dotnet publish -c Release -o out 19 | 20 | FROM microsoft/dotnet:2.2-aspnetcore-runtime AS runtime 21 | WORKDIR /app 22 | COPY --from=build /app/src/Web/out ./ 23 | 24 | # Optional: Set this here if not setting it from docker-compose.yml 25 | # ENV ASPNETCORE_ENVIRONMENT Development 26 | 27 | ENTRYPOINT ["dotnet", "Web.dll"] 28 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Extensions/EmailSenderExtensions.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.eShopWeb.ApplicationCore.Interfaces 2 | Imports System.Text.Encodings.Web 3 | Imports System.Threading.Tasks 4 | Imports System.Runtime.CompilerServices 5 | 6 | Namespace Services 7 | Module EmailSenderExtensions 8 | 9 | Function SendEmailConfirmationAsync(ByVal emailSender As IEmailSender, ByVal email As String, ByVal link As String) As Task 10 | Return emailSender.SendEmailAsync(email, "Confirm your email", $"Please confirm your account by clicking this link: link") 11 | End Function 12 | End Module 13 | End Namespace 14 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Extensions/UrlHelperExtensions.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore.Mvc 2 | Imports Microsoft.eShopWeb.Web.Controllers 3 | Imports System.Runtime.CompilerServices 4 | 5 | Module UrlHelperExtensions 6 | 7 | Function EmailConfirmationLink(ByVal urlHelper As IUrlHelper, ByVal userId As String, ByVal code As String, ByVal scheme As String) As String 8 | Return urlHelper.Action(action:=NameOf(AccountController.ConfirmEmail), controller:="Account", values:=New With {userId, code 9 | }, protocol:=scheme) 10 | End Function 11 | 12 | 13 | Function ResetPasswordCallbackLink(ByVal urlHelper As IUrlHelper, ByVal userId As String, ByVal code As String, ByVal scheme As String) As String 14 | Return urlHelper.Action(action:=NameOf(AccountController.ResetPassword), controller:="Account", values:=New With {userId, code 15 | }, protocol:=scheme) 16 | End Function 17 | End Module 18 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Interfaces/IBasketViewModelService.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.eShopWeb.Web.Pages.Basket 2 | Imports System.Threading.Tasks 3 | 4 | Namespace Interfaces 5 | Public Interface IBasketViewModelService 6 | Function GetOrCreateBasketForUser(ByVal userName As String) As Task(Of BasketViewModel) 7 | End Interface 8 | End Namespace 9 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Interfaces/ICatalogViewModelService.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore.Mvc.Rendering 2 | Imports Microsoft.eShopWeb.Web.ViewModels 3 | 4 | Namespace Services 5 | Public Interface ICatalogViewModelService 6 | Function GetCatalogItems(ByVal pageIndex As Integer, ByVal itemsPage As Integer, ByVal brandId As Integer?, ByVal typeId As Integer?) As Task(Of CatalogIndexViewModel) 7 | Function GetBrands() As Task(Of IEnumerable(Of SelectListItem)) 8 | Function GetTypes() As Task(Of IEnumerable(Of SelectListItem)) 9 | End Interface 10 | End Namespace 11 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/My Project/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:17469", 7 | "sslPort": 44315 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "Web - PROD": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "applicationUrl": "https://localhost:5001;http://localhost:5000", 22 | "environmentVariables": { 23 | "ASPNETCORE_ENVIRONMENT": "Production" 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Basket/BasketItemViewModel.vb: -------------------------------------------------------------------------------- 1 | Namespace Pages.Basket 2 | Public Class BasketItemViewModel 3 | Public Property Id As Integer 4 | Public Property CatalogItemId As Integer 5 | Public Property ProductName As String 6 | Public Property UnitPrice As Decimal 7 | Public Property OldUnitPrice As Decimal 8 | Public Property Quantity As Integer 9 | Public Property PictureUrl As String 10 | End Class 11 | End Namespace 12 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Basket/BasketViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Collections.Generic 3 | Imports System.Linq 4 | 5 | Namespace Pages.Basket 6 | Public Class BasketViewModel 7 | Public Property Id As Integer 8 | Public Property Items As List(Of BasketItemViewModel) = New List(Of BasketItemViewModel)() 9 | Public Property BuyerId As String 10 | 11 | Public Function Total() As Decimal 12 | Return Math.Round(Items.Sum(Function(x) x.UnitPrice * x.Quantity), 2) 13 | End Function 14 | End Class 15 | End Namespace 16 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Basket/Checkout.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model Pages.Basket.CheckoutModel 3 | 4 |
5 | @Html.Partial(Model.ViewName + ".cshtml") 6 |
-------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Basket/Checkout.vbxml.vb: -------------------------------------------------------------------------------- 1 | Namespace Pages.Basket 2 | 3 | Partial Public Class CheckoutModel 4 | Private Function GetVbXml() As XElement 5 | 6 | Return _ 7 | 8 | 9 |
10 |
11 | 12 |
13 |
14 | 15 |
16 |

Thanks for your Order!

17 | 18 | Continue Shopping... 19 |
20 | 21 |
22 | 23 | End Function 24 | End Class 25 | End Namespace -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Basket/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page "{handler?}" 2 | @model Pages.Basket.IndexModel 3 | 4 |
5 | @Html.Partial(Model.ViewName + ".cshtml") 6 |
-------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Error.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model ErrorModel 3 | 4 |
5 | @Html.Partial(Model.ViewName + ".cshtml") 6 |
-------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Error.cshtml.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore.Mvc 2 | Imports Microsoft.AspNetCore.Mvc.RazorPages 3 | Imports Vazor 4 | Imports ZML 5 | 6 | Namespace Pages 7 | 8 | Public Class ErrorModel : Inherits PageModel 9 | 10 | Const Title = "Error" 11 | 12 | Public ReadOnly Property ViewName As String 13 | Get 14 | ViewData("Title") = Title 15 | Dim html = Me.GetVbXml().ParseZML() 16 | Return VazorPage.CreateNew("Error", "Pages", Title, html) 17 | End Get 18 | End Property 19 | 20 | 21 | Public Property RequestId As String 22 | 23 | Public ReadOnly Property ShowRequestId As Boolean 24 | Get 25 | Return Not String.IsNullOrEmpty(RequestId) 26 | End Get 27 | End Property 28 | 29 | Public Sub OnGet() 30 | RequestId = If(Activity.Current?.Id, HttpContext.TraceIdentifier) 31 | End Sub 32 | 33 | End Class 34 | End Namespace -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Error.vbxml.vb: -------------------------------------------------------------------------------- 1 | Namespace Pages 2 | 3 | Partial Public Class ErrorModel 4 | Private Function GetVbXml() As XElement 5 | 6 | Return _ 7 | 8 | 9 | 10 |

Error

11 |

An error occurred while processing your request.

12 | 13 | 14 |

15 | Request ID:@Model.RequestId 16 |

17 |
18 | 19 |

Development Mode

20 |

Swapping to the Development environment displays detailed information about the error that occurred.

21 |

22 | The Development environment shouldn't be enabled for deployed applications. 23 | It can result in displaying sensitive information from exceptions to end users. 24 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 25 | and restarting the app. 26 |

27 |
28 | End Function 29 | End Class 30 | End Namespace 31 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model IndexModel 3 | 4 |
5 | @Html.Partial(Model.ViewName + ".cshtml") 6 |
-------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Privacy.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model PrivacyModel 3 | 4 |
5 | @Html.Partial(Model.ViewName + ".cshtml") 6 |
-------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Privacy.cshtml.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore.Mvc.RazorPages 2 | Imports Vazor 3 | Imports ZML 4 | 5 | Namespace Pages 6 | Public Class PrivacyModel : Inherits PageModel 7 | 8 | Const Title = "Privacy Policy" 9 | 10 | Public ReadOnly Property ViewName As String 11 | Get 12 | ViewData("Title") = Title 13 | Dim html = Me.GetVbXml().ParseZML() 14 | Return VazorPage.CreateNew("Privacy", "Pages", Title, html) 15 | End Get 16 | End Property 17 | 18 | Public Sub OnGet() 19 | 20 | End Sub 21 | 22 | End Class 23 | End Namespace -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Privacy.vbxml.vb: -------------------------------------------------------------------------------- 1 | Namespace Pages 2 | 3 | Partial Public Class PrivacyModel 4 | Private Function GetVbXml() As XElement 5 | Return 6 |

7 |

Use this page to detail your site's privacy policy.

8 |
9 | End Function 10 | End Class 11 | End Namespace 12 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/Shared/Components/BasketComponent/Default.vbxml.vb: -------------------------------------------------------------------------------- 1 | Imports Vazor 2 | 3 | Namespace Pages.Shared.Components.BasketComponent 4 | Public Class DefaultView 5 | Inherits VazorSharedView 6 | 7 | Public Sub New() 8 | MyBase.New("Default", "Pages\Shared\Components\BasketComponent", "Default") 9 | End Sub 10 | 11 | Public Overrides Function GetVbXml() As XElement 12 | Return _ 13 | _ 14 | 15 | 16 | My Basket 17 | 18 | 19 |
20 | 21 |
22 |
23 | @Model.ItemsCount 24 |
25 |
26 | 27 |
28 | 29 | End Function 30 | End Class 31 | 32 | End Namespace -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/_ViewImports.vbxml.vb: -------------------------------------------------------------------------------- 1 |  2 | Imports Vazor 3 | 4 | Namespace Pages 5 | 6 | Public Class ViewImports 7 | Inherits VazorSharedView 8 | 9 | Public Sub New() 10 | MyBase.New("_ViewImports", "Pages", "ViewImports") 11 | End Sub 12 | 13 | Public Overrides Function GetVbXml() As XElement 14 | Return _ 15 | _ 16 | 17 | Microsoft.eShopWeb.Web 18 | 19 | Microsoft.eShopWeb.Web.ViewModels.Account 20 | 21 | 22 | 23 | 24 | Microsoft.eShopWeb.Web.Pages 25 | 26 | 27 | 28 | End Function 29 | End Class 30 | End Namespace -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Pages/_ViewStart.vbxml.vb: -------------------------------------------------------------------------------- 1 | Imports Vazor 2 | 3 | Namespace Pages 4 | Partial Public Class ViewStart 5 | Inherits VazorSharedView 6 | 7 | Public Sub New() 8 | MyBase.New("_ViewStart", "Pages", "ViewStart") 9 | End Sub 10 | 11 | Public Overrides Function GetVbXml() As XElement 12 | Return _ 13 | _ 14 | 15 | 16 | 17 | 18 | End Function 19 | 20 | 21 | End Class 22 | End Namespace -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/SlugifyParameterTransformer.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore.Routing 2 | Imports System.Text.RegularExpressions 3 | 4 | 5 | Public Class SlugifyParameterTransformer 6 | Implements IOutboundParameterTransformer 7 | 8 | Public Function TransformOutbound(ByVal value As Object) As String _ 9 | Implements IOutboundParameterTransformer.TransformOutbound 10 | 11 | If value Is Nothing Then 12 | Return Nothing 13 | End If 14 | 15 | Return Regex.Replace(value.ToString(), "([a-z])([A-Z])", "$1-$2").ToLower() 16 | End Function 17 | End Class 18 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Account/LoginViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel.DataAnnotations 2 | 3 | Namespace ViewModels.Account 4 | Public Class LoginViewModel 5 | 6 | 7 | Public Property Email As String 8 | 9 | 10 | Public Property Password As String 11 | 12 | Public Property RememberMe As Boolean 13 | End Class 14 | End Namespace 15 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Account/LoginWith2faViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel.DataAnnotations 2 | 3 | Namespace ViewModels.Account 4 | Public Class LoginWith2faViewModel 5 | 6 | 7 | 8 | 9 | Public Property TwoFactorCode As String 10 | 11 | Public Property RememberMachine As Boolean 12 | Public Property RememberMe As Boolean 13 | End Class 14 | End Namespace 15 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Account/RegisterViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel.DataAnnotations 2 | 3 | Namespace ViewModels.Account 4 | Public Class RegisterViewModel 5 | 6 | 7 | 8 | Public Property Email As String 9 | 10 | 11 | 12 | 13 | Public Property Password As String 14 | 15 | 16 | 17 | Public Property ConfirmPassword As String 18 | End Class 19 | End Namespace 20 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Account/ResetPasswordViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel.DataAnnotations 2 | 3 | Namespace ViewModels.Account 4 | Public Class ResetPasswordViewModel 5 | 6 | 7 | Public Property Email As String 8 | 9 | 10 | 11 | Public Property Password As String 12 | 13 | 14 | 15 | Public Property ConfirmPassword As String 16 | Public Property Code As String 17 | End Class 18 | End Namespace 19 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/BasketComponentViewModel.vb: -------------------------------------------------------------------------------- 1 | Namespace ViewModels 2 | Public Class BasketComponentViewModel 3 | Public Property ItemsCount As Integer 4 | End Class 5 | End Namespace 6 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/CatalogIndexViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore.Mvc.Rendering 2 | 3 | Namespace ViewModels 4 | Public Class CatalogIndexViewModel 5 | Public Property CatalogItems As IEnumerable(Of CatalogItemViewModel) 6 | Public Property Brands As IEnumerable(Of SelectListItem) 7 | Public Property Types As IEnumerable(Of SelectListItem) 8 | Public Property BrandFilterApplied As Integer? 9 | Public Property TypesFilterApplied As Integer? 10 | Public Property PaginationInfo As PaginationInfoViewModel 11 | End Class 12 | End Namespace 13 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/CatalogItemViewModel.vb: -------------------------------------------------------------------------------- 1 | Namespace ViewModels 2 | Public Class CatalogItemViewModel 3 | Public Property Id As Integer 4 | Public Property Name As String 5 | Public Property PictureUri As String 6 | Public Property Price As Decimal 7 | End Class 8 | End Namespace 9 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Manage/ChangePasswordViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel.DataAnnotations 2 | 3 | Namespace ViewModels.Manage 4 | Public Class ChangePasswordViewModel 5 | 6 | 7 | 8 | Public Property OldPassword As String 9 | 10 | 11 | 12 | 13 | Public Property NewPassword As String 14 | 15 | 16 | 17 | Public Property ConfirmPassword As String 18 | Public Property StatusMessage As String 19 | End Class 20 | End Namespace 21 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Manage/EnableAuthenticatorViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | Imports System.ComponentModel.DataAnnotations 3 | 4 | Namespace ViewModels.Manage 5 | Public Class EnableAuthenticatorViewModel 6 | 7 | 8 | 9 | 10 | Public Property Code As String 11 | <[ReadOnly](True)> 12 | Public Property SharedKey As String 13 | Public Property AuthenticatorUri As String 14 | End Class 15 | End Namespace 16 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Manage/ExternalLoginsViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore.Authentication 2 | Imports Microsoft.AspNetCore.Identity 3 | Imports System.Collections.Generic 4 | 5 | Namespace ViewModels.Manage 6 | Public Class ExternalLoginsViewModel 7 | Public Property CurrentLogins As IList(Of UserLoginInfo) 8 | Public Property OtherLogins As IList(Of AuthenticationScheme) 9 | Public Property ShowRemoveButton As Boolean 10 | Public Property StatusMessage As String 11 | End Class 12 | End Namespace 13 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Manage/GenerateRecoveryCodesViewModel.vb: -------------------------------------------------------------------------------- 1 | Namespace ViewModels.Manage 2 | Public Class GenerateRecoveryCodesViewModel 3 | Public Property RecoveryCodes As String() 4 | End Class 5 | End Namespace 6 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Manage/IndexViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel.DataAnnotations 2 | 3 | Namespace ViewModels.Manage 4 | Public Class IndexViewModel 5 | Public Property Username As String 6 | Public Property IsEmailConfirmed As Boolean 7 | 8 | 9 | Public Property Email As String 10 | 11 | 12 | Public Property PhoneNumber As String 13 | Public Property StatusMessage As String 14 | End Class 15 | End Namespace 16 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Manage/RemoveLoginViewModel.vb: -------------------------------------------------------------------------------- 1 | Namespace ViewModels.Manage 2 | Public Class RemoveLoginViewModel 3 | Public Property LoginProvider As String 4 | Public Property ProviderKey As String 5 | End Class 6 | End Namespace 7 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Manage/SetPasswordViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel.DataAnnotations 2 | 3 | Namespace ViewModels.Manage 4 | Public Class SetPasswordViewModel 5 | 6 | 7 | 8 | 9 | Public Property NewPassword As String 10 | 11 | 12 | 13 | Public Property ConfirmPassword As String 14 | Public Property StatusMessage As String 15 | End Class 16 | End Namespace 17 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/Manage/TwoFactorAuthenticationViewModel.vb: -------------------------------------------------------------------------------- 1 | Namespace ViewModels.Manage 2 | Public Class TwoFactorAuthenticationViewModel 3 | Public Property HasAuthenticator As Boolean 4 | Public Property RecoveryCodesLeft As Integer 5 | Public Property Is2faEnabled As Boolean 6 | End Class 7 | End Namespace 8 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/OrderItemViewModel.vb: -------------------------------------------------------------------------------- 1 | Namespace ViewModels 2 | Public Class OrderItemViewModel 3 | Public Property ProductId As Integer 4 | Public Property ProductName As String 5 | Public Property UnitPrice As Decimal 6 | Public Property Discount As Decimal 7 | Public Property Units As Integer 8 | Public Property PictureUrl As String 9 | End Class 10 | End Namespace 11 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/OrderViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.eShopWeb.ApplicationCore.Entities.OrderAggregate 2 | Imports System 3 | Imports System.Collections.Generic 4 | 5 | Namespace ViewModels 6 | Public Class OrderViewModel 7 | Public Property OrderNumber As Integer 8 | Public Property OrderDate As DateTimeOffset 9 | Public Property Total As Decimal 10 | Public Property Status As String 11 | Public Property ShippingAddress As Address 12 | Public Property OrderItems As List(Of OrderItemViewModel) = New List(Of OrderItemViewModel)() 13 | End Class 14 | End Namespace 15 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/ViewModels/PaginationInfoViewModel.vb: -------------------------------------------------------------------------------- 1 | Namespace ViewModels 2 | Public Class PaginationInfoViewModel 3 | Public Property TotalItems As Integer 4 | Public Property ItemsPerPage As Integer 5 | Public Property ActualPage As Integer 6 | Public Property TotalPages As Integer 7 | Public Property Previous As String 8 | Public Property [Next] As String 9 | End Class 10 | End Namespace 11 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Account/Lockout.vbxml.vb: -------------------------------------------------------------------------------- 1 | Imports Vazor 2 | 3 | Namespace Views.Account 4 | Partial Public Class LockoutView 5 | Inherits VazorSharedView 6 | 7 | Public Sub New() 8 | MyBase.New("Lockout", "Views\Account", "Lockout") 9 | End Sub 10 | 11 | Public Overrides Function GetVbXml() As XElement 12 | Return _ 13 | _ 14 | 15 | Locked out 16 | 17 |
18 |

19 |

This account has been locked out, please try again later.

20 |
21 |
22 | 23 | End Function 24 | 25 | End Class 26 | End Namespace -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Manage/Disable2fa.cshtml: -------------------------------------------------------------------------------- 1 | @* *@ 8 | @{ ViewData["Title"] = "Disable two-factor authentication (2FA)"; } 9 | @{ 10 | ViewData[ManageNavPages.ActivePageKey] = ManageNavPages.TwoFactorAuthentication; 11 | } 12 |

13 | @ViewData["Title"] 14 |

15 | 28 |
29 |
30 | 31 |
32 |
-------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Manage/Disable2fa.zml: -------------------------------------------------------------------------------- 1 | Disable two-factor authentication (2FA) 2 | 3 | 4 |

5 | 6 | 19 | 20 |
21 |
22 | 23 |
24 |
25 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Manage/ExternalLogins.vazor.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.AspNetCore.Mvc.ViewFeatures 2 | Imports Microsoft.eShopWeb.Web.ViewModels.Manage 3 | Imports Vazor 4 | 5 | Public Class ExternalLoginsView 6 | Inherits VazorView 7 | 8 | Public ReadOnly Property Model As Object 9 | 10 | Public ReadOnly Property ViewData() As ViewDataDictionary 11 | 12 | Public Sub New(model As ExternalLoginsViewModel, viewData As ViewDataDictionary) 13 | MyBase.New("ExternalLogins", "Views\Home", "Hello") 14 | Me.Model = model 15 | Me.ViewData = viewData 16 | viewData(Views.Manage.ActivePageKey) = Views.Manage.ExternalLogins 17 | 18 | End Sub 19 | 20 | Public Shared Function CreateNew(model As ExternalLoginsViewModel, viewData As ViewDataDictionary) As String 21 | Return VazorViewMapper.Add(New ExternalLoginsView(model, viewData)) 22 | End Function 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Manage/GenerateRecoveryCodes.zml: -------------------------------------------------------------------------------- 1 |  2 | Recovery codes 3 | 4 | 5 |

6 | 15 |
16 |
17 | 18 | @Model.RecoveryCodes[row] 19 |   20 | @Model.RecoveryCodes[row + 1] 21 |
22 |
23 |
24 |
-------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Manage/ResetAuthenticator.zml: -------------------------------------------------------------------------------- 1 | Reset authenticator key 2 | 3 | 4 |

5 | 15 |
16 |
17 | 18 |
19 |
-------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Manage/_Layout.vbxml.vb: -------------------------------------------------------------------------------- 1 |  2 | Imports Vazor 3 | 4 | Namespace Views.Manage 5 | 6 | Public Class LayoutView 7 | Inherits VazorSharedView 8 | 9 | Public Sub New() 10 | MyBase.New("_Layout", "Views\Manage", "Layout") 11 | End Sub 12 | 13 | Public Overrides Function GetVbXml() As XElement 14 | Return _ 15 | 16 | 17 | 18 |

Manage your account

19 | 20 |
21 |

Change your account settings

22 |
23 |
24 |
25 | 26 |
27 |
28 | 29 |
30 |
31 |
32 | 33 | 34 | 35 | Scripts 36 | false 37 | 38 | 39 | 40 |
41 | End Function 42 | End Class 43 | End Namespace -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Manage/_StatusMessage.cshtml: -------------------------------------------------------------------------------- 1 | @* *@ 8 | @model string 9 | @if (! String.IsNullOrEmpty(Model)) 10 | { 11 | var statusMessageClass = Model.StartsWith("Error") ? "danger" : "success"; 12 | 18 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Manage/_StatusMessage.zml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 13 | 14 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Manage/_ViewImports.vbxml.vb: -------------------------------------------------------------------------------- 1 |  2 | Imports Vazor 3 | 4 | Namespace Views.Manage 5 | 6 | Public Class ViewImports 7 | Inherits VazorSharedView 8 | 9 | Public Sub New() 10 | MyBase.New("_ViewImports", "Views\Manage", "ViewImports") 11 | End Sub 12 | 13 | Public Overrides Function GetVbXml() As XElement 14 | Return 15 | 16 | 17 | End Function 18 | End Class 19 | End Namespace -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Shared/Components/Basket/Default.cshtml: -------------------------------------------------------------------------------- 1 | @* *@ 8 | @model BasketComponentViewModel 9 | @{ ViewData["Title"] = "My Basket"; } 10 | 11 |
12 | 13 |
14 |
15 | @Model.ItemsCount 16 |
17 |
-------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Shared/Components/Basket/Default.zml: -------------------------------------------------------------------------------- 1 |  2 | 3 | My Basket 4 | 5 | 6 |
7 | 8 |
9 |
10 | @Model.ItemsCount 11 |
12 |
13 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @* *@ 8 | @{ ViewData["Title"] = "Error"; } 9 |

Error.

10 |

An error occurred while processing your request.

11 |

Development Mode

12 |

13 | Swapping to Development environment will display more detailed information about the error that occurred. 14 |

15 |

16 | Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. 17 |

-------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Shared/Error.zml: -------------------------------------------------------------------------------- 1 | Error 2 | 3 |

Error.

4 |

An error occurred while processing your request.

5 | 6 |

Development Mode

7 |

8 | Swapping to Development environment will display more detailed information about the error that occurred. 9 |

10 |

11 | Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. 12 |

13 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Shared/_CookieConsentPartial.zml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 18 | 26 | 27 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/Shared/_ValidationScriptsPartial.zml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @* *@ 8 | @using Microsoft.eShopWeb.Web 9 | @using Microsoft.eShopWeb.Web.ViewModels 10 | @using Microsoft.eShopWeb.Web.ViewModels.Account 11 | @using Microsoft.eShopWeb.Web.ViewModels.Manage 12 | @using Microsoft.eShopWeb.Web.Pages 13 | @using Microsoft.AspNetCore.Identity 14 | @using Microsoft.eShopWeb.Infrastructure.Identity 15 | @namespace Microsoft.eShopWeb.Web.Pages 16 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/_ViewImports.zml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @* *@ 8 | @{ 9 | Layout = "_Layout"; 10 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/Views/_ViewStart.zml: -------------------------------------------------------------------------------- 1 |  2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "CatalogConnection": "Server=(localdb)\\mssqllocaldb;Integrated Security=true;Initial Catalog=Microsoft.eShopOnWeb.CatalogDb;", 4 | "IdentityConnection": "Server=(localdb)\\mssqllocaldb;Integrated Security=true;Initial Catalog=Microsoft.eShopOnWeb.Identity;" 5 | }, 6 | "CatalogBaseUrl": "", 7 | "Logging": { 8 | "IncludeScopes": false, 9 | "LogLevel": { 10 | "Default": "Warning", 11 | "Microsoft": "Warning", 12 | "System": "Warning" 13 | }, 14 | "AllowedHosts": "*" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/ApplicationCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/ApplicationCore.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/ApplicationCore.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/ApplicationCore.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Infrastructure.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Infrastructure.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Infrastructure.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Infrastructure.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Vazor1.5.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Vazor1.5.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Vazor1.5.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Vazor1.5.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Web.VB.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Web.VB.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Web.VB.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Web.VB.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Web.VB.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "C:\\Users\\MHG\\.dotnet\\store\\|arch|\\|tfm|", 5 | "C:\\Users\\MHG\\.nuget\\packages", 6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/Web.VB.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.2", 4 | "framework": { 5 | "name": "Microsoft.AspNetCore.App", 6 | "version": "2.2.0" 7 | }, 8 | "configProperties": { 9 | "System.GC.Server": true 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "CatalogConnection": "Server=(localdb)\\mssqllocaldb;Integrated Security=true;Initial Catalog=Microsoft.eShopOnWeb.CatalogDb;", 4 | "IdentityConnection": "Server=(localdb)\\mssqllocaldb;Integrated Security=true;Initial Catalog=Microsoft.eShopOnWeb.Identity;" 5 | }, 6 | "CatalogBaseUrl": "", 7 | "Logging": { 8 | "IncludeScopes": false, 9 | "LogLevel": { 10 | "Default": "Warning", 11 | "Microsoft": "Warning", 12 | "System": "Warning" 13 | }, 14 | "AllowedHosts": "*" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_Vazor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_Vazor.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_Vazor.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_Vazor.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_Vazor.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "C:\\Users\\MHG\\.dotnet\\store\\|arch|\\|tfm|", 5 | "C:\\Users\\MHG\\.nuget\\packages", 6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_Vazor.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.2", 4 | "framework": { 5 | "name": "Microsoft.AspNetCore.App", 6 | "version": "2.2.0" 7 | }, 8 | "configProperties": { 9 | "System.GC.Server": true 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_zml.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_zml.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_zml.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_zml.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_zml.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "C:\\Users\\MHG\\.dotnet\\store\\|arch|\\|tfm|", 5 | "C:\\Users\\MHG\\.nuget\\packages", 6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/bin/Debug/netcoreapp2.2/eShopOnWeb_zml.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.2", 4 | "framework": { 5 | "name": "Microsoft.AspNetCore.App", 6 | "version": "2.2.0" 7 | }, 8 | "configProperties": { 9 | "System.GC.Server": true 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/compilerconfig.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "outputFile": "wwwroot/css/shared/components/header/header.css", 4 | "inputFile": "wwwroot/css/shared/components/header/header.scss" 5 | }, 6 | { 7 | "outputFile": "wwwroot/css/orders/orders.component.css", 8 | "inputFile": "wwwroot/css/orders/orders.component.scss" 9 | }, 10 | { 11 | "outputFile": "wwwroot/css/catalog/catalog.component.css", 12 | "inputFile": "wwwroot/css/catalog/catalog.component.scss" 13 | }, 14 | { 15 | "outputFile": "wwwroot/css/basket/basket.component.css", 16 | "inputFile": "wwwroot/css/basket/basket.component.scss" 17 | }, 18 | { 19 | "outputFile": "wwwroot/css/basket/basket-status/basket-status.component.css", 20 | "inputFile": "wwwroot/css/basket/basket-status/basket-status.component.scss" 21 | }, 22 | { 23 | "outputFile": "wwwroot/css/app.component.css", 24 | "inputFile": "wwwroot/css/app.component.scss" 25 | }, 26 | { 27 | "outputFile": "wwwroot/css/_variables.css", 28 | "inputFile": "wwwroot/css/_variables.scss" 29 | }, 30 | { 31 | "outputFile": "wwwroot/css/shared/components/pager/pager.css", 32 | "inputFile": "wwwroot/css/shared/components/pager/pager.scss" 33 | } 34 | ] -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/libman.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "defaultProvider": "cdnjs", 4 | "libraries": [ 5 | { 6 | "library": "jquery@3.3.1", 7 | "destination": "wwwroot/lib/jquery/" 8 | }, 9 | { 10 | "provider": "unpkg", 11 | "library": "bootstrap@3.3.7", 12 | "files": [ 13 | "dist/css/bootstrap.css", 14 | "dist/css/bootstrap.css.map", 15 | "dist/css/bootstrap.min.css", 16 | "dist/css/bootstrap.min.css.map", 17 | "dist/js/bootstrap.js", 18 | "dist/js/bootstrap.min.js" 19 | ], 20 | "destination": "wwwroot/lib/bootstrap/" 21 | }, 22 | { 23 | "library": "jquery-validation-unobtrusive@3.2.10", 24 | "destination": "wwwroot/lib/jquery-validation-unobtrusive/" 25 | }, 26 | { 27 | "library": "jquery-validate@1.17.0", 28 | "destination": "wwwroot/lib/jquery-validate/", 29 | "files": [ 30 | "jquery.validate.min.js", 31 | "jquery.validate.js" 32 | ] 33 | }, 34 | { 35 | "library": "toastr.js@2.1.4", 36 | "destination": "wwwroot/lib/toastr/" 37 | }, 38 | { 39 | "provider": "unpkg", 40 | "library": "@aspnet/signalr@1.0.3", 41 | "files": [ 42 | "dist/browser/signalr.js", 43 | "dist/browser/signalr.min.js" 44 | ], 45 | "destination": "wwwroot/lib/@aspnet/signalr/" 46 | } 47 | ] 48 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict Off 12 | Option Explicit On 13 | 14 | Imports System 15 | Imports System.Reflection 16 | 24 | 25 | 'Generated by the MSBuild WriteCodeFragment class. 26 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 3c0ccc1af8474f0410774f15587a282477c0e57b 2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.assets.cache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.vbproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.vbproj.CopyComplete -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.vbproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | ca85d060aa6f586c5c056ca2a67de20222f712eb 2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.vbprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/Web.VB.vbprojAssemblyReference.cache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict Off 12 | Option Explicit On 13 | 14 | Imports System 15 | Imports System.Reflection 16 | 24 | 25 | 'Generated by the MSBuild WriteCodeFragment class. 26 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | a4a5501ae7cd3195499cf566c13836935cc8218a 2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.assets.cache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.vbproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.vbproj.CopyComplete -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.vbproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 864de6f0bf1e7e836a75de1ff08fc0f0f45f190b 2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.vbprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_Vazor.vbprojAssemblyReference.cache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict Off 12 | Option Explicit On 13 | 14 | Imports System 15 | Imports System.Reflection 16 | 24 | 25 | 'Generated by the MSBuild WriteCodeFragment class. 26 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 85e90395443b1bff1ece044e01e274e914859833 2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.assets.cache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.pdb -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.vbproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.vbproj.CopyComplete -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.vbproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 470a1ffaeddba099fa69a23fc10a9e78e9ce9bce 2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.vbprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/obj/Debug/netcoreapp2.2/eShopOnWeb_zml.vbprojAssemblyReference.cache -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/Web.VB.vbproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "VkjOnzU4nJpUoSoxnlWnLYrhR4sJpAOgrXOdii9FkPF6Cr5gaVuOxyvx3DMJOnCEpEUgUERE8OL4Cy5kV0p6aQ==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/eShopOnWeb_Vazor.vbproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "fEoq5sk29ayM1H8DHNksrrVc4DV4gtsgOobzFD1mQrpnl/A69OJYumnN9R5eVhaRg0m+/McWSIbpifI/taxGeg==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/obj/eShopOnWeb_zml.vbproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "4SGK8nPX3qxvP25nip0oEi3sP2RaAhioQuK9hCtYq+vdNTKVrbRvAK8fNotGyjW4HRm29YzuTGeUyNQrB8HRDw==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/_variables.css: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/_variables.min.css: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/app.component.css: -------------------------------------------------------------------------------- 1 | .esh-app-footer { 2 | background-color: #000000; 3 | border-top: 1px solid #EEEEEE; 4 | margin-top: 2.5rem; 5 | padding-bottom: 2.5rem; 6 | padding-top: 2.5rem; 7 | width: 100%; 8 | bottom: 0; } 9 | .esh-app-footer-brand { 10 | height: 50px; 11 | width: 230px; } 12 | 13 | .esh-app-header { 14 | margin: 15px; } 15 | 16 | .esh-app-wrapper { 17 | display: flex; 18 | min-height: 100vh; 19 | flex-direction: column; 20 | justify-content: space-between; } 21 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/app.component.min.css: -------------------------------------------------------------------------------- 1 | .esh-app-footer{background-color:#000;border-top:1px solid #eee;margin-top:2.5rem;padding-bottom:2.5rem;padding-top:2.5rem;width:100%;bottom:0;}.esh-app-footer-brand{height:50px;width:230px;}.esh-app-header{margin:15px;}.esh-app-wrapper{display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;} -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/app.component.scss: -------------------------------------------------------------------------------- 1 | @import './_variables.scss'; 2 | 3 | .esh-app { 4 | &-footer { 5 | $margin: 2.5rem; 6 | $padding: 2.5rem; 7 | 8 | background-color: $color-background-darker; 9 | border-top: $border-light solid $color-foreground-bright; 10 | margin-top: $margin; 11 | padding-bottom: $padding; 12 | padding-top: $padding; 13 | width: 100%; 14 | bottom: 0; 15 | $height: 50px; 16 | 17 | &-brand { 18 | height: $height; 19 | width: 230px; 20 | } 21 | } 22 | 23 | &-header { 24 | margin: 15px; 25 | } 26 | 27 | &-wrapper { 28 | display: flex; 29 | min-height: 100vh; 30 | flex-direction: column; 31 | justify-content: space-between 32 | } 33 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/app.min.css: -------------------------------------------------------------------------------- 1 | @font-face{font-family:Montserrat;font-weight:400;src:url("../fonts/Montserrat-Regular.eot?") format("eot"),url("../fonts/Montserrat-Regular.woff") format("woff"),url("../fonts/Montserrat-Regular.ttf") format("truetype"),url("../fonts/Montserrat-Regular.svg#Montserrat") format("svg")}@font-face{font-family:Montserrat;font-weight:700;src:url("../fonts/Montserrat-Bold.eot?") format("eot"),url("../fonts/Montserrat-Bold.woff") format("woff"),url("../fonts/Montserrat-Bold.ttf") format("truetype"),url("../fonts/Montserrat-Bold.svg#Montserrat") format("svg")}html,body{font-family:Montserrat,sans-serif;font-size:16px;font-weight:400;z-index:10}*,*::after,*::before{box-sizing:border-box}.preloading{color:#00a69c;display:block;font-size:1.5rem;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}select::-ms-expand{display:none}@media screen and (min-width:992px){.form-input{max-width:360px;width:360px}}.form-input{border-radius:0;height:45px;padding:10px}.form-input-small{max-width:100px !important}.form-input-medium{width:150px !important}.alert{padding-left:0}.alert-danger{background-color:transparent;border:0;color:#fb0d0d;font-size:12px}a,a:active,a:hover,a:visited{color:#000;text-decoration:none;transition:color .35s}a:hover,a:active{color:#75b918;transition:color .35s} -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/basket/basket-status/basket-status.component.css: -------------------------------------------------------------------------------- 1 | .esh-basketstatus { 2 | cursor: pointer; 3 | display: inline-block; 4 | float: right; 5 | position: relative; 6 | transition: all 0.35s; } 7 | .esh-basketstatus.is-disabled { 8 | opacity: .5; 9 | pointer-events: none; } 10 | .esh-basketstatus-image { 11 | height: 36px; 12 | margin-top: .5rem; } 13 | .esh-basketstatus-badge { 14 | background-color: #83D01B; 15 | border-radius: 50%; 16 | color: #FFFFFF; 17 | display: block; 18 | height: 1.5rem; 19 | left: 50%; 20 | position: absolute; 21 | text-align: center; 22 | top: 0; 23 | transform: translateX(-38%); 24 | transition: all 0.35s; 25 | width: 1.5rem; } 26 | .esh-basketstatus-badge-inoperative { 27 | background-color: #ff0000; 28 | border-radius: 50%; 29 | color: #FFFFFF; 30 | display: block; 31 | height: 1.5rem; 32 | left: 50%; 33 | position: absolute; 34 | text-align: center; 35 | top: 0; 36 | transform: translateX(-38%); 37 | transition: all 0.35s; 38 | width: 1.5rem; } 39 | .esh-basketstatus:hover .esh-basketstatus-badge { 40 | background-color: transparent; 41 | color: #75b918; 42 | transition: all 0.35s; } 43 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/basket/basket-status/basket-status.component.min.css: -------------------------------------------------------------------------------- 1 | .esh-basketstatus{cursor:pointer;display:inline-block;float:right;position:relative;transition:all .35s;}.esh-basketstatus.is-disabled{opacity:.5;pointer-events:none;}.esh-basketstatus-image{height:36px;margin-top:.5rem;}.esh-basketstatus-badge{background-color:#83d01b;border-radius:50%;color:#fff;display:block;height:1.5rem;left:50%;position:absolute;text-align:center;top:0;transform:translateX(-38%);transition:all .35s;width:1.5rem;}.esh-basketstatus-badge-inoperative{background-color:#f00;border-radius:50%;color:#fff;display:block;height:1.5rem;left:50%;position:absolute;text-align:center;top:0;transform:translateX(-38%);transition:all .35s;width:1.5rem;}.esh-basketstatus:hover .esh-basketstatus-badge{background-color:transparent;color:#75b918;transition:all .35s;} -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/basket/basket.component.min.css: -------------------------------------------------------------------------------- 1 | .esh-basket{min-height:80vh;}.esh-basket-titles{padding-bottom:1rem;padding-top:2rem;}.esh-basket-titles--clean{padding-bottom:0;padding-top:0;}.esh-basket-title{text-transform:uppercase;}.esh-basket-items--border{border-bottom:1px solid #eee;padding:.5rem 0;}.esh-basket-items--border:last-of-type{border-color:transparent;}.esh-basket-items-margin-left1{margin-left:1px;}.esh-basket-item{font-size:1rem;font-weight:300;}.esh-basket-item--middle{line-height:8rem;}@media screen and (max-width:1024px){.esh-basket-item--middle{line-height:1rem;}}.esh-basket-item--mark{color:#00a69c;}.esh-basket-image{height:8rem;}.esh-basket-input{line-height:1rem;width:100%;}.esh-basket-checkout{background-color:#83d01b;border:0;border-radius:0;color:#fff;display:inline-block;font-size:1rem;font-weight:400;margin-top:1rem;padding:1rem 1.5rem;text-align:center;text-transform:uppercase;transition:all .35s;}.esh-basket-checkout:hover{background-color:#4a760f;transition:all .35s;} -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/catalog/pager.css: -------------------------------------------------------------------------------- 1 | .esh-pager-wrapper { 2 | padding-top: 1rem; 3 | text-align: center; 4 | } 5 | 6 | .esh-pager-item-left { 7 | float: left; 8 | } 9 | 10 | .esh-pager-item-right { 11 | float: right; 12 | } 13 | 14 | .esh-pager-item--navigable { 15 | display: inline-block; 16 | cursor: pointer; 17 | } 18 | 19 | .esh-pager-item--navigable.is-disabled { 20 | opacity: 0; 21 | pointer-events: none; 22 | } 23 | 24 | .esh-pager-item--navigable:hover { 25 | color: #83D01B; 26 | } 27 | 28 | @media screen and (max-width: 1280px) { 29 | .esh-pager-item { 30 | font-size: 0.85rem; 31 | } 32 | } 33 | 34 | @media screen and (max-width: 1024px) { 35 | .esh-pager-item { 36 | margin: 0 4vw; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/orders/orders.component.min.css: -------------------------------------------------------------------------------- 1 | .esh-orders{min-height:80vh;overflow-x:hidden;}.esh-orders-header{background-color:#00a69c;height:4rem;}.esh-orders-back{color:rgba(255,255,255,.4);line-height:4rem;text-decoration:none;text-transform:uppercase;transition:color .35s;}.esh-orders-back:hover{color:#fff;transition:color .35s;}.esh-orders-titles{padding-bottom:1rem;padding-top:2rem;}.esh-orders-title{text-transform:uppercase;}.esh-orders-items{height:2rem;line-height:2rem;position:relative;}.esh-orders-items:nth-of-type(2n+1):before{background-color:#eef;content:'';height:100%;left:0;margin-left:-100vw;position:absolute;top:0;width:200vw;z-index:-1;}.esh-orders-item{font-weight:300;}.esh-orders-item--hover{opacity:0;pointer-events:none;}.esh-orders-items:hover .esh-orders-item--hover{opacity:1;pointer-events:all;}.esh-orders-link{color:#83d01b;text-decoration:none;transition:color .35s;}.esh-orders-link:hover{color:#75b918;transition:color .35s;} -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/shared/components/header/header.css: -------------------------------------------------------------------------------- 1 | .esh-header { 2 | background-color: #00A69C; 3 | height: 4rem; } 4 | .esh-header-back { 5 | color: rgba(255, 255, 255, 0.5); 6 | line-height: 4rem; 7 | text-decoration: none; 8 | text-transform: uppercase; 9 | transition: color 0.35s; } 10 | .esh-header-back:hover { 11 | color: #FFFFFF; 12 | transition: color 0.35s; } 13 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/shared/components/header/header.min.css: -------------------------------------------------------------------------------- 1 | .esh-header{background-color:#00a69c;height:4rem;}.esh-header-back{color:rgba(255,255,255,.5);line-height:4rem;text-decoration:none;text-transform:uppercase;transition:color .35s;}.esh-header-back:hover{color:#fff;transition:color .35s;} -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/shared/components/header/header.scss: -------------------------------------------------------------------------------- 1 | @import '../../../variables.scss'; 2 | 3 | .esh-header { 4 | $header-height: 4rem; 5 | 6 | background-color: $color-brand; 7 | height: $header-height; 8 | 9 | &-back { 10 | color: rgba($color-foreground-brighter, .5); 11 | line-height: $header-height; 12 | text-decoration: none; 13 | text-transform: uppercase; 14 | transition: color $animation-speed-default; 15 | 16 | &:hover { 17 | color: $color-foreground-brighter; 18 | transition: color $animation-speed-default; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/shared/components/identity/identity.css: -------------------------------------------------------------------------------- 1 | .esh-identity { 2 | line-height: 3rem; 3 | position: relative; 4 | text-align: right; 5 | } 6 | 7 | .esh-identity-section { 8 | display: inline-block; 9 | width: 100%; 10 | } 11 | 12 | .esh-identity-name { 13 | display: inline-block; 14 | } 15 | 16 | .esh-identity-name--upper { 17 | text-transform: uppercase; 18 | } 19 | 20 | @media screen and (max-width: 768px) { 21 | .esh-identity-name { 22 | font-size: 0.85rem; 23 | } 24 | } 25 | 26 | .esh-identity-image { 27 | display: inline-block; 28 | } 29 | 30 | .esh-identity-drop { 31 | background: #FFFFFF; 32 | height: 10px; 33 | width: 10rem; 34 | overflow: hidden; 35 | padding: .5rem; 36 | position: absolute; 37 | right: 0; 38 | top: 2.5rem; 39 | transition: height 0.35s; 40 | } 41 | 42 | .esh-identity:hover .esh-identity-drop { 43 | border: 1px solid #EEEEEE; 44 | height: 10rem; 45 | transition: height 0.35s; 46 | } 47 | 48 | .esh-identity-item { 49 | cursor: pointer; 50 | transition: color 0.35s; 51 | } 52 | 53 | .esh-identity-item:hover { 54 | color: #75b918; 55 | transition: color 0.35s; 56 | } 57 | 58 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/shared/components/identity/identity.min.css: -------------------------------------------------------------------------------- 1 | .esh-identity{line-height:3rem;position:relative;text-align:right;}.esh-identity-section{display:inline-block;width:100%;}.esh-identity-name{display:inline-block;}.esh-identity-name--upper{text-transform:uppercase;}@media screen and (max-width:768px){.esh-identity-name{font-size:.85rem;}}.esh-identity-image{display:inline-block;}.esh-identity-drop{background:#fff;height:10px;width:10rem;overflow:hidden;padding:.5rem;position:absolute;right:0;top:2.5rem;transition:height .35s;}.esh-identity:hover .esh-identity-drop{border:1px solid #eee;height:10rem;transition:height .35s;}.esh-identity-item{cursor:pointer;transition:color .35s;}.esh-identity-item:hover{color:#75b918;transition:color .35s;} -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/shared/components/pager/pager.css: -------------------------------------------------------------------------------- 1 | .esh-pager-wrapper { 2 | padding-top: 1rem; 3 | text-align: center; } 4 | 5 | .esh-pager-item { 6 | margin: 0 5vw; } 7 | .esh-pager-item.is-disabled { 8 | opacity: .5; 9 | pointer-events: none; } 10 | .esh-pager-item--navigable { 11 | cursor: pointer; 12 | display: inline-block; } 13 | .esh-pager-item--navigable:hover { 14 | color: #83D01B; } 15 | @media screen and (max-width: 1280px) { 16 | .esh-pager-item { 17 | font-size: 0.85rem; } } 18 | @media screen and (max-width: 1024px) { 19 | .esh-pager-item { 20 | margin: 0 2.5vw; } } 21 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/shared/components/pager/pager.min.css: -------------------------------------------------------------------------------- 1 | .esh-pager-wrapper{padding-top:1rem;text-align:center;}.esh-pager-item{margin:0 5vw;}.esh-pager-item.is-disabled{opacity:.5;pointer-events:none;}.esh-pager-item--navigable{cursor:pointer;display:inline-block;}.esh-pager-item--navigable:hover{color:#83d01b;}@media screen and (max-width:1280px){.esh-pager-item{font-size:.85rem;}}@media screen and (max-width:1024px){.esh-pager-item{margin:0 2.5vw;}} -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/shared/components/pager/pager.scss: -------------------------------------------------------------------------------- 1 | @import '../../../variables.scss'; 2 | 3 | .esh-pager { 4 | 5 | &-wrapper { 6 | padding-top: 1rem; 7 | text-align: center; 8 | } 9 | 10 | &-item { 11 | $margin: 5vw; 12 | margin: 0 $margin; 13 | 14 | &.is-disabled { 15 | opacity: .5; 16 | pointer-events: none; 17 | } 18 | 19 | &--navigable { 20 | cursor: pointer; 21 | display: inline-block; 22 | 23 | &:hover { 24 | color: $color-secondary; 25 | } 26 | } 27 | 28 | @media screen and (max-width: $media-screen-l) { 29 | font-size: $font-size-s; 30 | } 31 | 32 | @media screen and (max-width: $media-screen-m) { 33 | margin: 0 $margin / 2; 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | /* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | for details on configuring this project to bundle and minify static web assets. */ 3 | 4 | a.navbar-brand { 5 | white-space: normal; 6 | text-align: center; 7 | word-break: break-all; 8 | } 9 | 10 | /* Sticky footer styles 11 | -------------------------------------------------- */ 12 | html { 13 | font-size: 14px; 14 | } 15 | @media (min-width: 768px) { 16 | html { 17 | font-size: 16px; 18 | } 19 | } 20 | 21 | .border-top { 22 | border-top: 1px solid #e5e5e5; 23 | } 24 | .border-bottom { 25 | border-bottom: 1px solid #e5e5e5; 26 | } 27 | 28 | .box-shadow { 29 | box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); 30 | } 31 | 32 | button.accept-policy { 33 | font-size: 1rem; 34 | line-height: inherit; 35 | } 36 | 37 | /* Sticky footer styles 38 | -------------------------------------------------- */ 39 | html { 40 | position: relative; 41 | min-height: 100%; 42 | } 43 | 44 | body { 45 | /* Margin bottom by footer height */ 46 | margin-bottom: 60px; 47 | } 48 | .footer { 49 | position: absolute; 50 | bottom: 0; 51 | width: 100%; 52 | white-space: nowrap; 53 | /* Set the fixed height of the footer here */ 54 | height: 60px; 55 | line-height: 60px; /* Vertically center the text there */ 56 | } 57 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/favicon.ico -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Bold.eot -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Bold.ttf -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Bold.woff -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Bold.woff2 -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Regular.eot -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Regular.ttf -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Regular.woff -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/fonts/Montserrat-Regular.woff2 -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/arrow-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/arrow-down.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/arrow-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/brand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/brand.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/cart.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/logout.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/main_banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/main_banner.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/main_banner_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/main_banner_text.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/my_orders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/my_orders.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/1.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/10.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/11.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/12.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/2.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/3.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/4.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/5.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/6.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/7.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/8.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/images/products/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/images/products/9.png -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. 2 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/js/site.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/js/site.min.js -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/lib/Vazor/Vazor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VBAndCs/Vazor-DotNetCore2/feaaac81dc5a41f5992cfe0ef3d619ebe014cbaa/eShopOnWeb.vazor/Web.VB/wwwroot/lib/Vazor/Vazor.dll -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2018 Twitter, Inc. 4 | Copyright (c) 2011-2018 The Bootstrap Authors 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) .NET Foundation. All rights reserved. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use 4 | these files except in compliance with the License. You may obtain a copy of the 5 | License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software distributed 10 | under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 11 | CONDITIONS OF ANY KIND, either express or implied. See the License for the 12 | specific language governing permissions and limitations under the License. 13 | -------------------------------------------------------------------------------- /eShopOnWeb.vazor/Web.VB/wwwroot/lib/jquery-validation/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright Jörn Zaefferer 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | --------------------------------------------------------------------------------