From cb105c13af92da4fc02353100f0bae19207fb2ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Fri, 20 Sep 2019 19:46:20 +0200 Subject: [PATCH] Add draft impl for Business stack and IoC --- .gitignore | 5 +++ .../AircraftService.cs | 12 +++++++ .../DropZoneService.cs | 11 +++++++ Back/skydiveLogs-api.Business/JumpService.cs | 11 +++++++ .../JumpTypeService.cs | 11 +++++++ .../Interface/IAircraftRepository.cs | 2 +- Back/skydiveLogs-api.Ioc/IocService.cs | 33 +++++++++++++++++++ .../skydiveLogs-api.Ioc.csproj | 19 +++++++++++ Back/skydiveLogs-api.sln | 12 +++++-- Back/skydiveLogs-api/Startup.cs | 11 ++----- Back/skydiveLogs-api/skydiveLogs-api.csproj | 1 + 11 files changed, 116 insertions(+), 12 deletions(-) create mode 100644 Back/skydiveLogs-api.Business/AircraftService.cs create mode 100644 Back/skydiveLogs-api.Business/DropZoneService.cs create mode 100644 Back/skydiveLogs-api.Business/JumpService.cs create mode 100644 Back/skydiveLogs-api.Business/JumpTypeService.cs create mode 100644 Back/skydiveLogs-api.Ioc/IocService.cs create mode 100644 Back/skydiveLogs-api.Ioc/skydiveLogs-api.Ioc.csproj diff --git a/.gitignore b/.gitignore index aae306b..2c5234a 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,8 @@ /Back/skydiveLogs-api.Business/obj /Back/skydiveLogs-api.Data/obj /Back/skydiveLogs-api.Model/obj +/Back/skydiveLogs-api.Model/bin +/Back/skydiveLogs-api.Ioc/bin +/Back/skydiveLogs-api.Ioc/obj +/Back/skydiveLogs-api.Data/bin +/Back/skydiveLogs-api.Business/bin diff --git a/Back/skydiveLogs-api.Business/AircraftService.cs b/Back/skydiveLogs-api.Business/AircraftService.cs new file mode 100644 index 0000000..508e473 --- /dev/null +++ b/Back/skydiveLogs-api.Business/AircraftService.cs @@ -0,0 +1,12 @@ +using skydiveLogs_api.Business.Interface; +using System; +using System.Collections.Generic; +using System.Text; + +namespace skydiveLogs_api.Business +{ + public class AircraftService : IAircraftService + { + + } +} diff --git a/Back/skydiveLogs-api.Business/DropZoneService.cs b/Back/skydiveLogs-api.Business/DropZoneService.cs new file mode 100644 index 0000000..e186268 --- /dev/null +++ b/Back/skydiveLogs-api.Business/DropZoneService.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; +using skydiveLogs_api.Business.Interface; + +namespace skydiveLogs_api.Business +{ + public class DropZoneService : IDropZoneService + { + } +} diff --git a/Back/skydiveLogs-api.Business/JumpService.cs b/Back/skydiveLogs-api.Business/JumpService.cs new file mode 100644 index 0000000..3d53ea6 --- /dev/null +++ b/Back/skydiveLogs-api.Business/JumpService.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; +using skydiveLogs_api.Business.Interface; + +namespace skydiveLogs_api.Business +{ + public class JumpService : IJumpService + { + } +} diff --git a/Back/skydiveLogs-api.Business/JumpTypeService.cs b/Back/skydiveLogs-api.Business/JumpTypeService.cs new file mode 100644 index 0000000..143e0f2 --- /dev/null +++ b/Back/skydiveLogs-api.Business/JumpTypeService.cs @@ -0,0 +1,11 @@ +using skydiveLogs_api.Business.Interface; +using System; +using System.Collections.Generic; +using System.Text; + +namespace skydiveLogs_api.Business +{ + public class JumpTypeService : IJumpTypeService + { + } +} diff --git a/Back/skydiveLogs-api.Data/Interface/IAircraftRepository.cs b/Back/skydiveLogs-api.Data/Interface/IAircraftRepository.cs index 749471d..673a01f 100644 --- a/Back/skydiveLogs-api.Data/Interface/IAircraftRepository.cs +++ b/Back/skydiveLogs-api.Data/Interface/IAircraftRepository.cs @@ -4,7 +4,7 @@ using System.Text; namespace skydiveLogs_api.Data.Interface { - interface IAircraftRepository + public interface IAircraftRepository { } } diff --git a/Back/skydiveLogs-api.Ioc/IocService.cs b/Back/skydiveLogs-api.Ioc/IocService.cs new file mode 100644 index 0000000..0af8e1b --- /dev/null +++ b/Back/skydiveLogs-api.Ioc/IocService.cs @@ -0,0 +1,33 @@ +using Microsoft.Extensions.DependencyInjection; + +namespace skydiveLogs_api.Ioc +{ + public class IocService + { + public IocService(IServiceCollection services) + { + _services = services; + } + + public void Configure() + { + //services.AddSingleton(Configuration); + //_services.AddSingleton(); + //_services.AddSingleton(); + //_services.AddSingleton(); + + _services.AddScoped(); + _services.AddScoped(); + _services.AddScoped(); + _services.AddScoped(); + + _services.AddScoped(); + _services.AddScoped(); + _services.AddScoped(); + _services.AddScoped(); + _services.AddScoped(); + } + + private readonly IServiceCollection _services; + } +} diff --git a/Back/skydiveLogs-api.Ioc/skydiveLogs-api.Ioc.csproj b/Back/skydiveLogs-api.Ioc/skydiveLogs-api.Ioc.csproj new file mode 100644 index 0000000..ecd3e84 --- /dev/null +++ b/Back/skydiveLogs-api.Ioc/skydiveLogs-api.Ioc.csproj @@ -0,0 +1,19 @@ + + + + netcoreapp2.2 + skydiveLogs_api.Ioc + + + + + + + + + + ..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.dependencyinjection.abstractions\2.2.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll + + + + diff --git a/Back/skydiveLogs-api.sln b/Back/skydiveLogs-api.sln index 8d29078..be2db16 100644 --- a/Back/skydiveLogs-api.sln +++ b/Back/skydiveLogs-api.sln @@ -5,11 +5,13 @@ VisualStudioVersion = 15.0.28307.852 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "skydiveLogs-api", "skydiveLogs-api\skydiveLogs-api.csproj", "{0AC70CC2-CE52-4CD9-89D6-077800574360}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "skydiveLogs-api.Model", "skydiveLogs-api.Model\skydiveLogs-api.Model.csproj", "{EF101C84-AE0D-4F5E-8BC5-0C55CB0B5D23}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "skydiveLogs-api.Model", "skydiveLogs-api.Model\skydiveLogs-api.Model.csproj", "{EF101C84-AE0D-4F5E-8BC5-0C55CB0B5D23}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "skydiveLogs-api.Business", "skydiveLogs-api.Business\skydiveLogs-api.Business.csproj", "{803C3CFD-71D7-452F-848D-BF3DAF876CDF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "skydiveLogs-api.Business", "skydiveLogs-api.Business\skydiveLogs-api.Business.csproj", "{803C3CFD-71D7-452F-848D-BF3DAF876CDF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "skydiveLogs-api.Data", "skydiveLogs-api.Data\skydiveLogs-api.Data.csproj", "{887D2F69-A9E9-46C4-A5D9-3813A2387AA2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "skydiveLogs-api.Data", "skydiveLogs-api.Data\skydiveLogs-api.Data.csproj", "{887D2F69-A9E9-46C4-A5D9-3813A2387AA2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "skydiveLogs-api.Ioc", "skydiveLogs-api.Ioc\skydiveLogs-api.Ioc.csproj", "{D2ECA52D-DA50-47D4-8624-4487DE29E0C0}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -33,6 +35,10 @@ Global {887D2F69-A9E9-46C4-A5D9-3813A2387AA2}.Debug|Any CPU.Build.0 = Debug|Any CPU {887D2F69-A9E9-46C4-A5D9-3813A2387AA2}.Release|Any CPU.ActiveCfg = Release|Any CPU {887D2F69-A9E9-46C4-A5D9-3813A2387AA2}.Release|Any CPU.Build.0 = Release|Any CPU + {D2ECA52D-DA50-47D4-8624-4487DE29E0C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D2ECA52D-DA50-47D4-8624-4487DE29E0C0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D2ECA52D-DA50-47D4-8624-4487DE29E0C0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D2ECA52D-DA50-47D4-8624-4487DE29E0C0}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Back/skydiveLogs-api/Startup.cs b/Back/skydiveLogs-api/Startup.cs index d395621..81489cf 100644 --- a/Back/skydiveLogs-api/Startup.cs +++ b/Back/skydiveLogs-api/Startup.cs @@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using skydiveLogs_api.Ioc; namespace skydiveLogs_api { @@ -21,14 +22,8 @@ namespace skydiveLogs_api services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); // IoC - //services.AddSingleton(Configuration); - //services.AddSingleton(); - //services.AddSingleton(); - //services.AddSingleton(); - - //services.AddScoped(); - //services.AddScoped(); - //services.AddScoped(); + var iocService = new IocService(services); + iocService.Configure(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. diff --git a/Back/skydiveLogs-api/skydiveLogs-api.csproj b/Back/skydiveLogs-api/skydiveLogs-api.csproj index 7ce68a0..ec71a84 100644 --- a/Back/skydiveLogs-api/skydiveLogs-api.csproj +++ b/Back/skydiveLogs-api/skydiveLogs-api.csproj @@ -14,6 +14,7 @@ +