Skip to content

Commit 53ef859

Browse files
committed
Refactoring to fluent interfaces
Refactoring to expression bodies for methods Dependencies bump to latest Meta info reorganized
1 parent 0a0d815 commit 53ef859

18 files changed

Lines changed: 48 additions & 74 deletions

Simplify.Web.Templates.csproj

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<TargetFramework>netcoreapp3.1</TargetFramework>
44

55
<PackageType>Template</PackageType>
6-
<PackageVersion>0.7.3</PackageVersion>
6+
<PackageVersion>0.8</PackageVersion>
77
<PackageId>Simplify.Web.Templates</PackageId>
88
<IsPackable>true</IsPackable>
99
<PackageProjectUrl>https://github.com/SimplifyNet/Simplify.Web.Templates</PackageProjectUrl>
@@ -12,9 +12,10 @@
1212
<RepositoryType>GIT</RepositoryType>
1313
<PackageReleaseNotes>
1414
Updates
15-
* Upgrade to Simplify.Web 4.2.* (floating version set)
16-
* Upgrade to Simplify.Web.Json 2.1.* (floating version set)
17-
* Upgrade to Microsoft.AspNetCore.SpaServices.Extensions 3.1.* (floating version set)
15+
* Refactoring to fluent interfaces
16+
* Refactoring to expression bodies for methods
17+
* Dependencies bump to latest
18+
* Meta info reorganized
1819
</PackageReleaseNotes>
1920
<Title>Simplify.Web project templates</Title>
2021
<Authors>Alexander Krylkov</Authors>

templates/MyProject.Angular/MyProject.Angular.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
<PropertyGroup>
33
<TargetFramework>netcoreapp3.1</TargetFramework>
44
<LangVersion>8.0</LangVersion>
5+
56
<Version>0.1</Version>
7+
68
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
79
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
810
<SpaRoot>ClientApp/</SpaRoot>

templates/MyProject.Angular/Program.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ namespace MyProject.Angular
55
{
66
public class Program
77
{
8-
public static void Main(string[] args)
9-
{
10-
CreateWebHostBuilder(args).Build().Run();
11-
}
8+
public static void Main(string[] args) => CreateWebHostBuilder(args).Build().Run();
129

1310
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
1411
WebHost.CreateDefaultBuilder(args)

templates/MyProject.Angular/Setup/IocRegistrations.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@ namespace MyProject.Angular.Setup
55
{
66
public static class IocRegistrations
77
{
8-
public static void Register()
8+
public static IDIContainerProvider RegisterAll(this IDIContainerProvider provider)
99
{
1010
// Simplify.DI.DIContainer.Current IOC container registrations starting point
1111

1212
// Manual Simplify.Web internal types registrations
13-
DIContainer.Current.RegisterSimplifyWeb();
13+
provider.RegisterSimplifyWeb();
14+
15+
return provider;
1416
}
1517
}
1618
}

templates/MyProject.Angular/Startup.cs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using System;
21
using Microsoft.AspNetCore.Builder;
32
using Microsoft.AspNetCore.Hosting;
43
using Microsoft.AspNetCore.SpaServices.AngularCli;
@@ -13,22 +12,17 @@ namespace MyProject.Angular
1312
{
1413
public class Startup
1514
{
16-
public IServiceProvider ConfigureServices(IServiceCollection services)
15+
public void ConfigureServices(IServiceCollection services)
1716
{
18-
var provider = new MicrosoftDependencyInjectionDIProvider { Services = services };
19-
DIContainer.Current = provider;
17+
DIContainer.Current = new MicrosoftDependencyInjectionDIProvider { Services = services };
2018

21-
// Your registrations here (both via services or DIContainer.Current.Register)
19+
DIContainer.Current.RegisterAll();
2220

2321
// In production, the Angular files will be served from this directory
2422
services.AddSpaStaticFiles(configuration =>
2523
{
2624
configuration.RootPath = "ClientApp/dist";
2725
});
28-
29-
IocRegistrations.Register();
30-
31-
return provider.ServiceProvider;
3226
}
3327

3428
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

templates/MyProject.Api/Controllers/Api/v1/SampleInController.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
using System;
22
using System.Diagnostics;
3+
using System.Threading.Tasks;
34
using MyProject.Api.ViewModels;
45
using Simplify.Web;
56
using Simplify.Web.Attributes;
67

78
namespace MyProject.Api.Controllers.Api.v1
89
{
910
[Post("/api/v1/sampleIn")]
10-
public class SampleInController : Controller<SampleModel>
11+
public class SampleInController : AsyncController<SampleModel>
1112
{
12-
public override ControllerResponse Invoke()
13+
public override async Task<ControllerResponse> Invoke()
1314
{
1415
try
1516
{
17+
await ReadModelAsync();
18+
1619
Trace.WriteLine($"Object with message received: {Model.Message}");
1720

1821
return NoContent();

templates/MyProject.Api/MyProject.Api.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<PropertyGroup>
33
<TargetFramework>netcoreapp3.1</TargetFramework>
44
<LangVersion>8.0</LangVersion>
5+
56
<Version>0.1</Version>
67
</PropertyGroup>
78
<ItemGroup>

templates/MyProject.Api/Program.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ namespace MyProject.Api
55
{
66
public class Program
77
{
8-
public static void Main(string[] args)
9-
{
10-
CreateWebHostBuilder(args).Build().Run();
11-
}
8+
public static void Main(string[] args) => CreateWebHostBuilder(args).Build().Run();
129

1310
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
1411
WebHost.CreateDefaultBuilder(args)

templates/MyProject.Api/Setup/IocRegistrations.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ namespace MyProject.Api.Setup
77
{
88
public static class IocRegistrations
99
{
10-
public static void Register()
10+
public static IDIContainerProvider RegisterAll(this IDIContainerProvider provider)
1111
{
1212
// Simplify.DI.DIContainer.Current IOC container registrations starting point
1313

14-
DIContainer.Current.RegisterSimplifyWeb()
15-
.RegisterJsonModelBinder();
14+
provider.RegisterSimplifyWeb()
15+
.RegisterJsonModelBinder()
1616

17-
DIContainer.Current.Register<SampleModelFactory>();
17+
.Register<SampleModelFactory>();
18+
19+
return provider;
1820
}
1921
}
2022
}

templates/MyProject.Api/Startup.cs

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,6 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
2222
app.UseSimplifyWebWithoutRegistrations();
2323
}
2424

25-
public void ConfigureServices()
26-
{
27-
InitializeContainer();
28-
}
29-
30-
private static void InitializeContainer()
31-
{
32-
IocRegistrations.Register();
33-
34-
// IOC container dependencies graph verification
35-
DIContainer.Current.Verify();
36-
}
25+
public void ConfigureServices() => DIContainer.Current.RegisterAll().Verify();
3726
}
3827
}

0 commit comments

Comments
 (0)