diff --git a/src/FilterLists.Agent/FilterLists.Agent.csproj b/src/FilterLists.Agent/FilterLists.Agent.csproj index 6baab9ff6..6b5dfe30e 100644 --- a/src/FilterLists.Agent/FilterLists.Agent.csproj +++ b/src/FilterLists.Agent/FilterLists.Agent.csproj @@ -27,9 +27,12 @@ + + + \ No newline at end of file diff --git a/src/FilterLists.Agent/Program.cs b/src/FilterLists.Agent/Program.cs index e12fe8060..72d486580 100644 --- a/src/FilterLists.Agent/Program.cs +++ b/src/FilterLists.Agent/Program.cs @@ -1,24 +1,49 @@ -namespace FilterLists.Agent +using System; +using Autofac; +using Autofac.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection; + +namespace FilterLists.Agent { public static class Program { + //TODO: get raw list urls and IDs + //TODO: foreach list, download and persist raw list to disk with standardized name and overwriting the previous version + //TODO: git add . + //TODO: git commit + //TODO: foreach list, upsert into MariaDB Rules table https://stackoverflow.com/questions/15271202/mysql-load-data-infile-with-on-duplicate-key-update + + private static IServiceProvider _serviceProvider; + public static void Main() { - // get raw list urls and IDs + RegisterServices(); - // foreach + //var service = _serviceProvider.GetService(); + //service.DoSomething(); - // download raw list + DisposeServices(); + } - // persist raw list to disk with standardized name and overwriting the previous version + private static void RegisterServices() + { + var containerBuilder = new ContainerBuilder(); + //builder.RegisterType().As(); + containerBuilder.Populate(new ServiceCollection()); + var container = containerBuilder.Build(); + _serviceProvider = new AutofacServiceProvider(container); + } - // git add . - - // git commit - - // foreach - - // upsert into MariaDB Rules table https://stackoverflow.com/questions/15271202/mysql-load-data-infile-with-on-duplicate-key-update + private static void DisposeServices() + { + switch (_serviceProvider) + { + case null: + return; + case IDisposable disposableServiceProvider: + disposableServiceProvider.Dispose(); + break; + } } } } \ No newline at end of file