using DaSaSo.Domain.Model; using DaSaSo.Domain.Services; using DaSaSo.Domain.Services.ClientServices; using DaSaSo.EntityFramework; using DaSaSo.EntityFramework.Services; using DaSaSo.ViewModel; using DaSaSo.ViewModel.Factories; using DaSaSo.ViewModel.Interface; using DaSaSo.ViewModel.State.Navigation; using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows; namespace DaSaSo.Wpf { /// /// Interaction logic for App.xaml /// public partial class App : Application { protected override async void OnStartup(StartupEventArgs e) { IServiceProvider serviceProvider = CreateServiceProvider(); MainWindow? window = new MainWindow() { DataContext = serviceProvider.GetRequiredService() }; window.Show(); base.OnStartup(e); } private IServiceProvider CreateServiceProvider() { IServiceCollection services = new ServiceCollection(); services.AddSingleton(); services.AddSingleton, ClientDataService>(); services.AddSingleton(); services.AddSingleton, HomeViewModelFactory>(); services.AddSingleton, ClientListViewModelFactory>(); services.AddScoped(); services.AddScoped(); return services.BuildServiceProvider(); } } }