protected override void OnStartup(object sender, StartupEventArgs e) { if (!mutex.WaitOne(TimeSpan.FromSeconds(1), false) || AppDomain.CurrentDomain.IsDefaultAppDomain() == true) { System.Windows.Application.Current.Shutdown(); } ObjectContainerRegistry ocr = _container.GetInstance <ObjectContainerRegistry>(); ResultObject ro = new ResultObject(true); try { IObjectContainer db = _container.GetInstance <Db4oObjectContainerFactory>().Create(Db4oObjectContainerFactory.MAIN_DATABASE_NAME); ocr.Add(Db4oObjectContainerFactory.MAIN_DATABASE_NAME, db); var vm = _container.GetInstance <MainWindowViewModel>(); _container.BuildUp(vm); _container.GetInstance <IWindowManager>().ShowWindow(vm); } catch (DatabaseFileLockedException ex) { ro = new ResultObject(false); ro.AddMessage("Nelze načíst Vaše data. Soubor je využíván jiným procesem."); } catch (Exception ex) { ro = new ResultObject(false); ro.AddMessage("Při spouštění aplikace došlo k neočekávané chybě"); } if (!ro.Success) { StartupErrorWindowViewModel errw = _container.GetInstance <StartupErrorWindowViewModel>(); errw.Text = ro.GetLastMessage(); _container.GetInstance <IWindowManager>().ShowDialog(errw); } }
protected override void OnStartup(object sender, StartupEventArgs e) { if (!mutex.WaitOne(TimeSpan.FromSeconds(1), false)) { System.Windows.Application.Current.Shutdown(); } ResultObject <object> ro = new ResultObject <object>(true); try { Storage db = _container.GetInstance <PerstStorageFactory>().OpenConnection(PerstStorageFactory.MAIN_DATABASE_NAME); StoragePool sp = _container.GetInstance <StoragePool>(); sp.Add(PerstStorageFactory.MAIN_DATABASE_NAME, db); var vm = _container.GetInstance <MainWindowViewModel>(); _container.BuildUp(vm); _container.GetInstance <IWindowManager>().ShowWindow(vm); } catch (StorageError ex) { ro = new ResultObject <object>(false); ro.AddMessage("Nelze načíst Vaše data."); } catch (Exception ex) { ro = new ResultObject <object>(false); ro.AddMessage("Při spouštění aplikace došlo k neočekávané chybě"); } if (!ro.Success) { StartupErrorWindowViewModel errw = _container.GetInstance <StartupErrorWindowViewModel>(); errw.Text = ro.GetLastMessage().Text; _container.GetInstance <IWindowManager>().ShowDialog(errw); } }