示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }