├── demos
└── asp-net-core
│ ├── Divergent.Website
│ ├── wwwroot
│ │ ├── js
│ │ │ ├── site.min.js
│ │ │ └── site.js
│ │ ├── favicon.ico
│ │ ├── lib
│ │ │ └── bootstrap
│ │ │ │ └── dist
│ │ │ │ └── fonts
│ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ └── css
│ │ │ └── site.min.css
│ ├── .bowerrc
│ ├── Views
│ │ ├── _ViewStart.cshtml
│ │ └── _ViewImports.cshtml
│ ├── appsettings.json
│ ├── appsettings.Development.json
│ ├── bower.json
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Controllers
│ │ └── HomeController.cs
│ └── Divergent.Website.csproj
│ ├── Divergent.Sales.API
│ ├── Properties
│ │ └── launchSettings.json
│ └── Divergent.Sales.API.csproj
│ ├── Divergent.Shipping.API
│ ├── Properties
│ │ └── launchSettings.json
│ └── Divergent.Shipping.API.csproj
│ ├── ITOps.Json
│ └── ITOps.Json.csproj
│ ├── Divergent.Sales.ViewModelComposition.Events
│ ├── OrdersLoaded.cs
│ └── Divergent.Sales.ViewModelComposition.Events.csproj
│ ├── Divergent.Sales.Data
│ └── Divergent.Sales.Data.csproj
│ ├── Divergent.Shipping.Data
│ ├── Divergent.Shipping.Data.csproj
│ └── Models
│ │ └── Shipment.cs
│ ├── Divergent.CompositionGateway
│ ├── Properties
│ │ └── launchSettings.json
│ └── Divergent.CompositionGateway.csproj
│ ├── Divergent.Website.sln.startup.json
│ ├── Divergent.CompositionGateway.sln.startup.json
│ ├── dsemo-requests-list.rest
│ ├── ITOps.Data
│ └── ITOps.Data.csproj
│ ├── Divergent.Sales.ViewModelComposition
│ └── Divergent.Sales.ViewModelComposition.csproj
│ └── Divergent.Shipping.ViewModelComposition
│ └── Divergent.Shipping.ViewModelComposition.csproj
├── global.json
├── exercises
├── 03-sagas
│ ├── after
│ │ ├── Divergent.Frontend
│ │ │ ├── wwwroot
│ │ │ │ ├── app
│ │ │ │ │ └── presentation
│ │ │ │ │ │ ├── dashboardView.html
│ │ │ │ │ │ └── dashboardController.js
│ │ │ │ ├── lib
│ │ │ │ │ └── bootstrap
│ │ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ │ └── assets
│ │ │ │ │ └── site.css
│ │ │ ├── Divergent.Frontend.csproj
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── Program.cs
│ │ │ └── Startup.cs
│ │ ├── Divergent.Sales
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── appsettings.json
│ │ ├── Divergent.Customers
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── appsettings.json
│ │ ├── Divergent.Finance
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── Messages
│ │ │ │ └── Commands
│ │ │ │ │ └── InitiatePaymentProcessCommand.cs
│ │ │ └── appsettings.json
│ │ ├── Divergent.Shipping
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ └── Sagas
│ │ │ │ └── ShippingSagaData.cs
│ │ ├── Divergent.Sales.Data
│ │ │ ├── Models
│ │ │ │ ├── Product.cs
│ │ │ │ └── Order.cs
│ │ │ └── Divergent.Sales.Data.csproj
│ │ ├── Divergent.Sales.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── appsettings.json
│ │ ├── Divergent.Finance.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ └── Program.cs
│ │ ├── Divergent.Sales.Messages
│ │ │ ├── Divergent.Sales.Messages.csproj
│ │ │ ├── Commands
│ │ │ │ └── SubmitOrderCommand.cs
│ │ │ └── Events
│ │ │ │ └── OrderSubmittedEvent.cs
│ │ ├── Divergent.Shipping.Data
│ │ │ ├── Divergent.Shipping.Data.csproj
│ │ │ ├── WeightCalculator.cs
│ │ │ └── VolumeEstimator.cs
│ │ ├── Divergent.Customers.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ ├── Program.cs
│ │ │ └── Divergent.Customers.API.csproj
│ │ ├── Divergent.Finance.Messages
│ │ │ ├── Divergent.Finance.Messages.csproj
│ │ │ └── Events
│ │ │ │ └── PaymentSucceededEvent.cs
│ │ ├── externalsystems
│ │ │ └── MastercardPaymentProvider
│ │ │ │ ├── appsettings.json
│ │ │ │ └── Properties
│ │ │ │ └── launchSettings.json
│ │ ├── Divergent.Customers.Data
│ │ │ ├── Models
│ │ │ │ ├── Order.cs
│ │ │ │ └── Customer.cs
│ │ │ └── Divergent.Customers.Data.csproj
│ │ ├── Divergent.Finance.Data
│ │ │ ├── Models
│ │ │ │ ├── Price.cs
│ │ │ │ └── OrderItemPrice.cs
│ │ │ └── Divergent.Finance.Data.csproj
│ │ ├── Divergent.Sales.ViewModelComposition.Events
│ │ │ ├── Divergent.Sales.ViewModelComposition.Events.csproj
│ │ │ └── OrdersLoaded.cs
│ │ └── Divergent.CompositionGateway
│ │ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ │ └── Program.cs
│ └── before
│ │ ├── Divergent.Frontend
│ │ ├── wwwroot
│ │ │ ├── app
│ │ │ │ └── presentation
│ │ │ │ │ ├── dashboardView.html
│ │ │ │ │ └── dashboardController.js
│ │ │ ├── lib
│ │ │ │ └── bootstrap
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ └── assets
│ │ │ │ └── site.css
│ │ ├── Divergent.Frontend.csproj
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Program.cs
│ │ └── Startup.cs
│ │ ├── Divergent.Sales
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Finance
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── Messages
│ │ │ └── Commands
│ │ │ │ └── InitiatePaymentProcessCommand.cs
│ │ └── appsettings.json
│ │ ├── Divergent.Shipping
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Customers
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Sales.Data
│ │ ├── Models
│ │ │ ├── Product.cs
│ │ │ └── Order.cs
│ │ └── Divergent.Sales.Data.csproj
│ │ ├── Divergent.Sales.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Finance.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── Program.cs
│ │ ├── Divergent.Sales.Messages
│ │ ├── Divergent.Sales.Messages.csproj
│ │ ├── Commands
│ │ │ └── SubmitOrderCommand.cs
│ │ └── Events
│ │ │ └── OrderSubmittedEvent.cs
│ │ ├── Divergent.Shipping.Data
│ │ ├── Divergent.Shipping.Data.csproj
│ │ ├── WeightCalculator.cs
│ │ └── VolumeEstimator.cs
│ │ ├── Divergent.Customers.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ ├── Program.cs
│ │ └── Divergent.Customers.API.csproj
│ │ ├── Divergent.Finance.Messages
│ │ ├── Divergent.Finance.Messages.csproj
│ │ └── Events
│ │ │ └── PaymentSucceededEvent.cs
│ │ ├── externalsystems
│ │ └── MastercardPaymentProvider
│ │ │ ├── appsettings.json
│ │ │ └── Properties
│ │ │ └── launchSettings.json
│ │ ├── Divergent.Customers.Data
│ │ ├── Models
│ │ │ ├── Order.cs
│ │ │ └── Customer.cs
│ │ └── Divergent.Customers.Data.csproj
│ │ ├── Divergent.Finance.Data
│ │ ├── Models
│ │ │ ├── Price.cs
│ │ │ └── OrderItemPrice.cs
│ │ └── Divergent.Finance.Data.csproj
│ │ ├── Divergent.Sales.ViewModelComposition.Events
│ │ ├── Divergent.Sales.ViewModelComposition.Events.csproj
│ │ └── OrdersLoaded.cs
│ │ └── Divergent.CompositionGateway
│ │ ├── Properties
│ │ └── launchSettings.json
│ │ └── Program.cs
├── 04-integration
│ ├── after
│ │ ├── Divergent.Frontend
│ │ │ ├── wwwroot
│ │ │ │ ├── app
│ │ │ │ │ └── presentation
│ │ │ │ │ │ ├── dashboardView.html
│ │ │ │ │ │ └── dashboardController.js
│ │ │ │ ├── lib
│ │ │ │ │ └── bootstrap
│ │ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ │ └── assets
│ │ │ │ │ └── site.css
│ │ │ ├── Divergent.Frontend.csproj
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── Program.cs
│ │ │ └── Startup.cs
│ │ ├── Divergent.ITOps
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── appsettings.json
│ │ ├── Divergent.Sales
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── appsettings.json
│ │ ├── Divergent.Finance
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── Messages
│ │ │ │ └── Commands
│ │ │ │ │ └── InitiatePaymentProcessCommand.cs
│ │ │ └── appsettings.json
│ │ ├── Divergent.Shipping
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ └── Sagas
│ │ │ │ └── ShippingSagaData.cs
│ │ ├── Divergent.Customers
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── appsettings.json
│ │ ├── Divergent.Sales.Data
│ │ │ ├── Models
│ │ │ │ ├── Product.cs
│ │ │ │ └── Order.cs
│ │ │ └── Divergent.Sales.Data.csproj
│ │ ├── Divergent.Sales.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── appsettings.json
│ │ ├── Divergent.Finance.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ └── Program.cs
│ │ ├── Divergent.ITOps.Messages
│ │ │ ├── Divergent.ITOps.Messages.csproj
│ │ │ └── Commands
│ │ │ │ └── ShipWithFedexCommand.cs
│ │ ├── Divergent.Sales.Messages
│ │ │ ├── Divergent.Sales.Messages.csproj
│ │ │ ├── Commands
│ │ │ │ └── SubmitOrderCommand.cs
│ │ │ └── Events
│ │ │ │ └── OrderSubmittedEvent.cs
│ │ ├── Divergent.Customers.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ └── Program.cs
│ │ ├── Divergent.Finance.Messages
│ │ │ ├── Divergent.Finance.Messages.csproj
│ │ │ └── Events
│ │ │ │ └── PaymentSucceededEvent.cs
│ │ ├── externalsystems
│ │ │ └── MastercardPaymentProvider
│ │ │ │ ├── appsettings.json
│ │ │ │ └── Properties
│ │ │ │ └── launchSettings.json
│ │ ├── Divergent.Customers.Data
│ │ │ └── Models
│ │ │ │ ├── Order.cs
│ │ │ │ └── Customer.cs
│ │ ├── Divergent.Finance.Data
│ │ │ ├── Models
│ │ │ │ ├── Price.cs
│ │ │ │ └── OrderItemPrice.cs
│ │ │ └── Divergent.Finance.Data.csproj
│ │ ├── Divergent.ITOps.Interfaces
│ │ │ ├── ShippingInfo.cs
│ │ │ ├── IProvideCustomerInfo.cs
│ │ │ ├── IProvideShippingInfo.cs
│ │ │ ├── IRegisterServices.cs
│ │ │ ├── CustomerInfo.cs
│ │ │ └── Divergent.ITOps.Interfaces.csproj
│ │ ├── Divergent.Sales.ViewModelComposition.Events
│ │ │ ├── Divergent.Sales.ViewModelComposition.Events.csproj
│ │ │ └── OrdersLoaded.cs
│ │ ├── Divergent.CompositionGateway
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ └── Program.cs
│ │ └── Divergent.Shipping.Data
│ │ │ ├── Divergent.Shipping.Data.csproj
│ │ │ ├── WeightCalculator.cs
│ │ │ └── VolumeEstimator.cs
│ └── before
│ │ ├── Divergent.Frontend
│ │ ├── wwwroot
│ │ │ ├── app
│ │ │ │ └── presentation
│ │ │ │ │ ├── dashboardView.html
│ │ │ │ │ └── dashboardController.js
│ │ │ ├── lib
│ │ │ │ └── bootstrap
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ └── assets
│ │ │ │ └── site.css
│ │ ├── Divergent.Frontend.csproj
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Program.cs
│ │ └── Startup.cs
│ │ ├── Divergent.ITOps
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Sales
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Finance
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── Messages
│ │ │ └── Commands
│ │ │ │ └── InitiatePaymentProcessCommand.cs
│ │ └── appsettings.json
│ │ ├── Divergent.Shipping
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── Sagas
│ │ │ └── ShippingSagaData.cs
│ │ ├── Divergent.Customers
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Sales.Data
│ │ ├── Models
│ │ │ ├── Product.cs
│ │ │ └── Order.cs
│ │ └── Divergent.Sales.Data.csproj
│ │ ├── Divergent.Finance.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── Program.cs
│ │ ├── Divergent.Sales.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Customers.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── Program.cs
│ │ ├── Divergent.Finance.Messages
│ │ ├── Divergent.Finance.Messages.csproj
│ │ └── Events
│ │ │ └── PaymentSucceededEvent.cs
│ │ ├── Divergent.ITOps.Messages
│ │ └── Divergent.ITOps.Messages.csproj
│ │ ├── Divergent.Sales.Messages
│ │ ├── Divergent.Sales.Messages.csproj
│ │ ├── Commands
│ │ │ └── SubmitOrderCommand.cs
│ │ └── Events
│ │ │ └── OrderSubmittedEvent.cs
│ │ ├── externalsystems
│ │ └── MastercardPaymentProvider
│ │ │ ├── appsettings.json
│ │ │ └── Properties
│ │ │ └── launchSettings.json
│ │ ├── Divergent.Customers.Data
│ │ └── Models
│ │ │ ├── Order.cs
│ │ │ └── Customer.cs
│ │ ├── Divergent.Finance.Data
│ │ ├── Models
│ │ │ ├── Price.cs
│ │ │ └── OrderItemPrice.cs
│ │ └── Divergent.Finance.Data.csproj
│ │ ├── Divergent.ITOps.Interfaces
│ │ ├── ShippingInfo.cs
│ │ ├── IProvideCustomerInfo.cs
│ │ ├── IProvideShippingInfo.cs
│ │ ├── IRegisterServices.cs
│ │ ├── CustomerInfo.cs
│ │ └── Divergent.ITOps.Interfaces.csproj
│ │ ├── Divergent.Sales.ViewModelComposition.Events
│ │ ├── Divergent.Sales.ViewModelComposition.Events.csproj
│ │ └── OrdersLoaded.cs
│ │ ├── Divergent.CompositionGateway
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ └── Program.cs
│ │ └── Divergent.Shipping.Data
│ │ ├── Divergent.Shipping.Data.csproj
│ │ ├── WeightCalculator.cs
│ │ └── VolumeEstimator.cs
├── 01-composite-ui
│ ├── after
│ │ ├── Divergent.Frontend
│ │ │ ├── wwwroot
│ │ │ │ ├── app
│ │ │ │ │ └── presentation
│ │ │ │ │ │ ├── dashboardView.html
│ │ │ │ │ │ └── dashboardController.js
│ │ │ │ ├── lib
│ │ │ │ │ └── bootstrap
│ │ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ │ └── assets
│ │ │ │ │ └── site.css
│ │ │ ├── Divergent.Frontend.csproj
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── Program.cs
│ │ │ └── Startup.cs
│ │ ├── Divergent.Sales.Data
│ │ │ ├── Models
│ │ │ │ ├── Product.cs
│ │ │ │ └── Order.cs
│ │ │ └── Divergent.Sales.Data.csproj
│ │ ├── Divergent.Finance.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ └── Program.cs
│ │ ├── Divergent.Sales.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ └── Program.cs
│ │ ├── Divergent.Customers.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ ├── Program.cs
│ │ │ └── Divergent.Customers.API.csproj
│ │ ├── Divergent.Customers.Data
│ │ │ ├── Models
│ │ │ │ ├── Order.cs
│ │ │ │ └── Customer.cs
│ │ │ └── Divergent.Customers.Data.csproj
│ │ ├── Divergent.Finance.Data
│ │ │ ├── Models
│ │ │ │ ├── Price.cs
│ │ │ │ └── OrderItemPrice.cs
│ │ │ └── Divergent.Finance.Data.csproj
│ │ ├── Divergent.Sales.ViewModelComposition.Events
│ │ │ ├── Divergent.Sales.ViewModelComposition.Events.csproj
│ │ │ └── OrdersLoaded.cs
│ │ └── Divergent.CompositionGateway
│ │ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ │ └── Program.cs
│ └── before
│ │ ├── Divergent.Frontend
│ │ ├── wwwroot
│ │ │ ├── app
│ │ │ │ └── presentation
│ │ │ │ │ ├── dashboardView.html
│ │ │ │ │ └── dashboardController.js
│ │ │ ├── lib
│ │ │ │ └── bootstrap
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ └── assets
│ │ │ │ └── site.css
│ │ ├── Divergent.Frontend.csproj
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Program.cs
│ │ └── Startup.cs
│ │ ├── Divergent.Sales.Data
│ │ ├── Models
│ │ │ ├── Product.cs
│ │ │ └── Order.cs
│ │ └── Divergent.Sales.Data.csproj
│ │ ├── Divergent.Sales.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── Program.cs
│ │ ├── Divergent.Customers.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── Program.cs
│ │ ├── Divergent.Finance.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── Program.cs
│ │ ├── Divergent.Customers.Data
│ │ ├── Models
│ │ │ ├── Order.cs
│ │ │ └── Customer.cs
│ │ └── Divergent.Customers.Data.csproj
│ │ ├── Divergent.Finance.Data
│ │ ├── Models
│ │ │ ├── Price.cs
│ │ │ └── OrderItemPrice.cs
│ │ └── Divergent.Finance.Data.csproj
│ │ ├── Divergent.Sales.ViewModelComposition.Events
│ │ ├── Divergent.Sales.ViewModelComposition.Events.csproj
│ │ └── OrdersLoaded.cs
│ │ └── Divergent.CompositionGateway
│ │ ├── Properties
│ │ └── launchSettings.json
│ │ └── Program.cs
├── 02-publish-subscribe
│ ├── after
│ │ ├── Divergent.Frontend
│ │ │ ├── wwwroot
│ │ │ │ ├── app
│ │ │ │ │ └── presentation
│ │ │ │ │ │ ├── dashboardView.html
│ │ │ │ │ │ └── dashboardController.js
│ │ │ │ ├── lib
│ │ │ │ │ └── bootstrap
│ │ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ │ └── assets
│ │ │ │ │ └── site.css
│ │ │ ├── Divergent.Frontend.csproj
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── Program.cs
│ │ │ └── Startup.cs
│ │ ├── Divergent.Sales
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── appsettings.json
│ │ ├── Divergent.Finance
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── Messages
│ │ │ │ └── Commands
│ │ │ │ │ └── InitiatePaymentProcessCommand.cs
│ │ │ └── appsettings.json
│ │ ├── Divergent.Shipping
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── appsettings.json
│ │ ├── Divergent.Customers
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── appsettings.json
│ │ ├── Divergent.Sales.Data
│ │ │ ├── Models
│ │ │ │ ├── Product.cs
│ │ │ │ └── Order.cs
│ │ │ └── Divergent.Sales.Data.csproj
│ │ ├── Divergent.Finance.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ └── Program.cs
│ │ ├── Divergent.Sales.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── appsettings.json
│ │ ├── Divergent.Shipping.Data
│ │ │ ├── Divergent.Shipping.Data.csproj
│ │ │ ├── WeightCalculator.cs
│ │ │ └── VolumeEstimator.cs
│ │ ├── Divergent.Customers.API
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ └── Program.cs
│ │ ├── Divergent.Finance.Messages
│ │ │ ├── Divergent.Finance.Messages.csproj
│ │ │ └── Events
│ │ │ │ └── PaymentSucceededEvent.cs
│ │ ├── Divergent.Sales.Messages
│ │ │ ├── Divergent.Sales.Messages.csproj
│ │ │ ├── Commands
│ │ │ │ └── SubmitOrderCommand.cs
│ │ │ └── Events
│ │ │ │ └── OrderSubmittedEvent.cs
│ │ ├── externalsystems
│ │ │ └── MastercardPaymentProvider
│ │ │ │ ├── appsettings.json
│ │ │ │ └── Properties
│ │ │ │ └── launchSettings.json
│ │ ├── Divergent.Customers.Data
│ │ │ ├── Models
│ │ │ │ ├── Order.cs
│ │ │ │ └── Customer.cs
│ │ │ └── Divergent.Customers.Data.csproj
│ │ ├── Divergent.Finance.Data
│ │ │ ├── Models
│ │ │ │ ├── Price.cs
│ │ │ │ └── OrderItemPrice.cs
│ │ │ └── Divergent.Finance.Data.csproj
│ │ ├── Divergent.Sales.ViewModelComposition.Events
│ │ │ ├── Divergent.Sales.ViewModelComposition.Events.csproj
│ │ │ └── OrdersLoaded.cs
│ │ └── Divergent.CompositionGateway
│ │ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ │ └── Program.cs
│ └── before
│ │ ├── Divergent.Frontend
│ │ ├── wwwroot
│ │ │ ├── app
│ │ │ │ └── presentation
│ │ │ │ │ ├── dashboardView.html
│ │ │ │ │ └── dashboardController.js
│ │ │ ├── lib
│ │ │ │ └── bootstrap
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ └── assets
│ │ │ │ └── site.css
│ │ ├── Divergent.Frontend.csproj
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Program.cs
│ │ └── Startup.cs
│ │ ├── Divergent.Sales
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Finance
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── Messages
│ │ │ └── Commands
│ │ │ │ └── InitiatePaymentProcessCommand.cs
│ │ └── appsettings.json
│ │ ├── Divergent.Customers
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Shipping
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Sales.Data
│ │ ├── Models
│ │ │ ├── Product.cs
│ │ │ └── Order.cs
│ │ └── Divergent.Sales.Data.csproj
│ │ ├── Divergent.Sales.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ │ ├── Divergent.Shipping.Data
│ │ ├── Divergent.Shipping.Data.csproj
│ │ ├── WeightCalculator.cs
│ │ └── VolumeEstimator.cs
│ │ ├── Divergent.Customers.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── Program.cs
│ │ ├── Divergent.Finance.API
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── Program.cs
│ │ ├── Divergent.Sales.Messages
│ │ ├── Divergent.Sales.Messages.csproj
│ │ └── Commands
│ │ │ └── SubmitOrderCommand.cs
│ │ ├── Divergent.Finance.Messages
│ │ └── Divergent.Finance.Messages.csproj
│ │ ├── externalsystems
│ │ └── MastercardPaymentProvider
│ │ │ ├── appsettings.json
│ │ │ └── Properties
│ │ │ └── launchSettings.json
│ │ ├── Divergent.Customers.Data
│ │ ├── Models
│ │ │ ├── Order.cs
│ │ │ └── Customer.cs
│ │ └── Divergent.Customers.Data.csproj
│ │ ├── Divergent.Finance.Data
│ │ ├── Models
│ │ │ ├── Price.cs
│ │ │ └── OrderItemPrice.cs
│ │ └── Divergent.Finance.Data.csproj
│ │ ├── Divergent.Sales.ViewModelComposition.Events
│ │ ├── Divergent.Sales.ViewModelComposition.Events.csproj
│ │ └── OrdersLoaded.cs
│ │ └── Divergent.CompositionGateway
│ │ ├── Properties
│ │ └── launchSettings.json
│ │ └── Program.cs
└── shared-api-gateway
│ ├── ITOps.Json
│ └── ITOps.Json.csproj
│ └── ITOps.SharedConfiguration
│ └── ITOps.SharedConfiguration.csproj
├── img
└── platform-installer-on-edge
│ ├── downloads-list.png
│ ├── download-prompt.png
│ └── download-unsafe-file-option.png
├── Directory.Build.props
├── targets
└── Targets.csproj
└── .gitattributes
/demos/asp-net-core/Divergent.Website/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "wwwroot/lib"
3 | }
4 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "sdk": {
3 | "version": "8.0.400",
4 | "rollForward": "latestFeature"
5 | }
6 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Frontend/wwwroot/app/presentation/dashboardView.html:
--------------------------------------------------------------------------------
1 |
2 | This is the dashboard.
3 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Frontend/wwwroot/app/presentation/dashboardView.html:
--------------------------------------------------------------------------------
1 |
2 | This is the dashboard.
3 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using Divergent.Website
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Frontend/wwwroot/app/presentation/dashboardView.html:
--------------------------------------------------------------------------------
1 |
2 | This is the dashboard.
3 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Frontend/wwwroot/app/presentation/dashboardView.html:
--------------------------------------------------------------------------------
1 |
2 | This is the dashboard.
3 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Frontend/wwwroot/app/presentation/dashboardView.html:
--------------------------------------------------------------------------------
1 |
2 | This is the dashboard.
3 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Frontend/wwwroot/app/presentation/dashboardView.html:
--------------------------------------------------------------------------------
1 |
2 | This is the dashboard.
3 |
--------------------------------------------------------------------------------
/img/platform-installer-on-edge/downloads-list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/img/platform-installer-on-edge/downloads-list.png
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Frontend/wwwroot/app/presentation/dashboardView.html:
--------------------------------------------------------------------------------
1 |
2 | This is the dashboard.
3 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Frontend/wwwroot/app/presentation/dashboardView.html:
--------------------------------------------------------------------------------
1 |
2 | This is the dashboard.
3 |
--------------------------------------------------------------------------------
/img/platform-installer-on-edge/download-prompt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/img/platform-installer-on-edge/download-prompt.png
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/demos/asp-net-core/Divergent.Website/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/img/platform-installer-on-edge/download-unsafe-file-option.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/img/platform-installer-on-edge/download-unsafe-file-option.png
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Warning"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Customers/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Shipping/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Shipping": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Shipping/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Shipping": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.ITOps/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.ITOps": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.ITOps/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.ITOps": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Customers/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Shipping/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Shipping": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Shipping/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Shipping": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Shipping/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Shipping": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Customers/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Customers/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Customers/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Customers/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Shipping/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Shipping": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales.Data/Models/Product.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Sales.Data.Models;
2 |
3 | public class Product
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales.Data/Models/Product.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Sales.Data.Models;
2 |
3 | public class Product
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Sales.Data/Models/Product.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Sales.Data.Models;
2 |
3 | public class Product
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Sales.Data/Models/Product.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Sales.Data.Models;
2 |
3 | public class Product
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales.Data/Models/Product.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Sales.Data.Models;
2 |
3 | public class Product
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales.Data/Models/Product.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Sales.Data.Models;
2 |
3 | public class Product
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales.Data/Models/Product.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Sales.Data.Models;
2 |
3 | public class Product
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales.Data/Models/Product.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Sales.Data.Models;
2 |
3 | public class Product
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | }
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Sales.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20295"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Shipping.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Shipping.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20296"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20185"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20185"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20187"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales.Messages/Divergent.Sales.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Shipping.Data/Divergent.Shipping.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20187"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales.Messages/Divergent.Sales.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Shipping.Data/Divergent.Shipping.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20185"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Finance.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20187"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Sales.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20185"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Sales.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20185"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Customers.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20186"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance.Messages/Divergent.Finance.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance.Messages/Events/PaymentSucceededEvent.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Messages.Events
2 | {
3 | public class PaymentSucceededEvent
4 | {
5 | public int OrderId { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Customers.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20186"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance.Messages/Divergent.Finance.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance.Messages/Events/PaymentSucceededEvent.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Messages.Events
2 | {
3 | public class PaymentSucceededEvent
4 | {
5 | public int OrderId { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20187"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.ITOps.Messages/Divergent.ITOps.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales.Messages/Divergent.Sales.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20187"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20185"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Customers.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20186"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Customers.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20186"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Finance.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20187"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20187"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20185"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Shipping.Data/Divergent.Shipping.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Sales.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20185"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Shipping.Data/Divergent.Shipping.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/externalsystems/MastercardPaymentProvider/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/externalsystems/MastercardPaymentProvider/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Customers.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20186"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance.Messages/Divergent.Finance.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance.Messages/Events/PaymentSucceededEvent.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Messages.Events
2 | {
3 | public class PaymentSucceededEvent
4 | {
5 | public int OrderId { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Customers.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20186"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance.Messages/Divergent.Finance.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance.Messages/Events/PaymentSucceededEvent.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Messages.Events
2 | {
3 | public class PaymentSucceededEvent
4 | {
5 | public int OrderId { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.ITOps.Messages/Divergent.ITOps.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales.Messages/Divergent.Sales.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/demos/asp-net-core/Divergent.Website/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/demos/asp-net-core/Divergent.Website/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/demos/asp-net-core/Divergent.Website/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/demos/asp-net-core/Divergent.Website/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Customers.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20186"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance.Messages/Divergent.Finance.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance.Messages/Events/PaymentSucceededEvent.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Messages.Events
2 | {
3 | public class PaymentSucceededEvent
4 | {
5 | public int OrderId { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales.Messages/Divergent.Sales.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Customers.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Customers.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20186"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Finance.API": {
4 | "commandName": "Project",
5 | "applicationUrl": "http://localhost:20187"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales.Messages/Divergent.Sales.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/03-sagas/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/03-sagas/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/exercises/04-integration/after/externalsystems/MastercardPaymentProvider/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/externalsystems/MastercardPaymentProvider/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/externalsystems/MastercardPaymentProvider/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance.Messages/Divergent.Finance.Messages.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Customers.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Customers.Data.Models;
2 |
3 | public class Order
4 | {
5 | public int Id { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance.Data/Models/Price.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class Price
4 | {
5 | public int Id { get; set; }
6 | public int ProductId { get; set; }
7 | public double ItemPrice { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/03-sagas/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/03-sagas/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/03-sagas/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/03-sagas/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/03-sagas/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/externalsystems/MastercardPaymentProvider/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Customers.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Customers.Data.Models;
2 |
3 | public class Order
4 | {
5 | public int Id { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance.Data/Models/Price.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class Price
4 | {
5 | public int Id { get; set; }
6 | public int ProductId { get; set; }
7 | public double ItemPrice { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/03-sagas/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Customers.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Customers.Data.Models;
2 |
3 | public class Order
4 | {
5 | public int Id { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Finance.Data/Models/Price.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class Price
4 | {
5 | public int Id { get; set; }
6 | public int ProductId { get; set; }
7 | public double ItemPrice { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/01-composite-ui/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/01-composite-ui/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Customers.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Customers.Data.Models;
2 |
3 | public class Order
4 | {
5 | public int Id { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Finance.Data/Models/Price.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class Price
4 | {
5 | public int Id { get; set; }
6 | public int ProductId { get; set; }
7 | public double ItemPrice { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Customers/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Shipping/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Shipping/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Customers.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Customers.Data.Models;
2 |
3 | public class Order
4 | {
5 | public int Id { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance.Data/Models/Price.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class Price
4 | {
5 | public int Id { get; set; }
6 | public int ProductId { get; set; }
7 | public double ItemPrice { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/04-integration/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/04-integration/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/04-integration/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.ITOps.Interfaces/ShippingInfo.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.ITOps.Interfaces
2 | {
3 | public class PackageInfo
4 | {
5 | public double Weight { get; set; }
6 | public double Volume { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Customers.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Customers.Data.Models;
2 |
3 | public class Order
4 | {
5 | public int Id { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance.Data/Models/Price.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class Price
4 | {
5 | public int Id { get; set; }
6 | public int ProductId { get; set; }
7 | public double ItemPrice { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/04-integration/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/04-integration/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.ITOps.Interfaces/ShippingInfo.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.ITOps.Interfaces
2 | {
3 | public class PackageInfo
4 | {
5 | public double Weight { get; set; }
6 | public double Volume { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/01-composite-ui/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/01-composite-ui/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/01-composite-ui/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/01-composite-ui/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/01-composite-ui/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/01-composite-ui/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Customers.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Customers.Data.Models;
2 |
3 | public class Order
4 | {
5 | public int Id { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance.Data/Models/Price.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class Price
4 | {
5 | public int Id { get; set; }
6 | public int ProductId { get; set; }
7 | public double ItemPrice { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Customers.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Customers.Data.Models;
2 |
3 | public class Order
4 | {
5 | public int Id { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance.Data/Models/Price.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class Price
4 | {
5 | public int Id { get; set; }
6 | public int ProductId { get; set; }
7 | public double ItemPrice { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Customers.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Frontend/Divergent.Frontend.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales.ViewModelComposition.Events/Divergent.Sales.ViewModelComposition.Events.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Customers.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Customers/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Frontend/Divergent.Frontend.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales.ViewModelComposition.Events/Divergent.Sales.ViewModelComposition.Events.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/04-integration/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.ITOps/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Shipping/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/04-integration/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/04-integration/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.ITOps/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Finance.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Frontend/Divergent.Frontend.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Sales.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Sales.ViewModelComposition.Events/Divergent.Sales.ViewModelComposition.Events.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Finance.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Frontend/Divergent.Frontend.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Sales.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Sales.ViewModelComposition.Events/Divergent.Sales.ViewModelComposition.Events.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/02-publish-subscribe/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/02-publish-subscribe/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Customers.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Customers/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Frontend/Divergent.Frontend.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales.ViewModelComposition.Events/Divergent.Sales.ViewModelComposition.Events.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Customers/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Frontend/Divergent.Frontend.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales.ViewModelComposition.Events/Divergent.Sales.ViewModelComposition.Events.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Shipping/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Customers.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Customers.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Customers/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Frontend/Divergent.Frontend.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/02-publish-subscribe/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/02-publish-subscribe/after/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales.ViewModelComposition.Events/Divergent.Sales.ViewModelComposition.Events.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Shipping/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Customers/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Frontend/Divergent.Frontend.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/02-publish-subscribe/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/02-publish-subscribe/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/02-publish-subscribe/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Particular/Workshop/HEAD/exercises/02-publish-subscribe/before/Divergent.Frontend/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales.ViewModelComposition.Events/Divergent.Sales.ViewModelComposition.Events.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Shipping/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Shipping/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | },
9 | "AllowedHosts": "*"
10 | }
11 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.ITOps.Interfaces/IProvideCustomerInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 |
3 | namespace Divergent.ITOps.Interfaces
4 | {
5 | public interface IProvideCustomerInfo
6 | {
7 | CustomerInfo GetCustomerInfo(int customerId);
8 | }
9 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Customers.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.ITOps.Interfaces/IProvideCustomerInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 |
3 | namespace Divergent.ITOps.Interfaces
4 | {
5 | public interface IProvideCustomerInfo
6 | {
7 | CustomerInfo GetCustomerInfo(int customerId);
8 | }
9 | }
--------------------------------------------------------------------------------
/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 | low
6 | all
7 |
8 |
9 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "asp.net",
3 | "private": true,
4 | "dependencies": {
5 | "bootstrap": "3.3.7",
6 | "jquery": "2.2.0",
7 | "jquery-validation": "1.14.0",
8 | "jquery-validation-unobtrusive": "3.2.6"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Customers.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Customers.API/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.ITOps/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | },
9 | "AllowedHosts": "*"
10 | }
11 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.ITOps/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | },
9 | "AllowedHosts": "*"
10 | }
11 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Shipping/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | },
9 | "AllowedHosts": "*"
10 | }
11 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Shipping/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | },
9 | "AllowedHosts": "*"
10 | }
11 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Frontend/wwwroot/app/presentation/dashboardController.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | angular.module('app.controllers')
3 | .controller('dashboardController',
4 | ['$log',
5 | function ($log) {
6 |
7 | var vm = this;
8 | }]);
9 | }())
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Frontend/wwwroot/app/presentation/dashboardController.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | angular.module('app.controllers')
3 | .controller('dashboardController',
4 | ['$log',
5 | function ($log) {
6 |
7 | var vm = this;
8 | }]);
9 | }())
--------------------------------------------------------------------------------
/demos/asp-net-core/ITOps.Json/ITOps.Json.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Frontend/wwwroot/app/presentation/dashboardController.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | angular.module('app.controllers')
3 | .controller('dashboardController',
4 | ['$log',
5 | function ($log) {
6 |
7 | var vm = this;
8 | }]);
9 | }())
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Frontend/wwwroot/app/presentation/dashboardController.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | angular.module('app.controllers')
3 | .controller('dashboardController',
4 | ['$log',
5 | function ($log) {
6 |
7 | var vm = this;
8 | }]);
9 | }())
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance.Data/Models/OrderItemPrice.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class OrderItemPrice
4 | {
5 | public int Id { get; set; }
6 | public int OrderId { get; set; }
7 | public int ProductId { get; set; }
8 | public double ItemPrice { get; set; }
9 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance.Data/Models/OrderItemPrice.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class OrderItemPrice
4 | {
5 | public int Id { get; set; }
6 | public int OrderId { get; set; }
7 | public int ProductId { get; set; }
8 | public double ItemPrice { get; set; }
9 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Frontend/wwwroot/app/presentation/dashboardController.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | angular.module('app.controllers')
3 | .controller('dashboardController',
4 | ['$log',
5 | function ($log) {
6 |
7 | var vm = this;
8 | }]);
9 | }())
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Frontend/wwwroot/app/presentation/dashboardController.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | angular.module('app.controllers')
3 | .controller('dashboardController',
4 | ['$log',
5 | function ($log) {
6 |
7 | var vm = this;
8 | }]);
9 | }())
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Frontend/wwwroot/app/presentation/dashboardController.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | angular.module('app.controllers')
3 | .controller('dashboardController',
4 | ['$log',
5 | function ($log) {
6 |
7 | var vm = this;
8 | }]);
9 | }())
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Frontend/wwwroot/app/presentation/dashboardController.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | angular.module('app.controllers')
3 | .controller('dashboardController',
4 | ['$log',
5 | function ($log) {
6 |
7 | var vm = this;
8 | }]);
9 | }())
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance/Messages/Commands/InitiatePaymentProcessCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Messages.Commands;
2 |
3 | public class InitiatePaymentProcessCommand
4 | {
5 | public double Amount { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance/Messages/Commands/InitiatePaymentProcessCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Messages.Commands;
2 |
3 | public class InitiatePaymentProcessCommand
4 | {
5 | public double Amount { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance.Data/Models/OrderItemPrice.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class OrderItemPrice
4 | {
5 | public int Id { get; set; }
6 | public int OrderId { get; set; }
7 | public int ProductId { get; set; }
8 | public double ItemPrice { get; set; }
9 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Finance.Data/Models/OrderItemPrice.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class OrderItemPrice
4 | {
5 | public int Id { get; set; }
6 | public int OrderId { get; set; }
7 | public int ProductId { get; set; }
8 | public double ItemPrice { get; set; }
9 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Finance.Data/Models/OrderItemPrice.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class OrderItemPrice
4 | {
5 | public int Id { get; set; }
6 | public int OrderId { get; set; }
7 | public int ProductId { get; set; }
8 | public double ItemPrice { get; set; }
9 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance/Messages/Commands/InitiatePaymentProcessCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Messages.Commands;
2 |
3 | public class InitiatePaymentProcessCommand
4 | {
5 | public double Amount { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance.Data/Models/OrderItemPrice.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class OrderItemPrice
4 | {
5 | public int Id { get; set; }
6 | public int OrderId { get; set; }
7 | public int ProductId { get; set; }
8 | public double ItemPrice { get; set; }
9 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance/Messages/Commands/InitiatePaymentProcessCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Messages.Commands;
2 |
3 | public class InitiatePaymentProcessCommand
4 | {
5 | public double Amount { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/shared-api-gateway/ITOps.Json/ITOps.Json.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Sales.ViewModelComposition.Events/OrdersLoaded.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.ViewModelComposition.Events
4 | {
5 | public class OrdersLoaded
6 | {
7 | public IDictionary OrderViewModelDictionary { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance.Data/Models/OrderItemPrice.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class OrderItemPrice
4 | {
5 | public int Id { get; set; }
6 | public int OrderId { get; set; }
7 | public int ProductId { get; set; }
8 | public double ItemPrice { get; set; }
9 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance/Messages/Commands/InitiatePaymentProcessCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Messages.Commands;
2 |
3 | public class InitiatePaymentProcessCommand
4 | {
5 | public double Amount { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance.Data/Models/OrderItemPrice.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Data.Models;
2 |
3 | public class OrderItemPrice
4 | {
5 | public int Id { get; set; }
6 | public int OrderId { get; set; }
7 | public int ProductId { get; set; }
8 | public double ItemPrice { get; set; }
9 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance/Messages/Commands/InitiatePaymentProcessCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Finance.Messages.Commands;
2 |
3 | public class InitiatePaymentProcessCommand
4 | {
5 | public double Amount { get; set; }
6 | public int CustomerId { get; set; }
7 | public int OrderId { get; set; }
8 | }
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Sales.Data/Divergent.Sales.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Shipping.Data/Divergent.Shipping.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance.Data/Divergent.Finance.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales.ViewModelComposition.Events/OrdersLoaded.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.ViewModelComposition.Events
4 | {
5 | public class OrdersLoaded
6 | {
7 | public IDictionary OrderViewModelDictionary { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance.Data/Divergent.Finance.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales.ViewModelComposition.Events/OrdersLoaded.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.ViewModelComposition.Events
4 | {
5 | public class OrdersLoaded
6 | {
7 | public IDictionary OrderViewModelDictionary { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.ITOps.Interfaces/IProvideShippingInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 |
4 | namespace Divergent.ITOps.Interfaces
5 | {
6 | public interface IProvideShippingInfo
7 | {
8 | PackageInfo GetPackageInfo(IEnumerable productIds);
9 | }
10 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.ITOps.Interfaces/IProvideShippingInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 |
4 | namespace Divergent.ITOps.Interfaces
5 | {
6 | public interface IProvideShippingInfo
7 | {
8 | PackageInfo GetPackageInfo(IEnumerable productIds);
9 | }
10 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Sales.ViewModelComposition.Events/OrdersLoaded.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.ViewModelComposition.Events
4 | {
5 | public class OrdersLoaded
6 | {
7 | public IDictionary OrderViewModelDictionary { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Sales.ViewModelComposition.Events/OrdersLoaded.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.ViewModelComposition.Events
4 | {
5 | public class OrdersLoaded
6 | {
7 | public IDictionary OrderViewModelDictionary { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance.Data/Divergent.Finance.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales.ViewModelComposition.Events/OrdersLoaded.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.ViewModelComposition.Events
4 | {
5 | public class OrdersLoaded
6 | {
7 | public IDictionary OrderViewModelDictionary { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales.ViewModelComposition.Events/OrdersLoaded.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.ViewModelComposition.Events
4 | {
5 | public class OrdersLoaded
6 | {
7 | public IDictionary OrderViewModelDictionary { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/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}}
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Finance.Data/Divergent.Finance.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Finance.Data/Divergent.Finance.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales.ViewModelComposition.Events/OrdersLoaded.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.ViewModelComposition.Events
4 | {
5 | public class OrdersLoaded
6 | {
7 | public IDictionary OrderViewModelDictionary { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales.ViewModelComposition.Events/OrdersLoaded.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.ViewModelComposition.Events
4 | {
5 | public class OrdersLoaded
6 | {
7 | public IDictionary OrderViewModelDictionary { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Customers/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales.Messages/Commands/SubmitOrderCommand.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.Messages.Commands
4 | {
5 | public class SubmitOrderCommand
6 | {
7 | public int CustomerId { get; set; }
8 |
9 | public List Products { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Customers/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales.Messages/Commands/SubmitOrderCommand.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.Messages.Commands
4 | {
5 | public class SubmitOrderCommand
6 | {
7 | public int CustomerId { get; set; }
8 |
9 | public List Products { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance.Data/Divergent.Finance.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance.Data/Divergent.Finance.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance.Data/Divergent.Finance.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Customers.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Customers.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Customers/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales.Messages/Commands/SubmitOrderCommand.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.Messages.Commands
4 | {
5 | public class SubmitOrderCommand
6 | {
7 | public int CustomerId { get; set; }
8 |
9 | public List Products { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales.Messages/Commands/SubmitOrderCommand.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.Messages.Commands
4 | {
5 | public class SubmitOrderCommand
6 | {
7 | public int CustomerId { get; set; }
8 |
9 | public List Products { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Customers.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Finance.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Sales.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Finance.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Sales.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales.Messages/Commands/SubmitOrderCommand.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.Messages.Commands
4 | {
5 | public class SubmitOrderCommand
6 | {
7 | public int CustomerId { get; set; }
8 |
9 | public List Products { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales.Messages/Commands/SubmitOrderCommand.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.Messages.Commands
4 | {
5 | public class SubmitOrderCommand
6 | {
7 | public int CustomerId { get; set; }
8 |
9 | public List Products { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.CompositionGateway/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.CompositionGateway": {
4 | "commandName": "Project",
5 | "environmentVariables": {
6 | "ASPNETCORE_ENVIRONMENT": "Development"
7 | },
8 | "applicationUrl": "http://localhost:4457"
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.CompositionGateway/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.CompositionGateway": {
4 | "commandName": "Project",
5 | "environmentVariables": {
6 | "ASPNETCORE_ENVIRONMENT": "Development"
7 | },
8 | "applicationUrl": "http://localhost:4457"
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Customers.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Customers.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Customers/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Website": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "http://localhost:11493"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.CompositionGateway/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.CompositionGateway": {
4 | "commandName": "Project",
5 | "environmentVariables": {
6 | "ASPNETCORE_ENVIRONMENT": "Development"
7 | },
8 | "applicationUrl": "http://localhost:4457"
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Customers.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Customers.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Customers/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Customers/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.CompositionGateway/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.CompositionGateway": {
4 | "commandName": "Project",
5 | "environmentVariables": {
6 | "ASPNETCORE_ENVIRONMENT": "Development"
7 | },
8 | "applicationUrl": "http://localhost:4457"
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.CompositionGateway/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.CompositionGateway": {
4 | "commandName": "Project",
5 | "environmentVariables": {
6 | "ASPNETCORE_ENVIRONMENT": "Development"
7 | },
8 | "applicationUrl": "http://localhost:4457"
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.CompositionGateway/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.CompositionGateway": {
4 | "commandName": "Project",
5 | "environmentVariables": {
6 | "ASPNETCORE_ENVIRONMENT": "Development"
7 | },
8 | "applicationUrl": "http://localhost:4457"
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.CompositionGateway/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.CompositionGateway": {
4 | "commandName": "Project",
5 | "environmentVariables": {
6 | "ASPNETCORE_ENVIRONMENT": "Development"
7 | },
8 | "applicationUrl": "http://localhost:4457"
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Customers.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "LiteDbOptions": {
3 | "DatabaseLocation": ""
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.ITOps.Interfaces/IRegisterServices.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Extensions.DependencyInjection;
2 | using Microsoft.Extensions.Hosting;
3 |
4 | namespace Divergent.ITOps.Interfaces
5 | {
6 | public interface IRegisterServices
7 | {
8 | void Register(HostBuilderContext context, IServiceCollection services);
9 | }
10 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.ITOps.Interfaces/IRegisterServices.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Extensions.DependencyInjection;
2 | using Microsoft.Extensions.Hosting;
3 |
4 | namespace Divergent.ITOps.Interfaces
5 | {
6 | public interface IRegisterServices
7 | {
8 | void Register(HostBuilderContext context, IServiceCollection services);
9 | }
10 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.CompositionGateway/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.CompositionGateway": {
4 | "commandName": "Project",
5 | "environmentVariables": {
6 | "ASPNETCORE_ENVIRONMENT": "Development"
7 | },
8 | "applicationUrl": "http://localhost:4457"
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Frontend/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Frontend": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "http://localhost:42273/"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Frontend/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Frontend": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "http://localhost:42273/"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Frontend/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Frontend": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "http://localhost:42273/"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Frontend/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Frontend": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "http://localhost:42273/"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Frontend/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Frontend": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "http://localhost:42273/"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Frontend/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Frontend": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "http://localhost:42273/"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.CompositionGateway/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.CompositionGateway": {
4 | "commandName": "Project",
5 | "launchBrowser": false,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "http://localhost:4457"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Sales.ViewModelComposition.Events/Divergent.Sales.ViewModelComposition.Events.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Shipping.Data/Models/Shipment.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data.Models
2 | {
3 | public class Shipment
4 | {
5 | public int Id { get; set; } // required by EF
6 |
7 | public int OrderNumber { get; set; }
8 |
9 | public string Courier { get; set; }
10 |
11 | public string Status { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Frontend/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Frontend": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "http://localhost:42273/"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Frontend/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Divergent.Frontend": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "http://localhost:42273/"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/targets/Targets.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | Exe
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales.Messages/Events/OrderSubmittedEvent.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.Messages.Events
4 | {
5 | public class OrderSubmittedEvent
6 | {
7 | public int OrderId { get; set; }
8 | public int CustomerId { get; set; }
9 |
10 | public List Products { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales.Messages/Events/OrderSubmittedEvent.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.Messages.Events
4 | {
5 | public class OrderSubmittedEvent
6 | {
7 | public int OrderId { get; set; }
8 | public int CustomerId { get; set; }
9 |
10 | public List Products { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Shipping.Data/Divergent.Shipping.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Sales.API/Divergent.Sales.API.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | Exe
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/Controllers/HomeController.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Mvc;
2 |
3 | namespace Divergent.Website.Controllers
4 | {
5 | public class HomeController : Controller
6 | {
7 | [HttpGet("/")]
8 | public IActionResult Index()
9 | {
10 | return RedirectToRoute(new { controller = "Orders" });
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales.Data/Divergent.Sales.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales.Data/Divergent.Sales.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.ITOps.Messages/Commands/ShipWithFedexCommand.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.ITOps.Messages.Commands
4 | {
5 | public class ShipWithFedexCommand
6 | {
7 | public int OrderId { get; set; }
8 | public int CustomerId { get; set; }
9 | public List Products { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales.Messages/Events/OrderSubmittedEvent.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.Messages.Events
4 | {
5 | public class OrderSubmittedEvent
6 | {
7 | public int OrderId { get; set; }
8 | public int CustomerId { get; set; }
9 |
10 | public List Products { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales.Messages/Events/OrderSubmittedEvent.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.Messages.Events
4 | {
5 | public class OrderSubmittedEvent
6 | {
7 | public int OrderId { get; set; }
8 | public int CustomerId { get; set; }
9 |
10 | public List Products { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Shipping.Data/Divergent.Shipping.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website.sln.startup.json:
--------------------------------------------------------------------------------
1 | {
2 | "Version": 3,
3 | "ListAllProjects": false,
4 | "MultiProjectConfigurations": {
5 | "Demo": {
6 | "Projects": {
7 | "Divergent.Sales.API.Host": {},
8 | "Divergent.Shipping.API.Host": {},
9 | "Divergent.Website": {}
10 | }
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Sales.Data/Divergent.Sales.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales.Messages/Events/OrderSubmittedEvent.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Sales.Messages.Events
4 | {
5 | public class OrderSubmittedEvent
6 | {
7 | public int OrderId { get; set; }
8 | public int CustomerId { get; set; }
9 |
10 | public List Products { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Shipping.Data/WeightCalculator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class WeightCalculator
4 | {
5 | private const double WeightPerProduct = 0.6d;
6 |
7 | public static double CalculateWeight(int numberOfProducts)
8 | {
9 | return numberOfProducts * WeightPerProduct;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales.Data/Divergent.Sales.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales.Data/Divergent.Sales.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Shipping.API/Divergent.Shipping.API.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | Exe
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Customers.Data/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Customers.Data.Models;
2 |
3 | public class Customer
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | public string Street { get; set; }
8 | public string City { get; set; }
9 | public string PostalCode { get; set; }
10 | public string Country { get; set; }
11 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Sales.Data/Divergent.Sales.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales.Data/Divergent.Sales.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Shipping.Data/WeightCalculator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class WeightCalculator
4 | {
5 | private const double WeightPerProduct = 0.6d;
6 |
7 | public static double CalculateWeight(int numberOfProducts)
8 | {
9 | return numberOfProducts * WeightPerProduct;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.ITOps.Interfaces/CustomerInfo.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.ITOps.Interfaces
2 | {
3 | public class CustomerInfo
4 | {
5 | public string Name { get; set; }
6 | public string Street { get; set; }
7 | public string City { get; set; }
8 | public string PostalCode { get; set; }
9 | public string Country { get; set; }
10 | }
11 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.ITOps.Interfaces/CustomerInfo.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.ITOps.Interfaces
2 | {
3 | public class CustomerInfo
4 | {
5 | public string Name { get; set; }
6 | public string Street { get; set; }
7 | public string City { get; set; }
8 | public string PostalCode { get; set; }
9 | public string Country { get; set; }
10 | }
11 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Customers.Data/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Customers.Data.Models;
2 |
3 | public class Customer
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | public string Street { get; set; }
8 | public string City { get; set; }
9 | public string PostalCode { get; set; }
10 | public string Country { get; set; }
11 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales.Data/Divergent.Sales.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Shipping.Data/WeightCalculator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class WeightCalculator
4 | {
5 | private const double WeightPerProduct = 0.6d;
6 |
7 | public static double CalculateWeight(int numberOfProducts)
8 | {
9 | return numberOfProducts * WeightPerProduct;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Shipping.Data/WeightCalculator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class WeightCalculator
4 | {
5 | private const double WeightPerProduct = 0.6d;
6 |
7 | public static double CalculateWeight(int numberOfProducts)
8 | {
9 | return numberOfProducts * WeightPerProduct;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Shipping.Data/WeightCalculator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class WeightCalculator
4 | {
5 | private const double WeightPerProduct = 0.6d;
6 |
7 | public static double CalculateWeight(int numberOfProducts)
8 | {
9 | return numberOfProducts * WeightPerProduct;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Customers.Data/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Customers.Data.Models;
2 |
3 | public class Customer
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 | public string Street { get; set; }
8 | public string City { get; set; }
9 | public string PostalCode { get; set; }
10 | public string Country { get; set; }
11 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Shipping.Data/WeightCalculator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class WeightCalculator
4 | {
5 | private const double WeightPerProduct = 0.6d;
6 |
7 | public static double CalculateWeight(int numberOfProducts)
8 | {
9 | return numberOfProducts * WeightPerProduct;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.CompositionGateway.sln.startup.json:
--------------------------------------------------------------------------------
1 | {
2 | "Version": 3,
3 | "ListAllProjects": false,
4 | "MultiProjectConfigurations": {
5 | "Demo": {
6 | "Projects": {
7 | "Divergent.Sales.API.Host": {},
8 | "Divergent.Shipping.API.Host": {},
9 | "Divergent.CompositionGateway": {}
10 | }
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Frontend/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Frontend;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Frontend/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Frontend;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Frontend/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Frontend;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Frontend/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Frontend;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Customers.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Customers.API;
2 |
3 | var host = Host.CreateDefaultBuilder()
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Finance.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Finance.API;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Customers.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Customers.API;
2 |
3 | var host = Host.CreateDefaultBuilder()
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Finance.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Finance.API;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Frontend/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Frontend;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Frontend/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Frontend;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Customers.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Customers.API;
2 |
3 | var host = Host.CreateDefaultBuilder()
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Finance.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Finance.API;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Customers.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Customers.API;
2 |
3 | var host = Host.CreateDefaultBuilder()
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Finance.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Finance.API;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Frontend/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Frontend;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Frontend/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Frontend;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.CompositionGateway/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.CompositionGateway;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.CompositionGateway/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.CompositionGateway;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Customers.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Customers.API;
2 |
3 | var host = Host.CreateDefaultBuilder()
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Finance.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Finance.API;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Customers.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Customers.API;
2 |
3 | var host = Host.CreateDefaultBuilder()
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Finance.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Finance.API;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Customers.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Customers.API;
2 |
3 | var host = Host.CreateDefaultBuilder()
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Finance.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Finance.API;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Customers.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Customers.API;
2 |
3 | var host = Host.CreateDefaultBuilder()
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Finance.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Finance.API;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.CompositionGateway/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.CompositionGateway;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Shipping/Sagas/ShippingSagaData.cs:
--------------------------------------------------------------------------------
1 | using NServiceBus;
2 |
3 | namespace Divergent.Shipping.Sagas;
4 |
5 | public class ShippingSagaData : ContainSagaData
6 | {
7 | public int OrderId { get; set; }
8 | public int CustomerId { get; set; }
9 | public bool IsOrderSubmitted { get; set; }
10 | public bool IsPaymentProcessed { get; set; }
11 | public List Products { get; set; }
12 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.CompositionGateway/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.CompositionGateway;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.CompositionGateway/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.CompositionGateway;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Customers.Data/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Customers.Data.Models;
4 |
5 | public class Customer
6 | {
7 | public int Id { get; set; }
8 | public string Name { get; set; }
9 | public string Street { get; set; }
10 | public string City { get; set; }
11 | public string PostalCode { get; set; }
12 | public string Country { get; set; }
13 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Sales.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Divergent.Sales.Data.Models;
5 |
6 | public class Order
7 | {
8 | public int Id { get; set; }
9 |
10 | public int CustomerId { get; set; }
11 |
12 | public DateTime DateTimeUtc { get; set; }
13 |
14 | public string State { get; set; }
15 |
16 | public ICollection Items { get; set; }
17 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Customers.Data/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Customers.Data.Models;
4 |
5 | public class Customer
6 | {
7 | public int Id { get; set; }
8 | public string Name { get; set; }
9 | public string Street { get; set; }
10 | public string City { get; set; }
11 | public string PostalCode { get; set; }
12 | public string Country { get; set; }
13 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Sales.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Divergent.Sales.Data.Models;
5 |
6 | public class Order
7 | {
8 | public int Id { get; set; }
9 |
10 | public int CustomerId { get; set; }
11 |
12 | public DateTime DateTimeUtc { get; set; }
13 |
14 | public string State { get; set; }
15 |
16 | public ICollection Items { get; set; }
17 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.CompositionGateway/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.CompositionGateway;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Sales.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Sales.API;
2 | using NServiceBus;
3 |
4 | var host = Host.CreateDefaultBuilder(args)
5 | .ConfigureWebHostDefaults(webBuilder =>
6 | {
7 | webBuilder.UseStartup();
8 | }).Build();
9 |
10 | var hostEnvironment = host.Services.GetRequiredService();
11 |
12 | Console.Title = hostEnvironment.ApplicationName;
13 |
14 | host.Run();
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Sales.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Divergent.Sales.Data.Models;
5 |
6 | public class Order
7 | {
8 | public int Id { get; set; }
9 |
10 | public int CustomerId { get; set; }
11 |
12 | public DateTime DateTimeUtc { get; set; }
13 |
14 | public string State { get; set; }
15 |
16 | public ICollection Items { get; set; }
17 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Sales.API/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.Sales.API;
2 | using NServiceBus;
3 |
4 | var host = Host.CreateDefaultBuilder(args)
5 | .ConfigureWebHostDefaults(webBuilder =>
6 | {
7 | webBuilder.UseStartup();
8 | }).Build();
9 |
10 | var hostEnvironment = host.Services.GetRequiredService();
11 |
12 | Console.Title = hostEnvironment.ApplicationName;
13 |
14 | host.Run();
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.CompositionGateway/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.CompositionGateway;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.CompositionGateway/Program.cs:
--------------------------------------------------------------------------------
1 | using Divergent.CompositionGateway;
2 |
3 | var host = Host.CreateDefaultBuilder(args)
4 | .ConfigureWebHostDefaults(webBuilder =>
5 | {
6 | webBuilder.UseStartup();
7 | }).Build();
8 |
9 | var hostEnvironment = host.Services.GetRequiredService();
10 |
11 | Console.Title = hostEnvironment.ApplicationName;
12 |
13 | host.Run();
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Customers.Data/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Customers.Data.Models;
4 |
5 | public class Customer
6 | {
7 | public int Id { get; set; }
8 | public string Name { get; set; }
9 | public string Street { get; set; }
10 | public string City { get; set; }
11 | public string PostalCode { get; set; }
12 | public string Country { get; set; }
13 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Sales.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Divergent.Sales.Data.Models;
5 |
6 | public class Order
7 | {
8 | public int Id { get; set; }
9 |
10 | public int CustomerId { get; set; }
11 |
12 | public DateTime DateTimeUtc { get; set; }
13 |
14 | public string State { get; set; }
15 |
16 | public ICollection Items { get; set; }
17 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Customers.Data/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Customers.Data.Models;
4 |
5 | public class Customer
6 | {
7 | public int Id { get; set; }
8 | public string Name { get; set; }
9 | public string Street { get; set; }
10 | public string City { get; set; }
11 | public string PostalCode { get; set; }
12 | public string Country { get; set; }
13 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Sales.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Divergent.Sales.Data.Models;
5 |
6 | public class Order
7 | {
8 | public int Id { get; set; }
9 |
10 | public int CustomerId { get; set; }
11 |
12 | public DateTime DateTimeUtc { get; set; }
13 |
14 | public string State { get; set; }
15 |
16 | public ICollection Items { get; set; }
17 | }
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Sales.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Divergent.Sales.Data.Models;
5 |
6 | public class Order
7 | {
8 | public int Id { get; set; }
9 |
10 | public int CustomerId { get; set; }
11 |
12 | public DateTime DateTimeUtc { get; set; }
13 |
14 | public string State { get; set; }
15 |
16 | public ICollection Items { get; set; }
17 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Customers.Data/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Divergent.Customers.Data.Models;
4 |
5 | public class Customer
6 | {
7 | public int Id { get; set; }
8 | public string Name { get; set; }
9 | public string Street { get; set; }
10 | public string City { get; set; }
11 | public string PostalCode { get; set; }
12 | public string Country { get; set; }
13 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Sales.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Divergent.Sales.Data.Models;
5 |
6 | public class Order
7 | {
8 | public int Id { get; set; }
9 |
10 | public int CustomerId { get; set; }
11 |
12 | public DateTime DateTimeUtc { get; set; }
13 |
14 | public string State { get; set; }
15 |
16 | public ICollection Items { get; set; }
17 | }
--------------------------------------------------------------------------------
/demos/asp-net-core/dsemo-requests-list.rest:
--------------------------------------------------------------------------------
1 | ### get order details from Sales API
2 | http://localhost:20295/api/orders/1
3 |
4 | ### get order details from Shipping API
5 | http://localhost:20296/api/shipments/order/1
6 |
7 | ### Order #1, composed
8 | http://localhost:4457/orders/details/1
9 |
10 | ### Orders list, Sales only"
11 | http://localhost:20295/api/orders?pageSize=10&pageIndex=0
12 |
13 | ### Orders list, composed
14 | http://localhost:4457/orders
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Sales.Data/Models/Order.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Divergent.Sales.Data.Models;
5 |
6 | public class Order
7 | {
8 | public int Id { get; set; }
9 |
10 | public int CustomerId { get; set; }
11 |
12 | public DateTime DateTimeUtc { get; set; }
13 |
14 | public string State { get; set; }
15 |
16 | public ICollection Items { get; set; }
17 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/externalsystems/MastercardPaymentProvider/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/launchsettings.json",
3 | "profiles": {
4 | "PaymentProviders": {
5 | "commandName": "Project",
6 | "dotnetRunMessages": true,
7 | "applicationUrl": "http://localhost:12345",
8 | "environmentVariables": {
9 | "ASPNETCORE_ENVIRONMENT": "Development"
10 | }
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/externalsystems/MastercardPaymentProvider/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/launchsettings.json",
3 | "profiles": {
4 | "PaymentProviders": {
5 | "commandName": "Project",
6 | "dotnetRunMessages": true,
7 | "applicationUrl": "http://localhost:12345",
8 | "environmentVariables": {
9 | "ASPNETCORE_ENVIRONMENT": "Development"
10 | }
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Shipping/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionStrings": {
3 | "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=DistributedTracing-Shipping;Trusted_Connection=True;MultipleActiveResultSets=true"
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/externalsystems/MastercardPaymentProvider/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/launchsettings.json",
3 | "profiles": {
4 | "PaymentProviders": {
5 | "commandName": "Project",
6 | "dotnetRunMessages": true,
7 | "applicationUrl": "http://localhost:12345",
8 | "environmentVariables": {
9 | "ASPNETCORE_ENVIRONMENT": "Development"
10 | }
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/externalsystems/MastercardPaymentProvider/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/launchsettings.json",
3 | "profiles": {
4 | "PaymentProviders": {
5 | "commandName": "Project",
6 | "dotnetRunMessages": true,
7 | "applicationUrl": "http://localhost:12345",
8 | "environmentVariables": {
9 | "ASPNETCORE_ENVIRONMENT": "Development"
10 | }
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/demos/asp-net-core/ITOps.Data/ITOps.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 | enable
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/externalsystems/MastercardPaymentProvider/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/launchsettings.json",
3 | "profiles": {
4 | "PaymentProviders": {
5 | "commandName": "Project",
6 | "dotnetRunMessages": true,
7 | "applicationUrl": "http://localhost:12345",
8 | "environmentVariables": {
9 | "ASPNETCORE_ENVIRONMENT": "Development"
10 | }
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/externalsystems/MastercardPaymentProvider/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/launchsettings.json",
3 | "profiles": {
4 | "PaymentProviders": {
5 | "commandName": "Project",
6 | "dotnetRunMessages": true,
7 | "applicationUrl": "http://localhost:12345",
8 | "environmentVariables": {
9 | "ASPNETCORE_ENVIRONMENT": "Development"
10 | }
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Shipping.Data/VolumeEstimator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class VolumeEstimator
4 | {
5 | private const double Height = 0.1d;
6 | private const double Width = 0.1d;
7 | private const double Depth = 0.1d;
8 |
9 | public static double Calculate(int numberOfProducts)
10 | {
11 | return Height*Width*Depth*numberOfProducts;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Shipping.Data/VolumeEstimator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class VolumeEstimator
4 | {
5 | private const double Height = 0.1d;
6 | private const double Width = 0.1d;
7 | private const double Depth = 0.1d;
8 |
9 | public static double Calculate(int numberOfProducts)
10 | {
11 | return Height*Width*Depth*numberOfProducts;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Shipping/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionStrings": {
3 | "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=DistributedTracing-Shipping;Trusted_Connection=True;MultipleActiveResultSets=true"
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Shipping/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionStrings": {
3 | "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=DistributedTracing-Shipping;Trusted_Connection=True;MultipleActiveResultSets=true"
4 | },
5 | "Logging": {
6 | "LogLevel": {
7 | "Default": "Information",
8 | "Microsoft": "Warning",
9 | "Microsoft.Hosting.Lifetime": "Information"
10 | }
11 | },
12 | "AllowedHosts": "*"
13 | }
14 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Frontend/wwwroot/assets/site.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 50px;
3 | padding-bottom: 50px;
4 | }
5 | /* Set padding to keep content from hitting the edges */
6 | .body-content {
7 | padding-left: 15px;
8 | padding-right: 15px;
9 | }
10 |
11 | .body-content > section {
12 | padding-top: 15px;
13 | }
14 |
15 | .button {
16 | cursor: pointer;
17 | }
18 |
19 | .pending-order {
20 | font-style:italic;
21 | color: gray;
22 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Frontend/wwwroot/assets/site.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 50px;
3 | padding-bottom: 50px;
4 | }
5 | /* Set padding to keep content from hitting the edges */
6 | .body-content {
7 | padding-left: 15px;
8 | padding-right: 15px;
9 | }
10 |
11 | .body-content > section {
12 | padding-top: 15px;
13 | }
14 |
15 | .button {
16 | cursor: pointer;
17 | }
18 |
19 | .pending-order {
20 | font-style:italic;
21 | color: gray;
22 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Shipping.Data/VolumeEstimator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class VolumeEstimator
4 | {
5 | private const double Height = 0.1d;
6 | private const double Width = 0.1d;
7 | private const double Depth = 0.1d;
8 |
9 | public static double Calculate(int numberOfProducts)
10 | {
11 | return Height*Width*Depth*numberOfProducts;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Shipping.Data/VolumeEstimator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class VolumeEstimator
4 | {
5 | private const double Height = 0.1d;
6 | private const double Width = 0.1d;
7 | private const double Depth = 0.1d;
8 |
9 | public static double Calculate(int numberOfProducts)
10 | {
11 | return Height*Width*Depth*numberOfProducts;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Frontend/wwwroot/assets/site.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 50px;
3 | padding-bottom: 50px;
4 | }
5 | /* Set padding to keep content from hitting the edges */
6 | .body-content {
7 | padding-left: 15px;
8 | padding-right: 15px;
9 | }
10 |
11 | .body-content > section {
12 | padding-top: 15px;
13 | }
14 |
15 | .button {
16 | cursor: pointer;
17 | }
18 |
19 | .pending-order {
20 | font-style:italic;
21 | color: gray;
22 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Frontend/wwwroot/assets/site.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 50px;
3 | padding-bottom: 50px;
4 | }
5 | /* Set padding to keep content from hitting the edges */
6 | .body-content {
7 | padding-left: 15px;
8 | padding-right: 15px;
9 | }
10 |
11 | .body-content > section {
12 | padding-top: 15px;
13 | }
14 |
15 | .button {
16 | cursor: pointer;
17 | }
18 |
19 | .pending-order {
20 | font-style:italic;
21 | color: gray;
22 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Shipping.Data/VolumeEstimator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class VolumeEstimator
4 | {
5 | private const double Height = 0.1d;
6 | private const double Width = 0.1d;
7 | private const double Depth = 0.1d;
8 |
9 | public static double Calculate(int numberOfProducts)
10 | {
11 | return Height*Width*Depth*numberOfProducts;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Frontend/wwwroot/assets/site.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 50px;
3 | padding-bottom: 50px;
4 | }
5 | /* Set padding to keep content from hitting the edges */
6 | .body-content {
7 | padding-left: 15px;
8 | padding-right: 15px;
9 | }
10 |
11 | .body-content > section {
12 | padding-top: 15px;
13 | }
14 |
15 | .button {
16 | cursor: pointer;
17 | }
18 |
19 | .pending-order {
20 | font-style:italic;
21 | color: gray;
22 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Frontend/wwwroot/assets/site.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 50px;
3 | padding-bottom: 50px;
4 | }
5 | /* Set padding to keep content from hitting the edges */
6 | .body-content {
7 | padding-left: 15px;
8 | padding-right: 15px;
9 | }
10 |
11 | .body-content > section {
12 | padding-top: 15px;
13 | }
14 |
15 | .button {
16 | cursor: pointer;
17 | }
18 |
19 | .pending-order {
20 | font-style:italic;
21 | color: gray;
22 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Frontend/wwwroot/assets/site.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 50px;
3 | padding-bottom: 50px;
4 | }
5 | /* Set padding to keep content from hitting the edges */
6 | .body-content {
7 | padding-left: 15px;
8 | padding-right: 15px;
9 | }
10 |
11 | .body-content > section {
12 | padding-top: 15px;
13 | }
14 |
15 | .button {
16 | cursor: pointer;
17 | }
18 |
19 | .pending-order {
20 | font-style:italic;
21 | color: gray;
22 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Frontend/wwwroot/assets/site.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 50px;
3 | padding-bottom: 50px;
4 | }
5 | /* Set padding to keep content from hitting the edges */
6 | .body-content {
7 | padding-left: 15px;
8 | padding-right: 15px;
9 | }
10 |
11 | .body-content > section {
12 | padding-top: 15px;
13 | }
14 |
15 | .button {
16 | cursor: pointer;
17 | }
18 |
19 | .pending-order {
20 | font-style:italic;
21 | color: gray;
22 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Shipping.Data/VolumeEstimator.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Shipping.Data
2 | {
3 | public static class VolumeEstimator
4 | {
5 | private const double Height = 0.1d;
6 | private const double Width = 0.1d;
7 | private const double Depth = 0.1d;
8 |
9 | public static double Calculate(int numberOfProducts)
10 | {
11 | return Height*Width*Depth*numberOfProducts;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Sales.ViewModelComposition/Divergent.Sales.ViewModelComposition.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.ITOps.Interfaces/Divergent.ITOps.Interfaces.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Shipping.ViewModelComposition/Divergent.Shipping.ViewModelComposition.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.ITOps.Interfaces/Divergent.ITOps.Interfaces.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Frontend/Startup.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Frontend;
2 |
3 | public class Startup
4 | {
5 | public void ConfigureServices(IServiceCollection services)
6 | {
7 | }
8 |
9 | public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
10 | {
11 | if (env.IsDevelopment())
12 | {
13 | app.UseDeveloperExceptionPage();
14 | }
15 |
16 | app.UseDefaultFiles();
17 | app.UseStaticFiles();
18 | }
19 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Frontend/Startup.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Frontend;
2 |
3 | public class Startup
4 | {
5 | public void ConfigureServices(IServiceCollection services)
6 | {
7 | }
8 |
9 | public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
10 | {
11 | if (env.IsDevelopment())
12 | {
13 | app.UseDeveloperExceptionPage();
14 | }
15 |
16 | app.UseDefaultFiles();
17 | app.UseStaticFiles();
18 | }
19 | }
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.Website/Divergent.Website.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Frontend/Startup.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Frontend;
2 |
3 | public class Startup
4 | {
5 | public void ConfigureServices(IServiceCollection services)
6 | {
7 | }
8 |
9 | public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
10 | {
11 | if (env.IsDevelopment())
12 | {
13 | app.UseDeveloperExceptionPage();
14 | }
15 |
16 | app.UseDefaultFiles();
17 | app.UseStaticFiles();
18 | }
19 | }
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Frontend/Startup.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Frontend;
2 |
3 | public class Startup
4 | {
5 | public void ConfigureServices(IServiceCollection services)
6 | {
7 | }
8 |
9 | public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
10 | {
11 | if (env.IsDevelopment())
12 | {
13 | app.UseDeveloperExceptionPage();
14 | }
15 |
16 | app.UseDefaultFiles();
17 | app.UseStaticFiles();
18 | }
19 | }
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Frontend/Startup.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Frontend;
2 |
3 | public class Startup
4 | {
5 | public void ConfigureServices(IServiceCollection services)
6 | {
7 | }
8 |
9 | public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
10 | {
11 | if (env.IsDevelopment())
12 | {
13 | app.UseDeveloperExceptionPage();
14 | }
15 |
16 | app.UseDefaultFiles();
17 | app.UseStaticFiles();
18 | }
19 | }
--------------------------------------------------------------------------------
/exercises/04-integration/before/Divergent.Frontend/Startup.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Frontend;
2 |
3 | public class Startup
4 | {
5 | public void ConfigureServices(IServiceCollection services)
6 | {
7 | }
8 |
9 | public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
10 | {
11 | if (env.IsDevelopment())
12 | {
13 | app.UseDeveloperExceptionPage();
14 | }
15 |
16 | app.UseDefaultFiles();
17 | app.UseStaticFiles();
18 | }
19 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Frontend/Startup.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Frontend;
2 |
3 | public class Startup
4 | {
5 | public void ConfigureServices(IServiceCollection services)
6 | {
7 | }
8 |
9 | public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
10 | {
11 | if (env.IsDevelopment())
12 | {
13 | app.UseDeveloperExceptionPage();
14 | }
15 |
16 | app.UseDefaultFiles();
17 | app.UseStaticFiles();
18 | }
19 | }
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Frontend/Startup.cs:
--------------------------------------------------------------------------------
1 | namespace Divergent.Frontend;
2 |
3 | public class Startup
4 | {
5 | public void ConfigureServices(IServiceCollection services)
6 | {
7 | }
8 |
9 | public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
10 | {
11 | if (env.IsDevelopment())
12 | {
13 | app.UseDeveloperExceptionPage();
14 | }
15 |
16 | app.UseDefaultFiles();
17 | app.UseStaticFiles();
18 | }
19 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Customers.Data/Divergent.Customers.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Customers.Data/Divergent.Customers.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Customers.Data/Divergent.Customers.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/before/Divergent.Customers.Data/Divergent.Customers.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/after/Divergent.Customers.Data/Divergent.Customers.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/exercises/02-publish-subscribe/before/Divergent.Customers.Data/Divergent.Customers.Data.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/exercises/04-integration/after/Divergent.Shipping/Sagas/ShippingSagaData.cs:
--------------------------------------------------------------------------------
1 | using NServiceBus;
2 |
3 | namespace Divergent.Shipping.Sagas;
4 |
5 | public class ShippingSagaData : ContainSagaData
6 | {
7 | public int OrderId { get; set; }
8 | public int CustomerId { get; set; }
9 | public bool IsOrderSubmitted { get; set; }
10 | public bool IsPaymentProcessed { get; set; }
11 | public List Products { get; set; }
12 |
13 | public class Product
14 | {
15 | public int Identifier { get; set; }
16 | }
17 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Shipping/Sagas/ShippingSagaData.cs:
--------------------------------------------------------------------------------
1 | using NServiceBus;
2 |
3 | namespace Divergent.Shipping.Sagas;
4 |
5 | public class ShippingSagaData : ContainSagaData
6 | {
7 | public int OrderId { get; set; }
8 | public int CustomerId { get; set; }
9 | public bool IsOrderSubmitted { get; set; }
10 | public bool IsPaymentProcessed { get; set; }
11 | public ICollection Products { get; set; }
12 |
13 | public class Product
14 | {
15 | public int Identifier { get; set; }
16 | }
17 | }
--------------------------------------------------------------------------------
/exercises/03-sagas/after/Divergent.Customers.API/Divergent.Customers.API.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/exercises/03-sagas/before/Divergent.Customers.API/Divergent.Customers.API.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/exercises/shared-api-gateway/ITOps.SharedConfiguration/ITOps.SharedConfiguration.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | ITOps.EndpointConfig
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/demos/asp-net-core/Divergent.CompositionGateway/Divergent.CompositionGateway.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | Exe
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/exercises/01-composite-ui/after/Divergent.Customers.API/Divergent.Customers.API.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------