using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using SewerStammGen.WPF.Interface; using SewerStammGen.WPF.ViewModel; using SewerStammGen.WPF.ViewModel.Factories; using Shared.Contracts; using Shared.Domain; using System; using System.Collections.Generic; using System.Linq; using System.Net.Security; using System.Text; using System.Threading.Tasks; namespace SewerStammGen.HostBuilders { static class AddViewModelsHostBuilderExtensions { public static IHostBuilder AddViewModels(this IHostBuilder hostBuilder) { hostBuilder.ConfigureServices(services => { services.AddTransient(); services.AddSingleton>(services => { return () => new HomeViewModel(); }); services.AddSingleton>(services => { return () => new EditManHoleViewModel(); }); services.AddSingleton>(services => { return () => new SewerConnectorViewModel(); }); services.AddSingleton>(services => { return () => new ProjektListViewModel( services.GetRequiredService>() ); }); services.AddSingleton(); }); return hostBuilder; } } }