Use this area to provide additional information.
8 |
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/Views/Home/Components/Customers/Default.cshtml:
--------------------------------------------------------------------------------
1 | @model List
2 |
3 |
4 | @foreach (var item in Model)
5 | {
6 | - @item
7 | }
8 |
9 |
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/Views/Home/Contact.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Contact";
3 | }
4 | @ViewData["Title"].
5 | @ViewData["Message"]
6 |
7 |
8 | One Microsoft Way
9 | Redmond, WA 98052-6399
10 | P:
11 | 425.555.0100
12 |
13 |
14 |
15 | Support: Support@example.com
16 | Marketing: Marketing@example.com
17 |
18 |
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @model TagHelpersAndViewComponents.Models.Person
2 | @{
3 | ViewData["Title"] = "Tag Helpers and ViewComponent Example";
4 | }
5 |
6 | Map Tag Helper
7 |
8 |
9 |
10 |
11 |
13 |
14 |
15 | Customers View Component
16 |
17 | @await Component.InvokeAsync("Customers", new { max = 10 })
18 |
19 |
20 |
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using TagHelpersAndViewComponents
2 | @using TagHelpersAndViewComponents.Models
3 | @using TagHelpersAndViewComponents.ViewComponents
4 |
5 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
6 | @addTagHelper *, TagHelpersAndViewComponents
7 |
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "ApplicationInsights": {
3 | "InstrumentationKey": ""
4 | },
5 | "Logging": {
6 | "IncludeScopes": false,
7 | "LogLevel": {
8 | "Default": "Debug",
9 | "System": "Information",
10 | "Microsoft": "Information"
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/_references.js:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea{max-width:280px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}@media screen and (max-width:767px){.carousel-caption{display:none}}
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/6. Views/TagHelpersAndViewComponents/src/TagHelpersAndViewComponents/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/CookieAuthentication.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/Models/ErrorViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace CookieAuthentication.Models
4 | {
5 | public class ErrorViewModel
6 | {
7 | public string RequestId { get; set; }
8 |
9 | public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
10 | }
11 | }
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/Views/Account/Forbidden.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Forbidden";
3 | }
4 |
5 | You Shall Not Pass! (forbidden)
6 |
7 |
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @using System.Security.Claims;
2 |
3 | @if (!User.Identities.Any(u => u.IsAuthenticated))
4 | {
5 | Hello there unauthenticated user!
6 | }
7 | else
8 | {
9 |
10 | Hello @User.Identities.First(u => u.IsAuthenticated && u.HasClaim(c => c.Type == ClaimTypes.Name)).FindFirst(ClaimTypes.Name).Value
11 |
12 | Claims:
13 |
14 | @foreach (var claim in User.Claims)
15 | {
16 | - @claim.Type: @claim.Value
17 | }
18 |
19 | }
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/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 |
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using CookieAuthentication
2 | @using CookieAuthentication.Models
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Debug",
5 | "System": "Information",
6 | "Microsoft": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | },
7 | "AllowedHosts": "*"
8 | }
9 |
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/readme.md:
--------------------------------------------------------------------------------
1 | ## Features Show In this Demo
2 |
3 | * Cookie authentication (custom solution) and required middleware (Startup.cs)
4 | * How to create a ClaimsIdentity (Controllers/AccountController.cs)
5 | * How to create a ClaimsPrincipal (Controllers/AccountController.cs)
6 | * How to use HttpContext.SignInAsync() to set a cookie (Controllers/AccountController.cs)
7 | * How to create a cookie validator (CookieValidator.cs)
8 | * How to add multiple claims to a ClaimsPrincipal (Controllers/AccountController.cs)
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}#qrCode{margin:15px}@media screen and (max-width:767px){.carousel-caption{display:none}}
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/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 |
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/8. Security/CookieAuthentication/CookieAuthentication/wwwroot/lib/bootstrap/dist/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/8. Security/OAuth/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "2.0.0",
3 | "tasks": [
4 | {
5 | "label": "build",
6 | "command": "dotnet",
7 | "type": "process",
8 | "args": [
9 | "build",
10 | "${workspaceFolder}/UsingOAuth.csproj"
11 | ],
12 | "problemMatcher": "$msCompile"
13 | }
14 | ]
15 | }
--------------------------------------------------------------------------------
/8. Security/OAuth/Controllers/AuthenticationController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Security.Claims;
3 | using System.Threading.Tasks;
4 | using Microsoft.AspNetCore.Authentication;
5 | using Microsoft.AspNetCore.Mvc;
6 | using UsingOAuth.Models;
7 |
8 | public class AuthenticationController : Controller
9 | {
10 | [HttpGet]
11 | public IActionResult Login(string returnUrl = "/")
12 | {
13 | return Challenge(new AuthenticationProperties() { RedirectUri = returnUrl });
14 | }
15 | }
--------------------------------------------------------------------------------
/8. Security/OAuth/Controllers/CustomersController.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Authorization;
2 | using Microsoft.AspNetCore.Mvc;
3 | using UsingOAuth.Models;
4 |
5 | namespace UsingOAuth.Controllers
6 | {
7 | [Authorize]
8 | [Route("api/[controller]")]
9 | public class CustomersController : Controller
10 | {
11 | public IActionResult Get()
12 | {
13 | return Ok(new Customer { Id=1, Name="John Doe", City="Phoenix" });
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/8. Security/OAuth/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | namespace UsingOAuth.Models
2 | {
3 | public class Customer
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | public string City { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/8. Security/OAuth/Models/ErrorViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace UsingOAuth.Models
4 | {
5 | public class ErrorViewModel
6 | {
7 | public string RequestId { get; set; }
8 |
9 | public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
10 | }
11 | }
--------------------------------------------------------------------------------
/8. Security/OAuth/Models/OAuthUser.cs:
--------------------------------------------------------------------------------
1 | namespace UsingOAuth.Models
2 | {
3 | public class OAuthUser
4 | {
5 | public string Name { get; set; }
6 | public string AccessToken { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/8. Security/OAuth/OAuth.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/8. Security/OAuth/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace UsingOAuth
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | CreateWebHostBuilder(args).Build().Run();
11 | }
12 |
13 | public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/8. Security/OAuth/Views/Home/About.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "About";
3 | }
4 | @ViewData["Title"]
5 | @ViewData["Message"]
6 |
7 | Use this area to provide additional information.
8 |
--------------------------------------------------------------------------------
/8. Security/OAuth/Views/Home/Contact.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Contact";
3 | }
4 | @ViewData["Title"]
5 | @ViewData["Message"]
6 |
7 |
8 | One Microsoft Way
9 | Redmond, WA 98052-6399
10 | P:
11 | 425.555.0100
12 |
13 |
14 |
15 | Support: Support@example.com
16 | Marketing: Marketing@example.com
17 |
18 |
--------------------------------------------------------------------------------
/8. Security/OAuth/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 |
--------------------------------------------------------------------------------
/8. Security/OAuth/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using UsingOAuth
2 | @using UsingOAuth.Models
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/8. Security/OAuth/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/8. Security/OAuth/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Debug",
5 | "System": "Information",
6 | "Microsoft": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/8. Security/OAuth/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | },
7 | "AllowedHosts": "*",
8 | "OAuth": {
9 | "GitHub": {
10 | "ClientId": "34ae243e76299298cf52",
11 | "ClientSecret": "0d8513e8a8c5783668973fa3157cb0c2d8825a5f"
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/8. Security/OAuth/readme.md:
--------------------------------------------------------------------------------
1 | ## Demonstration of Using OAuth with ASP.NET Core
2 |
3 | 1. Register the custom application at https://github.com/settings/developers
4 | 1. The callback URL should be http://localhost:5000/authentication/signedin
5 | 1. Run the following commands:
6 |
7 | `dotnet restore`
8 | `dotnet build`
9 | `dotnet run`
10 |
11 | 1. Visit http://localhost:5000
12 |
13 | Details about the Github OAuth Apps API:
14 |
15 | https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/
--------------------------------------------------------------------------------
/8. Security/OAuth/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}#qrCode{margin:15px}@media screen and (max-width:767px){.carousel-caption{display:none}}
--------------------------------------------------------------------------------
/8. Security/OAuth/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/OAuth/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/8. Security/OAuth/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 |
--------------------------------------------------------------------------------
/8. Security/OAuth/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/OAuth/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/8. Security/OAuth/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/OAuth/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/8. Security/OAuth/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/OAuth/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/8. Security/OAuth/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/OAuth/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/8. Security/OAuth/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/OAuth/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/8. Security/OAuth/wwwroot/lib/bootstrap/dist/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/8. Security/OAuth/wwwroot/lib/jquery-validation-unobtrusive/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery-validation-unobtrusive",
3 | "homepage": "https://github.com/aspnet/jquery-validation-unobtrusive",
4 | "version": "3.2.9",
5 | "_release": "3.2.9",
6 | "_resolution": {
7 | "type": "version",
8 | "tag": "v3.2.9",
9 | "commit": "a91f5401898e125f10771c5f5f0909d8c4c82396"
10 | },
11 | "_source": "https://github.com/aspnet/jquery-validation-unobtrusive.git",
12 | "_target": "^3.2.9",
13 | "_originalSource": "jquery-validation-unobtrusive",
14 | "_direct": true
15 | }
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/Areas/Identity/Pages/Account/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using UsingIdentity.Areas.Identity.Pages.Account
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/Areas/Identity/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using Microsoft.AspNetCore.Identity
2 | @using UsingIdentity.Areas.Identity
3 | @using UsingIdentity.Models
4 | @namespace UsingIdentity.Areas.Identity.Pages
5 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
6 |
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/Areas/Identity/Pages/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 |
2 | @{
3 | Layout = "/Views/Shared/_Layout.cshtml";
4 | }
5 |
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/Data/ApplicationDbContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
2 | using Microsoft.EntityFrameworkCore;
3 | using UsingIdentity.Models;
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Threading.Tasks;
8 |
9 | namespace UsingIdentity.Data
10 | {
11 | public class ApplicationDbContext : IdentityDbContext
12 | {
13 | public ApplicationDbContext(DbContextOptions options) : base(options) { }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/Models/ApplicationUser.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Identity;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 |
7 | namespace UsingIdentity.Models
8 | {
9 | public class ApplicationUser : IdentityUser
10 | {
11 | public bool SubscribeToNewsletter { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/Models/ErrorViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace UsingIdentity.Models
4 | {
5 | public class ErrorViewModel
6 | {
7 | public string RequestId { get; set; }
8 |
9 | public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
10 | }
11 | }
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @using System.Security.Claims;
2 | @{
3 | ViewData["Title"] = "Home Page";
4 | }
5 |
6 | @if (!User.Identity.IsAuthenticated)
7 | {
8 | Hello there unauthenticated user!
9 | }
10 | else
11 | {
12 |
13 | Hello @User.Identity.Name
14 |
15 |
16 | Claims:
17 |
18 | @foreach (var claim in User.Claims)
19 | {
20 | - @claim.Type: @claim.Value
21 | }
22 |
23 | }
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/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 |
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using UsingIdentity
2 | @using UsingIdentity.Models
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Debug",
5 | "System": "Information",
6 | "Microsoft": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/solvedIssues.md:
--------------------------------------------------------------------------------
1 | ## No service for type 'Microsoft.AspNetCore.Identity.UserManager`1[Microsoft.AspNetCore.Identity.IdentityUser]' has been registered
2 |
3 | When customizing the IdentityUser (with ApplicationUser for example), you need to make sure that ApplicationUser is used everywhere.
4 | If your code builds and you get the error above, check Shared/_LoginPartial.cshtml and make sure any injected security types
5 | also use your custom user (such as ApplicationUser).
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}#qrCode{margin:15px}@media screen and (max-width:767px){.carousel-caption{display:none}}
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/UsingIdentity/UsingIdentity/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/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 |
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/UsingIdentity/UsingIdentity/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/UsingIdentity/UsingIdentity/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/UsingIdentity/UsingIdentity/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/UsingIdentity/UsingIdentity/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/8. Security/UsingIdentity/UsingIdentity/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/wwwroot/lib/bootstrap/dist/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/8. Security/UsingIdentity/UsingIdentity/wwwroot/lib/jquery-validation-unobtrusive/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery-validation-unobtrusive",
3 | "homepage": "https://github.com/aspnet/jquery-validation-unobtrusive",
4 | "version": "3.2.9",
5 | "_release": "3.2.9",
6 | "_resolution": {
7 | "type": "version",
8 | "tag": "v3.2.9",
9 | "commit": "a91f5401898e125f10771c5f5f0909d8c4c82396"
10 | },
11 | "_source": "https://github.com/aspnet/jquery-validation-unobtrusive.git",
12 | "_target": "^3.2.9",
13 | "_originalSource": "jquery-validation-unobtrusive",
14 | "_direct": true
15 | }
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/EFCRUD.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 | 1bed25c0-6c42-499e-8823-24bbff9ddf26
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/Models/ErrorViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace EFCRUD.Models
4 | {
5 | public class ErrorViewModel
6 | {
7 | public string RequestId { get; set; }
8 |
9 | public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
10 | }
11 | }
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/Repository/IMoviesRepository.cs:
--------------------------------------------------------------------------------
1 | using EFCRUD.Models;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 |
7 | namespace EFCRUD.Repository
8 | {
9 | public interface IMoviesRepository : IDisposable
10 | {
11 | Task CreateAsync(Movie movie);
12 | Task DeleteAsync(int id);
13 | Task EditAsync(Movie movie);
14 | Task FindAsync(int id);
15 | Task> ListAsync();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using EFCRUD
2 | @using EFCRUD.Models
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Debug",
5 | "System": "Information",
6 | "Microsoft": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | },
7 | "AllowedHosts": "*",
8 | "ConnectionStrings": {
9 | "MoviesSqlServerConnectionString": "Server=(localdb)\\mssqllocaldb;Database=Movies;Trusted_Connection=True;MultipleActiveResultSets=true",
10 | "MoviesSqliteConnectionString": "Data Source=Movies.sqlite"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/readme.md:
--------------------------------------------------------------------------------
1 | ## Create, Read, Create, Delete (CRUD) Demo with EF Core
2 |
3 | * Learn how to create a model class
4 | * Learn how to create a DbContext class (Repository/MoviesDbContext.cs)
5 | * Learn how to create a data repository (data access) class that uses DbContext for CRUD (Repository/MoviesRepository)
6 | * Use MoviesRepository to interact with the database and display/capture data (Controllers/MoviesController.cs)
7 | * Learn how to register EF middleware (Startup.cs)
8 | * Learn how to inject custom types using dependency injection (Startup.cs)
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}#qrCode{margin:15px}@media screen and (max-width:767px){.carousel-caption{display:none}}
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/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 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/lib/bootstrap/dist/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/9. EntityFramework/EFCRUD/EFCRUD/wwwroot/lib/jquery-validation-unobtrusive/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery-validation-unobtrusive",
3 | "homepage": "https://github.com/aspnet/jquery-validation-unobtrusive",
4 | "version": "3.2.9",
5 | "_release": "3.2.9",
6 | "_resolution": {
7 | "type": "version",
8 | "tag": "v3.2.9",
9 | "commit": "a91f5401898e125f10771c5f5f0909d8c4c82396"
10 | },
11 | "_source": "https://github.com/aspnet/jquery-validation-unobtrusive.git",
12 | "_target": "^3.2.9",
13 | "_originalSource": "jquery-validation-unobtrusive",
14 | "_direct": true
15 | }
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/EFCore.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/Models/Distributor.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace EFCore.Models
7 | {
8 | public class Distributor
9 | {
10 | public int Id { get; set; }
11 | public string Name { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/Models/Movie.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel.DataAnnotations.Schema;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 |
7 | namespace EFCore.Models
8 | {
9 | public class Movie
10 | {
11 | public int Id { get; set; }
12 | public string Title { get; set; }
13 | public string Director { get; set; }
14 |
15 | public virtual Distributor Distributor { get; set; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/Movies.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCore/src/EFCore/Movies.sqlite
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace EFCore
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | CreateWebHostBuilder(args).Build().Run();
11 | }
12 |
13 | public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/Repository/IMoviesRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using EFCore.Models;
4 |
5 | namespace EFCore.Repository
6 | {
7 | public interface IMoviesRepository
8 | {
9 | Task> GetMovies();
10 | Task> GetRawMovies();
11 | Task> GetDistributors();
12 | }
13 | }
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/Views/Distributors/Index.cshtml:
--------------------------------------------------------------------------------
1 | @model List
2 | @{
3 | ViewData["Title"] = "Distributors";
4 | }
5 |
6 | Distributors
7 |
8 |
9 |
10 | Name |
11 |
12 | @foreach (var dist in Model)
13 | {
14 |
15 | @dist.Name |
16 |
17 | }
18 |
19 |
20 |
21 | View Movies
22 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using EFCore
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionStrings": {
3 | "MoviesSqlite": "Data Source=Movies.sqlite",
4 | "Movies": "Server=(localdb)\\mssqllocaldb;Database=Movies;Trusted_Connection=True;MultipleActiveResultSets=true"
5 | },
6 | "ApplicationInsights": {
7 | "InstrumentationKey": ""
8 | },
9 | "Logging": {
10 | "IncludeScopes": false,
11 | "LogLevel": {
12 | "Default": "Debug",
13 | "System": "Information",
14 | "Microsoft": "Information"
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/wwwroot/_references.js:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea{max-width:280px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}@media screen and (max-width:767px){.carousel-caption{display:none}}
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCore/src/EFCore/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCore/src/EFCore/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCore/src/EFCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCore/src/EFCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCore/src/EFCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/9. EntityFramework/EFCore/src/EFCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/9. EntityFramework/EFCore/src/EFCore/wwwroot/lib/bootstrap/dist/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/CreatingAndUsingCustomMiddleware.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace CreatingAndUsingCustomMiddleware
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | CreateWebHostBuilder(args).Build().Run();
11 | }
12 |
13 | public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/Views/Home/About.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "About";
3 | }
4 | @ViewData["Title"].
5 | @ViewData["Message"]
6 |
7 | Use this area to provide additional information.
8 |
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using CreatingAndUsingCustomMiddleware
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 |
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea{max-width:280px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}@media screen and (max-width:767px){.carousel-caption{display:none}}
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Creating And Using Custom Middleware/End/CreatingAndUsingCustomMiddleware/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/.dockerignore:
--------------------------------------------------------------------------------
1 | .dockerignore
2 | .env
3 | .git
4 | .gitignore
5 | .vs
6 | .vscode
7 | docker-compose.yml
8 | docker-compose.*.yml
9 | */bin
10 | */obj
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.1.0",
3 | "command": "dotnet",
4 | "isShellCommand": true,
5 | "args": [],
6 | "tasks": [
7 | {
8 | "taskName": "build",
9 | "args": [
10 | "${workspaceRoot}/Angular-ASPNET-Core-CustomersService/Angular_ASPNETCore_CustomersService.csproj"
11 | ],
12 | "isBuildCommand": true,
13 | "problemMatcher": "$msCompile"
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/.dockerignore:
--------------------------------------------------------------------------------
1 | *
2 | !obj/Docker/publish/*
3 | !obj/Docker/empty/
4 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.1.0",
3 | "command": "dotnet",
4 | "isShellCommand": true,
5 | "args": [],
6 | "tasks": [
7 | {
8 | "taskName": "build",
9 | "args": [
10 | "${workspaceRoot}/Angular_ASPNETCore_CustomersService.csproj"
11 | ],
12 | "isBuildCommand": true,
13 | "problemMatcher": "$msCompile"
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/Models/ApiResponse.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Mvc.ModelBinding;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 |
7 | namespace MonolithToMicroservices.Models
8 | {
9 | public class ApiResponse
10 | {
11 | public bool Status { get; set; }
12 | public Customer Customer { get; set; }
13 | public ModelStateDictionary ModelState { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/Models/ApiSettings.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace MonolithToMicroservices.Models
7 | {
8 | public class ApiSettings : IApiSettings
9 | {
10 | public string CustomersUri { get; set; }
11 | public string LookupUri { get; set; }
12 | public string CustomerOrdersUri { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/Models/CustomerViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace MonolithToMicroservices.Models
7 | {
8 | public class CustomerViewModel
9 | {
10 | public Customer Customer { get; set; }
11 | public List States { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/Models/IApiSettings.cs:
--------------------------------------------------------------------------------
1 | namespace MonolithToMicroservices.Models
2 | {
3 | public interface IApiSettings
4 | {
5 | string CustomersUri { get; set; }
6 | string LookupUri { get; set; }
7 | string CustomerOrdersUri { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace MonolithToMicroservices.Models
2 | {
3 | public class Order
4 | {
5 | public int Id { get; set; }
6 | public string Product { get; set; }
7 | public int Quantity { get; set; }
8 | public decimal Price { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/Models/State.cs:
--------------------------------------------------------------------------------
1 | namespace MonolithToMicroservices.Models
2 | {
3 | public class State
4 | {
5 | public int Id { get; set; }
6 | public string Abbreviation { get; set; }
7 | public string Name { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/Repository/ILookupRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using MonolithToMicroservices.Models;
4 |
5 | namespace MonolithToMicroservices.Repository
6 | {
7 | public interface ILookupRepository
8 | {
9 | Task> GetStatesAsync();
10 | }
11 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/Views/Shared/Error.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Error";
3 | }
4 |
5 | Error.
6 | An error occurred while processing your request.
7 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using MonolithToMicroservices
2 | @using MonolithToMicroservices.Models
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/app.dev.dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/dotnet:sdk
2 |
3 | LABEL author="Dan Wahlin"
4 |
5 | ENV DOTNET_USE_POLLING_FILE_WATCHER=1
6 | ENV ASPNETCORE_URLS=http://*:80
7 |
8 | WORKDIR /var/www/app
9 |
10 | ENTRYPOINT ["/bin/bash", "-c", "dotnet restore && dotnet watch run"]
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Warning"
6 | }
7 | },
8 | "ApiSettings": {
9 | "LookupUri": "http://lookup.api/api/v1/lookup",
10 | "CustomersUri": "http://customers.api/api/v1/customers",
11 | "CustomerOrdersUri": "http://customers.api/api/v1/orders"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/wwwroot/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/wwwroot/images/favicon.ico
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/wwwroot/images/female.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/wwwroot/images/female.png
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/wwwroot/images/male.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/wwwroot/images/male.png
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/wwwroot/images/people.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Microservices/MonolithToMicroservices/wwwroot/images/people.png
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/README.md:
--------------------------------------------------------------------------------
1 | # Angular, ASP.NET Core Customers Service Application
2 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/Customers.API.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 | ..\..\docker-compose.dcproj
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/Customers.API.dev.dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/dotnet:sdk
2 |
3 | LABEL author="Dan Wahlin"
4 |
5 | ENV DOTNET_USE_POLLING_FILE_WATCHER=1
6 | ENV ASPNETCORE_URLS=http://*:80
7 |
8 | WORKDIR /var/www/app
9 |
10 | ENTRYPOINT ["/bin/bash", "-c", "dotnet restore && dotnet watch run"]
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/Customers.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/Customers.sqlite
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/Models/ApiResponse.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Mvc.ModelBinding;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 |
7 | namespace Customers.API.Models
8 | {
9 | public class ApiResponse
10 | {
11 | public bool Status { get; set; }
12 | public Customer Customer { get; set; }
13 | public ModelStateDictionary ModelState { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace Customers.API.Models {
2 | public class Order {
3 | public int Id { get; set; }
4 | public string Product { get; set; }
5 | public int Quantity { get; set; }
6 | public decimal Price { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/Models/PagingResult.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace Customers.API.Models
7 | {
8 | public struct PagingResult
9 | {
10 | public IEnumerable Records { get; set; }
11 | public int TotalRecords { get; set; }
12 |
13 | public PagingResult(IEnumerable items, int totalRecords)
14 | {
15 | TotalRecords = totalRecords;
16 | Records = items;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/Models/State.cs:
--------------------------------------------------------------------------------
1 | namespace Customers.API.Models
2 | {
3 | public class State
4 | {
5 | public int Id { get; set; }
6 | public string Abbreviation { get; set; }
7 | public string Name { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/Repository/CustomersDbContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 | using Customers.API.Models;
3 |
4 | namespace Customers.API.Repository
5 | {
6 | public class CustomersDbContext : DbContext
7 | {
8 | public DbSet Customers { get; set; }
9 | public DbSet Orders { get; set; }
10 |
11 | public CustomersDbContext (DbContextOptions options) : base(options) { }
12 | }
13 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/Repository/ICustomerOrdersRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using Customers.API.Models;
4 |
5 | namespace Customers.API.Repository
6 | {
7 | public interface ICustomerOrdersRepository
8 | {
9 | Task GetCustomerOrdersAsync(int id);
10 | }
11 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/Repository/IOrdersRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using Customers.API.Models;
4 |
5 | namespace Customers.API.Repository
6 | {
7 | public interface IOrdersRepository
8 | {
9 | Task GetCustomerOrdersAsync(int id);
10 | }
11 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Customers.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Warning"
6 | }
7 | },
8 | "ConnectionStrings": {
9 | "CustomersSqliteConnectionString": "Data Source=Customers.sqlite"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Lookup.API/.dockerignore:
--------------------------------------------------------------------------------
1 | *
2 | !obj/Docker/publish/*
3 | !obj/Docker/empty/
4 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Lookup.API/Lookup.API.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 | ..\..\docker-compose.dcproj
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Lookup.API/Lookup.API.dev.dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/dotnet:sdk
2 |
3 | LABEL author="Dan Wahlin"
4 |
5 | ENV DOTNET_USE_POLLING_FILE_WATCHER=1
6 | ENV ASPNETCORE_URLS=http://*:80
7 |
8 | WORKDIR /var/www/app
9 |
10 | ENTRYPOINT ["/bin/bash", "-c", "dotnet restore && dotnet watch run"]
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Lookup.API/Lookup.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Microservices/Services/Lookup.API/Lookup.sqlite
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Lookup.API/Models/ApiResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace Lookup.API.Models
7 | {
8 | public class ApiResponse
9 | {
10 | public bool Status { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Lookup.API/Models/State.cs:
--------------------------------------------------------------------------------
1 | namespace Lookup.API.Models
2 | {
3 | public class State
4 | {
5 | public int Id { get; set; }
6 | public string Abbreviation { get; set; }
7 | public string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Lookup.API/Repository/ILookupRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using Lookup.API.Models;
4 |
5 | namespace Lookup.API.Repository
6 | {
7 | public interface ILookupRepository
8 | {
9 | Task> GetStatesAsync();
10 | }
11 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Lookup.API/Repository/LookupDbContext.cs:
--------------------------------------------------------------------------------
1 | using Lookup.API.Models;
2 | using Microsoft.EntityFrameworkCore;
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Threading.Tasks;
7 |
8 | namespace Lookup.API.Repository
9 | {
10 | public class LookupDbContext : DbContext
11 | {
12 | public DbSet States { get; set; }
13 |
14 | public LookupDbContext(DbContextOptions options) : base(options) { }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Lookup.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/Services/Lookup.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Warning"
6 | }
7 | },
8 | "ConnectionStrings": {
9 | "LookupSqliteConnectionString": "Data Source=Lookup.sqlite"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/docker-compose.override.yml:
--------------------------------------------------------------------------------
1 | version: '3.4'
2 |
3 | services:
4 | customers.api:
5 | environment:
6 | - ASPNETCORE_ENVIRONMENT=Development
7 | ports:
8 | - "80"
9 |
10 | lookup.api:
11 | environment:
12 | - ASPNETCORE_ENVIRONMENT=Development
13 | ports:
14 | - "80"
15 |
16 | monolithtomicroservices:
17 | environment:
18 | - ASPNETCORE_ENVIRONMENT=Development
19 | ports:
20 | - "80"
21 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Microservices/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3.4'
2 |
3 | services:
4 | customers.api:
5 | image: customers.api
6 | build:
7 | context: ./Services/Customers.API
8 | dockerfile: Dockerfile
9 |
10 | lookup.api:
11 | image: lookup.api
12 | build:
13 | context: ./Services/Lookup.API
14 | dockerfile: Dockerfile
15 |
16 | monolithtomicroservices:
17 | image: monolithtomicroservices
18 | build:
19 | context: ./MonolithToMicroservices
20 | dockerfile: Dockerfile
21 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.1.0",
3 | "command": "dotnet",
4 | "isShellCommand": true,
5 | "args": [],
6 | "tasks": [
7 | {
8 | "taskName": "build",
9 | "args": [
10 | "${workspaceRoot}/Angular-ASPNET-Core-CustomersService/Angular_ASPNETCore_CustomersService.csproj"
11 | ],
12 | "isBuildCommand": true,
13 | "problemMatcher": "$msCompile"
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.1.0",
3 | "command": "dotnet",
4 | "isShellCommand": true,
5 | "args": [],
6 | "tasks": [
7 | {
8 | "taskName": "build",
9 | "args": [
10 | "${workspaceRoot}/Angular_ASPNETCore_CustomersService.csproj"
11 | ],
12 | "isBuildCommand": true,
13 | "problemMatcher": "$msCompile"
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/Customers.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/Customers.sqlite
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/Models/CustomerViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace MonolithToMicroservices.Models
7 | {
8 | public class CustomerViewModel
9 | {
10 | public Customer Customer { get; set; }
11 | public List States { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace MonolithToMicroservices.Models {
2 | public class Order {
3 | public int Id { get; set; }
4 | public string Product { get; set; }
5 | public int Quantity { get; set; }
6 | public decimal Price { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/Models/State.cs:
--------------------------------------------------------------------------------
1 | namespace MonolithToMicroservices.Models {
2 | public class State {
3 | public int Id { get; set; }
4 | public string Abbreviation { get; set; }
5 | public string Name { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/MonolithToMicroservices.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/Repository/CustomersDbContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 | using MonolithToMicroservices.Models;
3 |
4 | namespace MonolithToMicroservices.Repository
5 | {
6 | public class CustomersDbContext : DbContext
7 | {
8 | public DbSet Customers { get; set; }
9 | public DbSet Orders { get; set; }
10 | public DbSet States { get; set; }
11 |
12 | public CustomersDbContext (DbContextOptions options) : base(options) { }
13 | }
14 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/Repository/ILookupRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using MonolithToMicroservices.Models;
4 |
5 | namespace MonolithToMicroservices.Repository
6 | {
7 | public interface ILookupRepository
8 | {
9 | Task> GetStatesAsync();
10 | }
11 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/Repository/IOrdersRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using MonolithToMicroservices.Models;
4 |
5 | namespace MonolithToMicroservices.Repository
6 | {
7 | public interface IOrdersRepository
8 | {
9 | Task GetCustomerOrdersAsync(int id);
10 | }
11 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/Views/Shared/Error.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Error";
3 | }
4 |
5 | Error.
6 | An error occurred while processing your request.
7 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using MonolithToMicroservices
2 | @using MonolithToMicroservices.Models
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/aspnetcore.development.dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/dotnet:sdk
2 |
3 | LABEL author="Dan Wahlin"
4 |
5 | ENV DOTNET_USE_POLLING_FILE_WATCHER=1
6 | ENV ASPNETCORE_URLS=http://*:5000
7 |
8 | EXPOSE 5000
9 |
10 | WORKDIR /var/www/aspnetcoreapp
11 |
12 | CMD ["/bin/bash", "-c", "dotnet restore && dotnet run"]
13 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3.4'
2 |
3 | services:
4 |
5 | web:
6 | container_name: 'aspnetcoreapp'
7 | image: 'aspnetcoreapp'
8 | build:
9 | context: .
10 | dockerfile: aspnetcore.development.dockerfile
11 | volumes:
12 | - .:/var/www/aspnetcoreapp
13 | ports:
14 | - "5000:5000"
15 | networks:
16 | - aspnetcoreapp-network
17 |
18 | networks:
19 | aspnetcoreapp-network:
20 | driver: bridge
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/wwwroot/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/wwwroot/images/favicon.ico
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/wwwroot/images/female.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/wwwroot/images/female.png
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/wwwroot/images/male.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/wwwroot/images/male.png
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/wwwroot/images/people.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/Begin/Monolithic/MonolithToMicroservices/wwwroot/images/people.png
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/Begin/Monolithic/README.md:
--------------------------------------------------------------------------------
1 | # Angular, ASP.NET Core Customers Service Application
2 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/.dockerignore:
--------------------------------------------------------------------------------
1 | .dockerignore
2 | .env
3 | .git
4 | .gitignore
5 | .vs
6 | .vscode
7 | docker-compose.yml
8 | docker-compose.*.yml
9 | */bin
10 | */obj
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.1.0",
3 | "command": "dotnet",
4 | "isShellCommand": true,
5 | "args": [],
6 | "tasks": [
7 | {
8 | "taskName": "build",
9 | "args": [
10 | "${workspaceRoot}/Angular-ASPNET-Core-CustomersService/Angular_ASPNETCore_CustomersService.csproj"
11 | ],
12 | "isBuildCommand": true,
13 | "problemMatcher": "$msCompile"
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/.dockerignore:
--------------------------------------------------------------------------------
1 | *
2 | !obj/Docker/publish/*
3 | !obj/Docker/empty/
4 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.1.0",
3 | "command": "dotnet",
4 | "isShellCommand": true,
5 | "args": [],
6 | "tasks": [
7 | {
8 | "taskName": "build",
9 | "args": [
10 | "${workspaceRoot}/Angular_ASPNETCore_CustomersService.csproj"
11 | ],
12 | "isBuildCommand": true,
13 | "problemMatcher": "$msCompile"
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/Models/ApiResponse.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Mvc.ModelBinding;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 |
7 | namespace MonolithToMicroservices.Models
8 | {
9 | public class ApiResponse
10 | {
11 | public bool Status { get; set; }
12 | public Customer Customer { get; set; }
13 | public ModelStateDictionary ModelState { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/Models/ApiSettings.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace MonolithToMicroservices.Models
7 | {
8 | public class ApiSettings : IApiSettings
9 | {
10 | public string CustomersUri { get; set; }
11 | public string LookupUri { get; set; }
12 | public string CustomerOrdersUri { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/Models/CustomerViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace MonolithToMicroservices.Models
7 | {
8 | public class CustomerViewModel
9 | {
10 | public Customer Customer { get; set; }
11 | public List States { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/Models/IApiSettings.cs:
--------------------------------------------------------------------------------
1 | namespace MonolithToMicroservices.Models
2 | {
3 | public interface IApiSettings
4 | {
5 | string CustomersUri { get; set; }
6 | string LookupUri { get; set; }
7 | string CustomerOrdersUri { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace MonolithToMicroservices.Models
2 | {
3 | public class Order
4 | {
5 | public int Id { get; set; }
6 | public string Product { get; set; }
7 | public int Quantity { get; set; }
8 | public decimal Price { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/Models/State.cs:
--------------------------------------------------------------------------------
1 | namespace MonolithToMicroservices.Models
2 | {
3 | public class State
4 | {
5 | public int Id { get; set; }
6 | public string Abbreviation { get; set; }
7 | public string Name { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/Repository/ILookupRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using MonolithToMicroservices.Models;
4 |
5 | namespace MonolithToMicroservices.Repository
6 | {
7 | public interface ILookupRepository
8 | {
9 | Task> GetStatesAsync();
10 | }
11 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/Views/Shared/Error.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Error";
3 | }
4 |
5 | Error.
6 | An error occurred while processing your request.
7 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using MonolithToMicroservices
2 | @using MonolithToMicroservices.Models
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/app.dev.dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/dotnet:sdk
2 |
3 | LABEL author="Dan Wahlin"
4 |
5 | ENV DOTNET_USE_POLLING_FILE_WATCHER=1
6 | ENV ASPNETCORE_URLS=http://*:80
7 |
8 | WORKDIR /var/www/app
9 |
10 | ENTRYPOINT ["/bin/bash", "-c", "dotnet restore && dotnet watch run"]
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Warning"
6 | }
7 | },
8 | "ApiSettings": {
9 | "LookupUri": "http://lookup.api/api/v1/lookup",
10 | "CustomersUri": "http://customers.api/api/v1/customers",
11 | "CustomerOrdersUri": "http://customers.api/api/v1/orders"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/wwwroot/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/wwwroot/images/favicon.ico
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/wwwroot/images/female.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/wwwroot/images/female.png
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/wwwroot/images/male.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/wwwroot/images/male.png
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/wwwroot/images/people.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/End/Microservices/MonolithToMicroservices/wwwroot/images/people.png
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/README.md:
--------------------------------------------------------------------------------
1 | # Angular, ASP.NET Core Customers Service Application
2 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/Customers.API.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 | ..\..\docker-compose.dcproj
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/Customers.API.dev.dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/dotnet:sdk
2 |
3 | LABEL author="Dan Wahlin"
4 |
5 | ENV DOTNET_USE_POLLING_FILE_WATCHER=1
6 | ENV ASPNETCORE_URLS=http://*:80
7 |
8 | WORKDIR /var/www/app
9 |
10 | ENTRYPOINT ["/bin/bash", "-c", "dotnet restore && dotnet watch run"]
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/Customers.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/Customers.sqlite
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/Models/ApiResponse.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Mvc.ModelBinding;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 |
7 | namespace Customers.API.Models
8 | {
9 | public class ApiResponse
10 | {
11 | public bool Status { get; set; }
12 | public Customer Customer { get; set; }
13 | public ModelStateDictionary ModelState { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace Customers.API.Models {
2 | public class Order {
3 | public int Id { get; set; }
4 | public string Product { get; set; }
5 | public int Quantity { get; set; }
6 | public decimal Price { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/Models/PagingResult.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace Customers.API.Models
7 | {
8 | public struct PagingResult
9 | {
10 | public IEnumerable Records { get; set; }
11 | public int TotalRecords { get; set; }
12 |
13 | public PagingResult(IEnumerable items, int totalRecords)
14 | {
15 | TotalRecords = totalRecords;
16 | Records = items;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/Models/State.cs:
--------------------------------------------------------------------------------
1 | namespace Customers.API.Models
2 | {
3 | public class State
4 | {
5 | public int Id { get; set; }
6 | public string Abbreviation { get; set; }
7 | public string Name { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/Repository/CustomersDbContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 | using Customers.API.Models;
3 |
4 | namespace Customers.API.Repository
5 | {
6 | public class CustomersDbContext : DbContext
7 | {
8 | public DbSet Customers { get; set; }
9 | public DbSet Orders { get; set; }
10 |
11 | public CustomersDbContext (DbContextOptions options) : base(options) { }
12 | }
13 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/Repository/ICustomerOrdersRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using Customers.API.Models;
4 |
5 | namespace Customers.API.Repository
6 | {
7 | public interface ICustomerOrdersRepository
8 | {
9 | Task GetCustomerOrdersAsync(int id);
10 | }
11 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/Repository/IOrdersRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using Customers.API.Models;
4 |
5 | namespace Customers.API.Repository
6 | {
7 | public interface IOrdersRepository
8 | {
9 | Task GetCustomerOrdersAsync(int id);
10 | }
11 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Customers.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Warning"
6 | }
7 | },
8 | "ConnectionStrings": {
9 | "CustomersSqliteConnectionString": "Data Source=Customers.sqlite"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Lookup.API/.dockerignore:
--------------------------------------------------------------------------------
1 | *
2 | !obj/Docker/publish/*
3 | !obj/Docker/empty/
4 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Lookup.API/Lookup.API.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 | ..\..\docker-compose.dcproj
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Lookup.API/Lookup.API.dev.dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/dotnet:sdk
2 |
3 | LABEL author="Dan Wahlin"
4 |
5 | ENV DOTNET_USE_POLLING_FILE_WATCHER=1
6 | ENV ASPNETCORE_URLS=http://*:80
7 |
8 | WORKDIR /var/www/app
9 |
10 | ENTRYPOINT ["/bin/bash", "-c", "dotnet restore && dotnet watch run"]
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Lookup.API/Lookup.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Monolith to Microservices/End/Microservices/Services/Lookup.API/Lookup.sqlite
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Lookup.API/Models/ApiResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace Lookup.API.Models
7 | {
8 | public class ApiResponse
9 | {
10 | public bool Status { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Lookup.API/Models/State.cs:
--------------------------------------------------------------------------------
1 | namespace Lookup.API.Models
2 | {
3 | public class State
4 | {
5 | public int Id { get; set; }
6 | public string Abbreviation { get; set; }
7 | public string Name { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Lookup.API/Repository/ILookupRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 | using Lookup.API.Models;
4 |
5 | namespace Lookup.API.Repository
6 | {
7 | public interface ILookupRepository
8 | {
9 | Task> GetStatesAsync();
10 | }
11 | }
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Lookup.API/Repository/LookupDbContext.cs:
--------------------------------------------------------------------------------
1 | using Lookup.API.Models;
2 | using Microsoft.EntityFrameworkCore;
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Threading.Tasks;
7 |
8 | namespace Lookup.API.Repository
9 | {
10 | public class LookupDbContext : DbContext
11 | {
12 | public DbSet States { get; set; }
13 |
14 | public LookupDbContext(DbContextOptions options) : base(options) { }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Lookup.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/Services/Lookup.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Warning"
6 | }
7 | },
8 | "ConnectionStrings": {
9 | "LookupSqliteConnectionString": "Data Source=Lookup.sqlite"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/docker-compose.override.yml:
--------------------------------------------------------------------------------
1 | version: '3.4'
2 |
3 | services:
4 | customers.api:
5 | environment:
6 | - ASPNETCORE_ENVIRONMENT=Development
7 | ports:
8 | - "80"
9 |
10 | lookup.api:
11 | environment:
12 | - ASPNETCORE_ENVIRONMENT=Development
13 | ports:
14 | - "80"
15 |
16 | monolithtomicroservices:
17 | environment:
18 | - ASPNETCORE_ENVIRONMENT=Development
19 | ports:
20 | - "80"
21 |
--------------------------------------------------------------------------------
/Labs/Monolith to Microservices/End/Microservices/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3.4'
2 |
3 | services:
4 | customers.api:
5 | image: customers.api
6 | build:
7 | context: ./Services/Customers.API
8 | dockerfile: Dockerfile
9 |
10 | lookup.api:
11 | image: lookup.api
12 | build:
13 | context: ./Services/Lookup.API
14 | dockerfile: Dockerfile
15 |
16 | monolithtomicroservices:
17 | image: monolithtomicroservices
18 | build:
19 | context: ./MonolithToMicroservices
20 | dockerfile: Dockerfile
21 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/.docker/wait-for-postgres.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | host="$1"
6 | shift
7 | cmd="$@"
8 |
9 | until psql -h "$host" -U "postgres" -c '\l'; do
10 | >&2 echo "Postgres is unavailable - sleeping"
11 | sleep 1
12 | done
13 |
14 | >&2 echo "Postgres is up - executing command"
15 | exec $cmd
16 |
17 | #Can call from docker-compose.yml by adding the following to dependent service entrypoint: ./.docker/wait-for-postgres.sh postgres:5432
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/AspNetCorePostgreSQLDockerApp.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Controllers/CustomersController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc;
6 |
7 | namespace AspNetCorePostgreSQLDockerApp.Controllers
8 | {
9 | public class CustomersController : Controller
10 | {
11 |
12 | public ActionResult Index()
13 | {
14 | return View();
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Models/DockerCommand.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace AspNetCorePostgreSQLDockerApp.Models {
5 |
6 | public class DockerCommand {
7 | public int Id { get; set; }
8 | public string Command { get; set; }
9 | public string Description { get; set; }
10 | public List Examples { get; set; }
11 | }
12 |
13 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Models/DockerCommandExample.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace AspNetCorePostgreSQLDockerApp.Models {
4 |
5 | public class DockerCommandExample {
6 | public int Id { get; set; }
7 | public string Example { get; set; }
8 | public string Description { get; set; }
9 | }
10 |
11 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace AspNetCorePostgreSQLDockerApp.Models {
2 | public class Order {
3 | public int Id { get; set; }
4 | public string Product { get; set; }
5 | public int Quantity { get; set; }
6 | public decimal Price { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Models/State.cs:
--------------------------------------------------------------------------------
1 | namespace AspNetCorePostgreSQLDockerApp.Models {
2 | public class State {
3 | public int Id { get; set; }
4 | public string Abbreviation { get; set; }
5 | public string Name { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace AspNetCorePostgreSQLDockerApp
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | CreateWebHostBuilder(args).Build().Run();
11 | }
12 |
13 | public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup();
16 | }
17 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Repository/CustomersDbContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 | using AspNetCorePostgreSQLDockerApp.Models;
3 |
4 | namespace AspNetCorePostgreSQLDockerApp.Repository
5 | {
6 | public class CustomersDbContext : DbContext
7 | {
8 | public DbSet Customers { get; set; }
9 | public DbSet Orders { get; set; }
10 | public DbSet States { get; set; }
11 |
12 | public CustomersDbContext (DbContextOptions options) : base(options) { }
13 | }
14 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Repository/DockerCommandsDbContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 | using AspNetCorePostgreSQLDockerApp.Models;
3 |
4 | namespace AspNetCorePostgreSQLDockerApp.Repository
5 | {
6 | public class DockerCommandsDbContext : DbContext
7 | {
8 | public DbSet DockerCommands { get; set; }
9 |
10 | public DockerCommandsDbContext(DbContextOptions options) : base(options) { }
11 | }
12 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Repository/IDockerCommandsRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 |
4 | using AspNetCorePostgreSQLDockerApp.Models;
5 |
6 | namespace AspNetCorePostgreSQLDockerApp.Repository
7 | {
8 | public interface IDockerCommandsRepository
9 | {
10 | Task> GetDockerCommandsAsync();
11 |
12 | Task InsertDockerCommandAsync(DockerCommand command);
13 | }
14 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Views/Shared/Error.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Error";
3 | }
4 |
5 | Error.
6 | An error occurred while processing your request.
7 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using AspNetCorePostgreSQLDockerApp
2 | @using AspNetCorePostgreSQLDockerApp.Models
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/aspnetcore.dockerfile:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/aspnetcore.dockerfile
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/docker-compose.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/docker-compose.yml
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "lib": [ "es2015", "dom" ],
10 | "removeComments": false,
11 | "noImplicitAny": true,
12 | "suppressImplicitAnyIndexErrors": true
13 | },
14 | "exclude": [
15 | "node_modules"
16 | ]
17 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/_references.js:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 | ///
8 | ///
9 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | moduleId: module.id,
5 | selector: 'app-container',
6 | template: ``
7 | })
8 | export class AppComponent {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/app/app.routing.ts:
--------------------------------------------------------------------------------
1 | import { RouterModule, Routes } from '@angular/router';
2 |
3 | import { CustomersComponent } from './customers/customers.component';
4 |
5 | const app_routes: Routes = [
6 | { path: '', pathMatch:'full', redirectTo: '/customers' },
7 | { path: 'Customers', component: CustomersComponent }
8 | ];
9 |
10 | export const app_routing = RouterModule.forRoot(app_routes);
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/app/main.ts:
--------------------------------------------------------------------------------
1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2 | import { enableProdMode } from '@angular/core';
3 |
4 | import { AppModule } from './app.module';
5 |
6 | //enableProdMode(); //Uncomment for production
7 | platformBrowserDynamic().bootstrapModule(AppModule)
8 | .then((success: any) => console.log('App bootstrapped'))
9 | .catch((err: any) => console.error(err));
10 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea,.alert-danger{max-width:300px}.toolbar-item a{cursor:pointer}input.ng-invalid,select.ng-invalid{border-left:5px solid #a94442}input.ng-valid,select.ng-valid{border-left:5px solid #42a948}
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/images/ASP-NET-Banners-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/images/ASP-NET-Banners-01.png
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/images/ASP-NET-Banners-02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/images/ASP-NET-Banners-02.png
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/images/Banner-01-Azure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/images/Banner-01-Azure.png
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/images/Banner-02-VS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/images/Banner-02-VS.png
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
1 | //# sourceMappingURL=/Users/DanWahlin/Dropbox/Projects/GitHub/AspNetCorePostgreSQLDockerApp/wwwroot/js/site.min.js.map
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/js/site.min.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version":3,
3 | "file":"/Users/DanWahlin/Dropbox/Projects/GitHub/AspNetCorePostgreSQLDockerApp/wwwroot/js/site.min.js",
4 | "lineCount":1,
5 | "mappings":"",
6 | "sources":[],
7 | "names":[]
8 | }
9 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/Begin/AspNetCorePostgreSQLDockerApp/wwwroot/web.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/.docker/wait-for-postgres.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | host="$1"
6 | shift
7 | cmd="$@"
8 |
9 | until psql -h "$host" -U "postgres" -c '\l'; do
10 | >&2 echo "Postgres is unavailable - sleeping"
11 | sleep 1
12 | done
13 |
14 | >&2 echo "Postgres is up - executing command"
15 | exec $cmd
16 |
17 | #Can call from docker-compose.yml by adding the following to dependent service entrypoint: ./.docker/wait-for-postgres.sh postgres:5432
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/AspNetCorePostgreSQLDockerApp.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Controllers/CustomersController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc;
6 |
7 | namespace AspNetCorePostgreSQLDockerApp.Controllers
8 | {
9 | public class CustomersController : Controller
10 | {
11 |
12 | public ActionResult Index()
13 | {
14 | return View();
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Models/DockerCommand.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace AspNetCorePostgreSQLDockerApp.Models {
5 |
6 | public class DockerCommand {
7 | public int Id { get; set; }
8 | public string Command { get; set; }
9 | public string Description { get; set; }
10 | public List Examples { get; set; }
11 | }
12 |
13 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Models/DockerCommandExample.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace AspNetCorePostgreSQLDockerApp.Models {
4 |
5 | public class DockerCommandExample {
6 | public int Id { get; set; }
7 | public string Example { get; set; }
8 | public string Description { get; set; }
9 | }
10 |
11 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace AspNetCorePostgreSQLDockerApp.Models {
2 | public class Order {
3 | public int Id { get; set; }
4 | public string Product { get; set; }
5 | public int Quantity { get; set; }
6 | public decimal Price { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Models/State.cs:
--------------------------------------------------------------------------------
1 | namespace AspNetCorePostgreSQLDockerApp.Models {
2 | public class State {
3 | public int Id { get; set; }
4 | public string Abbreviation { get; set; }
5 | public string Name { get; set; }
6 | }
7 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace AspNetCorePostgreSQLDockerApp
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | CreateWebHostBuilder(args).Build().Run();
11 | }
12 |
13 | public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup();
16 | }
17 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Repository/CustomersDbContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 | using AspNetCorePostgreSQLDockerApp.Models;
3 |
4 | namespace AspNetCorePostgreSQLDockerApp.Repository
5 | {
6 | public class CustomersDbContext : DbContext
7 | {
8 | public DbSet Customers { get; set; }
9 | public DbSet Orders { get; set; }
10 | public DbSet States { get; set; }
11 |
12 | public CustomersDbContext (DbContextOptions options) : base(options) { }
13 | }
14 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Repository/DockerCommandsDbContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 | using AspNetCorePostgreSQLDockerApp.Models;
3 |
4 | namespace AspNetCorePostgreSQLDockerApp.Repository
5 | {
6 | public class DockerCommandsDbContext : DbContext
7 | {
8 | public DbSet DockerCommands { get; set; }
9 |
10 | public DockerCommandsDbContext(DbContextOptions options) : base(options) { }
11 | }
12 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Repository/IDockerCommandsRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 |
4 | using AspNetCorePostgreSQLDockerApp.Models;
5 |
6 | namespace AspNetCorePostgreSQLDockerApp.Repository
7 | {
8 | public interface IDockerCommandsRepository
9 | {
10 | Task> GetDockerCommandsAsync();
11 |
12 | Task InsertDockerCommandAsync(DockerCommand command);
13 | }
14 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Views/Shared/Error.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Error";
3 | }
4 |
5 | Error.
6 | An error occurred while processing your request.
7 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using AspNetCorePostgreSQLDockerApp
2 | @using AspNetCorePostgreSQLDockerApp.Models
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/aspnetcore.dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/dotnet:sdk
2 |
3 | LABEL author="Dan Wahlin"
4 |
5 | ENV ASPNETCORE_URLS=http://*:5000
6 |
7 | WORKDIR /var/www/aspnetcoreapp
8 |
9 | COPY . .
10 |
11 | EXPOSE 5000
12 |
13 | ENTRYPOINT ["/bin/bash", "-c", "dotnet restore && dotnet run"]
14 |
15 | # Note that this is only for demo and is intended to keep things simple.
16 | # A multi-stage dockerfile would normally be used here to build the .dll and use
17 | # the microsoft/dotnet:aspnetcore-runtime image for the final image
18 |
19 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "lib": [ "es2015", "dom" ],
10 | "removeComments": false,
11 | "noImplicitAny": true,
12 | "suppressImplicitAnyIndexErrors": true
13 | },
14 | "exclude": [
15 | "node_modules"
16 | ]
17 | }
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/_references.js:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 | ///
8 | ///
9 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | moduleId: module.id,
5 | selector: 'app-container',
6 | template: ``
7 | })
8 | export class AppComponent {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/app/app.routing.ts:
--------------------------------------------------------------------------------
1 | import { RouterModule, Routes } from '@angular/router';
2 |
3 | import { CustomersComponent } from './customers/customers.component';
4 |
5 | const app_routes: Routes = [
6 | { path: '', pathMatch:'full', redirectTo: '/customers' },
7 | { path: 'Customers', component: CustomersComponent }
8 | ];
9 |
10 | export const app_routing = RouterModule.forRoot(app_routes);
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/app/main.ts:
--------------------------------------------------------------------------------
1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2 | import { enableProdMode } from '@angular/core';
3 |
4 | import { AppModule } from './app.module';
5 |
6 | //enableProdMode(); //Uncomment for production
7 | platformBrowserDynamic().bootstrapModule(AppModule)
8 | .then((success: any) => console.log('App bootstrapped'))
9 | .catch((err: any) => console.error(err));
10 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea,.alert-danger{max-width:300px}.toolbar-item a{cursor:pointer}input.ng-invalid,select.ng-invalid{border-left:5px solid #a94442}input.ng-valid,select.ng-valid{border-left:5px solid #42a948}
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/images/ASP-NET-Banners-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/images/ASP-NET-Banners-01.png
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/images/ASP-NET-Banners-02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/images/ASP-NET-Banners-02.png
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/images/Banner-01-Azure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/images/Banner-01-Azure.png
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/images/Banner-02-VS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/images/Banner-02-VS.png
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
1 | //# sourceMappingURL=/Users/DanWahlin/Dropbox/Projects/GitHub/AspNetCorePostgreSQLDockerApp/wwwroot/js/site.min.js.map
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/js/site.min.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version":3,
3 | "file":"/Users/DanWahlin/Dropbox/Projects/GitHub/AspNetCorePostgreSQLDockerApp/wwwroot/js/site.min.js",
4 | "lineCount":1,
5 | "mappings":"",
6 | "sources":[],
7 | "names":[]
8 | }
9 |
--------------------------------------------------------------------------------
/Labs/Orchestrating Containers with Docker Compose/End/AspNetCorePostgreSQLDockerApp/wwwroot/web.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace UsingEntityFrameworkCore.Models
7 | {
8 | public class Customer
9 | {
10 | public int Id { get; set; }
11 | public string Name { get; set; }
12 | public string City { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace UsingEntityFrameworkCore
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | CreateWebHostBuilder(args).Build().Run();
11 | }
12 |
13 | public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/Repository/CustomersDbContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 | using UsingEntityFrameworkCore.Models;
7 |
8 | namespace UsingEntityFrameworkCore.Repository
9 | {
10 | public class CustomersDbContext : DbContext
11 | {
12 | public DbSet Customers { get; set; }
13 |
14 | public CustomersDbContext(DbContextOptions options) : base(options) { }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/Repository/ICustomersRepository.cs:
--------------------------------------------------------------------------------
1 | using UsingEntityFrameworkCore.Models;
2 | using System.Collections.Generic;
3 | using System.Threading.Tasks;
4 |
5 | namespace UsingEntityFrameworkCore.Repository {
6 |
7 | public interface ICustomersRepository
8 | {
9 | Task InsertAndRetrieveCustomerAsync();
10 | Task> GetCustomersAsync();
11 | }
12 |
13 | }
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/UsingEntityFrameworkCore.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/Views/Home/About.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "About";
3 | }
4 | @ViewData["Title"].
5 | @ViewData["Message"]
6 |
7 | Use this area to provide additional information.
8 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/Views/Home/Contact.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Contact";
3 | }
4 | @ViewData["Title"].
5 | @ViewData["Message"]
6 |
7 |
8 | One Microsoft Way
9 | Redmond, WA 98052-6399
10 | P:
11 | 425.555.0100
12 |
13 |
14 |
15 | Support: Support@example.com
16 | Marketing: Marketing@example.com
17 |
18 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @model UsingEntityFrameworkCore.Models.Customer
2 | @* @model IEnumerable *@
3 | @{
4 | ViewData["Title"] = "Home Page";
5 | }
6 |
7 |
8 | Customer Details
9 | @Model.Name @Model.City
10 |
11 |
12 | @*
13 | Customers
14 |
15 | @foreach (var cust in Model) {
16 | - @cust.Name @cust.City
17 | }
18 |
19 | *@
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using UsingEntityFrameworkCore
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/customers.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/customers.sqlite
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea{max-width:280px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}@media screen and (max-width:767px){.carousel-caption{display:none}}
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Using Entity Framework Core/End/UsingEntityFrameworkCore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Labs/Using Web API/End/UsingWebAPI/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace UsingWebAPI.Models
7 | {
8 | public class Customer
9 | {
10 | public int Id { get; set; }
11 | public string FirstName { get; set; }
12 | public string LastName { get; set; }
13 | public string City { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Labs/Using Web API/End/UsingWebAPI/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace UsingWebAPI
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | CreateWebHostBuilder(args).Build().Run();
11 | }
12 |
13 | public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Labs/Using Web API/End/UsingWebAPI/UsingWebAPI.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Labs/Using Web API/End/UsingWebAPI/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.1.0",
3 | "command": "dotnet",
4 | "isShellCommand": true,
5 | "args": [],
6 | "tasks": [
7 | {
8 | "taskName": "build",
9 | "args": [
10 | "${workspaceRoot}/ASPNET-Core-And-Docker.csproj"
11 | ],
12 | "isBuildCommand": true,
13 | "problemMatcher": "$msCompile"
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/ASPNET-Core-And-Docker.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 | namespace Labs
4 | {
5 | public class Program
6 | {
7 | public static void Main(string[] args)
8 | {
9 | CreateWebHostBuilder(args).Build().Run();
10 | }
11 |
12 | public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
13 | WebHost.CreateDefaultBuilder(args)
14 | .UseStartup();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/Views/Home/About.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "About";
3 | }
4 | @ViewData["Title"].
5 | @ViewData["Message"]
6 |
7 | Use this area to provide additional information.
8 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/Views/Home/Contact.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Contact";
3 | }
4 | @ViewData["Title"].
5 | @ViewData["Message"]
6 |
7 |
8 | One Microsoft Way
9 | Redmond, WA 98052-6399
10 | P:
11 | 425.555.0100
12 |
13 |
14 |
15 | Support: Support@example.com
16 | Marketing: Marketing@example.com
17 |
18 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using Labs
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Warning"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/ASPNET-Core-And-Docker.Views.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/dist/ASPNET-Core-And-Docker.Views.dll
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/ASPNET-Core-And-Docker.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/dist/ASPNET-Core-And-Docker.dll
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/ASPNET-Core-And-Docker.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.1",
4 | "framework": {
5 | "name": "Microsoft.AspNetCore.App",
6 | "version": "2.1.1"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Warning"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/web.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea{max-width:280px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}@media screen and (max-width:767px){.carousel-caption{display:none}}
2 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/dist/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea{max-width:280px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}@media screen and (max-width:767px){.carousel-caption{display:none}}
2 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanWahlin/ASP.NETCoreDemos/3c733264b4e56d811113dc9726cc3c1ebd920fc6/Labs/Working with ASP.NET Core Images and Containers/End/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ASP.NET Core Demos
2 |
3 | Demos showing key ASP.NET features.
4 |
--------------------------------------------------------------------------------