diff --git a/DLL/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/DLL/Microsoft.Extensions.DependencyInjection.Abstractions.dll deleted file mode 100644 index 0b3c8e9..0000000 Binary files a/DLL/Microsoft.Extensions.DependencyInjection.Abstractions.dll and /dev/null differ diff --git a/DLL/Microsoft.Extensions.DependencyInjection.dll b/DLL/Microsoft.Extensions.DependencyInjection.dll deleted file mode 100644 index c87ed43..0000000 Binary files a/DLL/Microsoft.Extensions.DependencyInjection.dll and /dev/null differ diff --git a/DLL/Microsoft.Extensions.Logging.Abstractions.dll b/DLL/Microsoft.Extensions.Logging.Abstractions.dll deleted file mode 100644 index 085f415..0000000 Binary files a/DLL/Microsoft.Extensions.Logging.Abstractions.dll and /dev/null differ diff --git a/DLL/Microsoft.Extensions.Logging.dll b/DLL/Microsoft.Extensions.Logging.dll deleted file mode 100644 index 75e0fbf..0000000 Binary files a/DLL/Microsoft.Extensions.Logging.dll and /dev/null differ diff --git a/DLL/Microsoft.Extensions.Options.dll b/DLL/Microsoft.Extensions.Options.dll deleted file mode 100644 index 69c35a5..0000000 Binary files a/DLL/Microsoft.Extensions.Options.dll and /dev/null differ diff --git a/DLL/Newtonsoft.Json.dll b/DLL/Newtonsoft.Json.dll deleted file mode 100644 index 3af21d5..0000000 Binary files a/DLL/Newtonsoft.Json.dll and /dev/null differ diff --git a/eCIAv2.WindowsApp/Config/LogXnetConfig.json b/eCIAv2.Library/Config/LogXnetConfig.json similarity index 100% rename from eCIAv2.WindowsApp/Config/LogXnetConfig.json rename to eCIAv2.Library/Config/LogXnetConfig.json diff --git a/eCIAv2.Library/eCIAv2.Library.csproj b/eCIAv2.Library/eCIAv2.Library.csproj index 4c71011..333bcd2 100644 --- a/eCIAv2.Library/eCIAv2.Library.csproj +++ b/eCIAv2.Library/eCIAv2.Library.csproj @@ -7,18 +7,15 @@ - - ..\DLL\Microsoft.Extensions.Logging.dll - - - ..\DLL\Microsoft.Extensions.Logging.Abstractions.dll - - - ..\DLL\Newtonsoft.Json.dll - ..\DLL\SystemX.Core.dll + + + Always + + + diff --git a/eCIAv2.WindowsApp/Forms/MainForm.cs b/eCIAv2.WindowsApp/Forms/MainForm.cs index 8362a47..cc7ea23 100644 --- a/eCIAv2.WindowsApp/Forms/MainForm.cs +++ b/eCIAv2.WindowsApp/Forms/MainForm.cs @@ -1,10 +1,17 @@ +using eCIAv2.WindowsApp.ViewModels; + namespace eCIAv2.WindowsApp { public partial class MainForm : Form { - public MainForm() + private readonly MainFromViewModel _vm; + + public MainForm(MainFromViewModel vm) { InitializeComponent(); + _vm = vm; + + var ss= _vm.LoadConfig(); } } } diff --git a/eCIAv2.WindowsApp/Program.cs b/eCIAv2.WindowsApp/Program.cs index 5bef634..0b6e365 100644 --- a/eCIAv2.WindowsApp/Program.cs +++ b/eCIAv2.WindowsApp/Program.cs @@ -1,13 +1,21 @@ +using eCIAv2.WindowsApp.Services; +using eCIAv2.WindowsApp.ViewModels; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; + namespace eCIAv2.WindowsApp { internal static class Program { + public static IHost AppHost { get; private set; } + /// /// The main entry point for the application. /// [STAThread] static void Main() { + //LogXnet string configDir = @$"{Application.StartupPath}Config"; //raed log4net configs if (LogXnet.ReadConfig(@$"{configDir}/LogXnetConfig.json") == true) @@ -20,10 +28,23 @@ namespace eCIAv2.WindowsApp return; } - // To customize application configuration such as set high DPI settings or default font, - // see https://aka.ms/applicationconfiguration. + AppHost = Host.CreateDefaultBuilder() + .ConfigureServices((context, services) => + { + // services + services.AddSingleton(); + + //viewmodels + services.AddTransient(); + + // forms + services.AddTransient(); + }).Build(); + ApplicationConfiguration.Initialize(); - Application.Run(new MainForm()); + + var form = AppHost.Services.GetRequiredService(); + Application.Run(form); } } } \ No newline at end of file diff --git a/eCIAv2.WindowsApp/Services/ConfigService.cs b/eCIAv2.WindowsApp/Services/ConfigService.cs new file mode 100644 index 0000000..e9c2131 --- /dev/null +++ b/eCIAv2.WindowsApp/Services/ConfigService.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace eCIAv2.WindowsApp.Services +{ + public class ConfigService + { + public string LoadConfig() + { + return "loadConfig"; + } + } +} diff --git a/eCIAv2.WindowsApp/ViewModels/MainFromViewModel.cs b/eCIAv2.WindowsApp/ViewModels/MainFromViewModel.cs new file mode 100644 index 0000000..284dec1 --- /dev/null +++ b/eCIAv2.WindowsApp/ViewModels/MainFromViewModel.cs @@ -0,0 +1,24 @@ +using eCIAv2.WindowsApp.Services; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace eCIAv2.WindowsApp.ViewModels +{ + public class MainFromViewModel + { + private readonly ConfigService _configService; + + public MainFromViewModel(ConfigService configService) + { + _configService = configService; + } + + public string LoadConfig() + { + return _configService.LoadConfig(); + } + } +} diff --git a/eCIAv2.WindowsApp/eCIAv2.WindowsApp.csproj b/eCIAv2.WindowsApp/eCIAv2.WindowsApp.csproj index 2f643d9..630b67c 100644 --- a/eCIAv2.WindowsApp/eCIAv2.WindowsApp.csproj +++ b/eCIAv2.WindowsApp/eCIAv2.WindowsApp.csproj @@ -8,29 +8,17 @@ enable + + + + + + - - ..\DLL\Microsoft.Extensions.DependencyInjection.dll - - - ..\DLL\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - - ..\DLL\Microsoft.Extensions.Logging.dll - - - ..\DLL\Microsoft.Extensions.Logging.Abstractions.dll - - - ..\DLL\Microsoft.Extensions.Options.dll - - - ..\DLL\Newtonsoft.Json.dll - ..\DLL\SystemX.Core.dll @@ -42,4 +30,8 @@ + + + + \ No newline at end of file