Umbau auf delegate command
This commit is contained in:
@@ -20,6 +20,8 @@ namespace DaSaSo.Wpf
|
||||
{
|
||||
protected override void OnStartup(StartupEventArgs e)
|
||||
{
|
||||
Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException;
|
||||
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
||||
IServiceProvider serviceProvider = CreateServiceProvider();
|
||||
|
||||
MainWindow? window = new MainWindow() { DataContext = serviceProvider.GetRequiredService<MainWindowViewModel>() };
|
||||
@@ -27,34 +29,61 @@ namespace DaSaSo.Wpf
|
||||
base.OnStartup(e);
|
||||
}
|
||||
|
||||
private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
Exception ex = (Exception)e.ExceptionObject;
|
||||
string text = "An application error occured. Plrease contact the Administrator with the following information:\n\n";
|
||||
MessageBox.Show(text + " " + ex.Message + "\n\n" + ex.StackTrace);
|
||||
}
|
||||
catch(Exception ex2)
|
||||
{
|
||||
MessageBox.Show("Fatal Non-UI error", ex2.Message, MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private void Current_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private IServiceProvider CreateServiceProvider()
|
||||
{
|
||||
IServiceCollection services = new ServiceCollection();
|
||||
|
||||
services.AddSingleton<DaSaSoDbContextFactory>();
|
||||
services.AddSingleton<IDataService<Client>, ClientDataService>();
|
||||
|
||||
services.AddSingleton<ClientListViewModel>();
|
||||
|
||||
|
||||
|
||||
services.AddSingleton<IViewModelAbstractFactory, ViewModelAbstractFactory>();
|
||||
services.AddSingleton<IViewModelFactory<HomeViewModel>, HomeViewModelFactory>();
|
||||
//services.AddSingleton<IRenavigator, ViewModelFactoryRenavigator<ClientEditViewModel>>();
|
||||
services.AddSingleton<IViewModelFactory<ClientListViewModel>, ClientListViewModelFactory>((services) =>
|
||||
new ClientListViewModelFactory(
|
||||
services.GetRequiredService<IActualProject>(),
|
||||
new ViewModelFactoryRenavigator<ClientEditViewModel>(
|
||||
services.GetRequiredService<INavigator>(),
|
||||
services.GetRequiredService<IViewModelFactory<ClientEditViewModel>>()
|
||||
)
|
||||
));
|
||||
services.AddSingleton<IViewModelFactory<ClientEditViewModel>, ClientEditViewModelFactory>((services) =>
|
||||
new ClientEditViewModelFactory(
|
||||
services.AddSingleton<CreateViewModel<ClientEditViewModel>>(services =>
|
||||
{
|
||||
return () => new ClientEditViewModel(
|
||||
services.GetRequiredService<IDataService<Client>>(),
|
||||
services.GetRequiredService<IActualProject>(),
|
||||
new ViewModelDelegateRenavigator<HomeViewModel>(
|
||||
services.GetRequiredService<INavigator>(),
|
||||
services.GetRequiredService<CreateViewModel<HomeViewModel>>()
|
||||
));
|
||||
});
|
||||
services.AddSingleton<CreateViewModel<HomeViewModel>>(services =>
|
||||
{
|
||||
return () => new HomeViewModel();
|
||||
});
|
||||
services.AddSingleton<CreateViewModel<ClientListViewModel>>(services =>
|
||||
{
|
||||
return () => new ClientListViewModel(
|
||||
services.GetRequiredService<IDataService<Client>>(),
|
||||
services.GetRequiredService<IActualProject>(),
|
||||
new ViewModelFactoryRenavigator<HomeViewModel>(
|
||||
new ViewModelDelegateRenavigator<ClientEditViewModel>(
|
||||
services.GetRequiredService<INavigator>(),
|
||||
services.GetRequiredService<IViewModelFactory<HomeViewModel>>()
|
||||
)
|
||||
|
||||
));
|
||||
services.GetRequiredService<CreateViewModel<ClientEditViewModel>>()
|
||||
));
|
||||
});
|
||||
|
||||
|
||||
//services.AddSingleton<INavigator, Navigator>();
|
||||
services.AddScoped<IActualProject, ActualProject>();
|
||||
|
||||
Reference in New Issue
Block a user