From c8dac96c2cad48e574810b3d4f8c8a7100e458cb Mon Sep 17 00:00:00 2001
From: Mark Pieszak
Date: Tue, 12 Mar 2019 15:45:06 -0400
Subject: [PATCH 01/10] docs: update trilon info
---
package.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package.json b/package.json
index 995977bb..99ba5443 100644
--- a/package.json
+++ b/package.json
@@ -1,9 +1,9 @@
{
"name": "angular7-aspnetcore-universal",
"author": {
- "name": "Mark Pieszak",
- "email": "hello@devhelp.online",
- "url": "http://devhelp.online/"
+ "name": "Mark Pieszak | Trilon Consulting",
+ "email": "hello@trilon.io",
+ "url": "https://trilon.io/"
},
"version": "1.0.0-rc4",
"scripts": {
From 2b9154407a8d19491640484926456356b7229676 Mon Sep 17 00:00:00 2001
From: Mark Pieszak
Date: Tue, 12 Mar 2019 15:47:21 -0400
Subject: [PATCH 02/10] chore: trilon info
---
ClientApp/app/containers/home/home.component.html | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/ClientApp/app/containers/home/home.component.html b/ClientApp/app/containers/home/home.component.html
index 26160f60..c3a92f5c 100644
--- a/ClientApp/app/containers/home/home.component.html
+++ b/ClientApp/app/containers/home/home.component.html
@@ -3,7 +3,7 @@
Enjoy the latest features from .NET Core & Angular 7.x!
For more info check the repo here:
- AspNetCore-Angular-Universal repo
+ AspNetCore-Angular-Universal repo
@@ -52,14 +52,14 @@ {{ 'HOME_ISSUES_TITLE' | translate }}
-
+
Consulting | Development | Training | Workshops
- Get your Team or Application up to speed by working with some of the leading industry experts in JavaScript & ASP.NET!
+ Get your Team or Application up to speed by working with some of the leading industry experts in JavaScript, Node / NestJS, & ASP.NET!
Follow us on Twitter!
- @DevHelpOnline |
+ @trilon_io |
@MarkPieszak
From 83b0301b1db1ed34e1d16d8ef9fa4750c8b970d8 Mon Sep 17 00:00:00 2001
From: Mark Pieszak
Date: Sun, 17 Mar 2019 11:55:39 -0400
Subject: [PATCH 03/10] docs: update
---
README.md | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index e6ed1417..b0b14e9f 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,15 @@
# ASP.NET Core 2.1 & Angular 7(+) Advanced Starter - PWA & Server-side prerendering (for Angular SEO)!
-## By [Trilon.io](https://Trilon.io)
+## Made with :heart: by [Trilon.io](https://Trilon.io)
+
+
+
+
+
+
+---
-> Updated to the latest Angular 7.x
+## High-level architectural diagram
@@ -471,7 +478,9 @@ Check out **[Trilon.io](https://Trilon.io)** for more info! Twitter [@Trilon_io]
Contact us at , and let's talk about your projects needs.
-
+
+
+
## Follow Trilon online:
From 7e2468a7d01472acf15f430b50ca596a64a62d6b Mon Sep 17 00:00:00 2001
From: Mark Pieszak
Date: Sun, 17 Mar 2019 11:57:52 -0400
Subject: [PATCH 04/10] docs: update
---
README.md | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/README.md b/README.md
index b0b14e9f..b6402f4b 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,12 @@
# ASP.NET Core 2.1 & Angular 7(+) Advanced Starter - PWA & Server-side prerendering (for Angular SEO)!
-## Made with :heart: by [Trilon.io](https://Trilon.io)
+### Made with :heart: by [Trilon.io](https://Trilon.io)
----
-
-## High-level architectural diagram
From 4aa16404f1b1a0dd1b4e70b7dd891b0006eabd9b Mon Sep 17 00:00:00 2001
From: Mark Pieszak
Date: Mon, 18 Mar 2019 12:32:39 -0400
Subject: [PATCH 05/10] fix: rxjs pin to 6.2.2
closes #714
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 99ba5443..01bc52bc 100644
--- a/package.json
+++ b/package.json
@@ -59,7 +59,7 @@
"preboot": "^7.0.0",
"raw-loader": "^1.0.0",
"rimraf": "^2.6.3",
- "rxjs": "~6.4.0",
+ "rxjs": "6.2.2",
"sass-loader": "^7.1.0",
"style-loader": "^0.23.1",
"to-string-loader": "^1.1.5",
From 9cf8b7ba6ee15c01e2ec02a77421e7ee77eb6254 Mon Sep 17 00:00:00 2001
From: Mark Pieszak
Date: Fri, 5 Apr 2019 12:17:42 -0400
Subject: [PATCH 06/10] Update README.md
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index b6402f4b..8e933ca5 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
### Made with :heart: by [Trilon.io](https://Trilon.io)
-
+
@@ -476,7 +476,7 @@ Contact us at , and let's talk about your projects needs.
-
+
From 82dc1897c03f9546b613b72e4a72040b85ab54f1 Mon Sep 17 00:00:00 2001
From: Mark Pieszak
Date: Fri, 5 Apr 2019 12:45:04 -0400
Subject: [PATCH 07/10] Update README.md
---
README.md | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 8e933ca5..ecac2050 100644
--- a/README.md
+++ b/README.md
@@ -7,11 +7,6 @@
-
-
-
-
-
### Harness the power of Angular 7+, ASP.NET Core 2.1, now with SEO !
Angular SEO in action:
@@ -20,6 +15,12 @@ Angular SEO in action:
+### Angular Universal Application Architecture
+
+
+
+
+
### What is this repo? Live Demo here: http://aspnetcore-angular2-universal.azurewebsites.net
This repository is maintained by [Trilon.io](https://Trilon.io) and the [Angular](https://github.com/angular/angular) Universal team and is meant to be an advanced starter
From b8ec2b0ff276a187e3821797fbd03201842d5311 Mon Sep 17 00:00:00 2001
From: Mark Pieszak
Date: Fri, 5 Apr 2019 12:45:28 -0400
Subject: [PATCH 08/10] Update README.md
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index ecac2050..482cc672 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,8 @@
+---
+
### Harness the power of Angular 7+, ASP.NET Core 2.1, now with SEO !
Angular SEO in action:
From 55f0105f807946cff515aaa0ef535de1329c2b9f Mon Sep 17 00:00:00 2001
From: Mark Pieszak
Date: Sun, 7 Apr 2019 17:56:32 -0400
Subject: [PATCH 09/10] Update README.md
---
README.md | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 482cc672..f52bdf4d 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,17 @@
# ASP.NET Core 2.1 & Angular 7(+) Advanced Starter - PWA & Server-side prerendering (for Angular SEO)!
-### Made with :heart: by [Trilon.io](https://Trilon.io)
-
+---
+
+
+
-
+
+
+ Made with :heart: by Trilon.io
+
---
### Harness the power of Angular 7+, ASP.NET Core 2.1, now with SEO !
From 837b134516631afb3034d40278e2bc9f170acdba Mon Sep 17 00:00:00 2001
From: Detys
Date: Mon, 27 May 2019 02:49:07 +0300
Subject: [PATCH 10/10] fix(seeding): seeding now follows .NET Core 2.0 best
practices
---
Program.cs | 60 ++++++++++++-------
Server/Data/CoreEFStartup.cs | 17 ++++++
Server/Data/LoggingEFStartup.cs | 13 ++++
...itializer.cs => SimpleContentEFStartup.cs} | 24 ++++----
4 files changed, 80 insertions(+), 34 deletions(-)
create mode 100644 Server/Data/CoreEFStartup.cs
create mode 100644 Server/Data/LoggingEFStartup.cs
rename Server/Data/{DbInitializer.cs => SimpleContentEFStartup.cs} (67%)
diff --git a/Program.cs b/Program.cs
index 69e56419..fdf46454 100644
--- a/Program.cs
+++ b/Program.cs
@@ -6,28 +6,42 @@
using Microsoft.Extensions.Logging;
using System;
using System.IO;
+using System.Threading.Tasks;
-public class Program {
- public static void Main (string[] args) {
- var host = BuildWebHost (args);
- using (var scope = host.Services.CreateScope ()) {
- var services = scope.ServiceProvider;
- try {
- var context = services.GetRequiredService();
- DbInitializer.Initialize(context);
- } catch (Exception ex) {
- var logger = services.GetRequiredService> ();
- logger.LogError (ex, "An error occurred while seeding the database.");
- }
- }
+public class Program
+{
+ public static async Task Main(string[] args)
+ {
+ var host = BuildWebHost(args);
+ using (var scope = host.Services.CreateScope())
+ {
+ var services = scope.ServiceProvider;
- host.Run ();
- }
- public static IWebHost BuildWebHost (string[] args) =>
- WebHost.CreateDefaultBuilder (args)
- .UseKestrel ()
- .UseContentRoot (Directory.GetCurrentDirectory ())
- .UseIISIntegration ()
- .UseStartup ()
- .Build ();
- }
+ try
+ {
+ await EnsureDataStorageIsReady(services);
+
+ } catch (Exception ex)
+ {
+ var logger = services.GetRequiredService>();
+ logger.LogError(ex, "An error occurred while seeding the database.");
+ }
+ }
+
+ host.Run();
+ }
+ public static IWebHost BuildWebHost(string[] args) =>
+ WebHost.CreateDefaultBuilder(args)
+ .UseKestrel()
+ .UseContentRoot(Directory.GetCurrentDirectory())
+ .UseIISIntegration()
+ .UseStartup()
+ .Build();
+
+ private static async Task EnsureDataStorageIsReady(IServiceProvider services)
+ {
+ await CoreEFStartup.InitializeDatabaseAsync(services);
+ await SimpleContentEFStartup.InitializeDatabaseAsync(services);
+ await LoggingEFStartup.InitializeDatabaseAsync(services);
+ }
+}
diff --git a/Server/Data/CoreEFStartup.cs b/Server/Data/CoreEFStartup.cs
new file mode 100644
index 00000000..d3947ef1
--- /dev/null
+++ b/Server/Data/CoreEFStartup.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace AspCoreServer.Data
+{
+ public static class CoreEFStartup
+ {
+ public static async Task InitializeDatabaseAsync(IServiceProvider services)
+ {
+ var context = services.GetRequiredService();
+
+ await context.Database.EnsureCreatedAsync();
+ }
+
+ }
+}
diff --git a/Server/Data/LoggingEFStartup.cs b/Server/Data/LoggingEFStartup.cs
new file mode 100644
index 00000000..edf33498
--- /dev/null
+++ b/Server/Data/LoggingEFStartup.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Threading.Tasks;
+
+namespace AspCoreServer.Data
+{
+ public static class LoggingEFStartup
+ {
+ public static async Task InitializeDatabaseAsync(IServiceProvider services)
+ {
+ //Implent to your hearts' content
+ }
+ }
+}
diff --git a/Server/Data/DbInitializer.cs b/Server/Data/SimpleContentEFStartup.cs
similarity index 67%
rename from Server/Data/DbInitializer.cs
rename to Server/Data/SimpleContentEFStartup.cs
index 919c9282..db160dee 100644
--- a/Server/Data/DbInitializer.cs
+++ b/Server/Data/SimpleContentEFStartup.cs
@@ -1,16 +1,20 @@
using System;
-using System.Linq;
-using AspCoreServer;
+using System.Threading.Tasks;
using AspCoreServer.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
-namespace AspCoreServer.Data {
- public static class DbInitializer {
- public static void Initialize (SpaDbContext context) {
- context.Database.EnsureCreated ();
+namespace AspCoreServer.Data
+{
+ public static class SimpleContentEFStartup
+ {
+ public static async Task InitializeDatabaseAsync(IServiceProvider services)
+ {
+ var context = services.GetRequiredService();
- if (context.User.Any ()) {
+
+ if (await context.User.AnyAsync())
+ {
return; // DB has been seeded
}
var users = new User[] {
@@ -27,11 +31,9 @@ public static void Initialize (SpaDbContext context) {
new User () { Name = "Gaulomatic" },
new User () { Name = "GRIMMR3AP3R" }
};
+ await context.User.AddRangeAsync(users);
- foreach (var s in users) {
- context.User.Add (s);
- }
- context.SaveChanges ();
+ await context.SaveChangesAsync();
}
}
}