protected override void InitializeShell() { #if DEBUG // Bypass Singleton check #else if (!Mutex.WaitOne(TimeSpan.Zero, true)) { NativeWin32.PostMessage((IntPtr)NativeWin32.HWND_BROADCAST, NativeWin32.WM_SHOWSAMBAPOS, IntPtr.Zero, IntPtr.Zero); Environment.Exit(1); } #endif LocalizeDictionary.ChangeLanguage(LocalSettings.CurrentLanguage); InteractionService.UserIntraction = ServiceLocator.Current.GetInstance<IUserInteraction>(); InteractionService.UserIntraction.ToggleSplashScreen(); ServiceLocator.Current.GetInstance<IApplicationState>().MainDispatcher = Application.Current.Dispatcher; var logger = ServiceLocator.Current.GetInstance<ILogService>(); AppServices.MessagingService.RegisterMessageListener(new MessageListener()); if (LocalSettings.StartMessagingClient) AppServices.MessagingService.StartMessagingClient(); PresentationServices.Initialize(); base.InitializeShell(); try { GenericRuleRegistator.RegisterOnce(); var creationService = new DataCreationService(); creationService.CreateData(); } catch (Exception e) { if (!string.IsNullOrEmpty(LocalSettings.ConnectionString)) { var connectionString = InteractionService.UserIntraction.GetStringFromUser( "Connection String", string.Format(Resources.ConnectionStringError, e.Message), LocalSettings.ConnectionString); var cs = String.Join(" ", connectionString); if (!string.IsNullOrEmpty(cs)) LocalSettings.ConnectionString = cs.Trim(); logger.LogError(e, Resources.RestartAppError); } else { logger.LogError(e); LocalSettings.ConnectionString = ""; } LocalSettings.SaveSettings(); Environment.Exit(1); } var rm = Container.GetExportedValue<IRegionManager>(); rm.RegisterViewWithRegion("MessageRegion", typeof(WorkPeriodStatusView)); rm.RegisterViewWithRegion("MessageRegion", typeof(MessageClientStatusView)); Application.Current.MainWindow = (Shell)Shell; if (LocalizeDictionary.Instance.Culture.TextInfo.IsRightToLeft) { Application.Current.MainWindow.FlowDirection = FlowDirection.RightToLeft; } Application.Current.MainWindow.Show(); EventServiceFactory.EventService.PublishEvent(EventTopicNames.ShellInitialized); InteractionService.UserIntraction.ToggleSplashScreen(); ServiceLocator.Current.GetInstance<ITriggerService>().UpdateCronObjects(); ServiceLocator.Current.GetInstance<IAutomationService>().NotifyEvent(RuleEventNames.ApplicationStarted, new { }); }
protected override void InitializeShell() { LocalizeDictionary.ChangeLanguage(LocalSettings.CurrentLanguage); LocalSettings.SetTraceLogPath("app"); InteractionService.UserIntraction = ServiceLocator.Current.GetInstance<IUserInteraction>(); InteractionService.UserIntraction.ToggleSplashScreen(); AppServices.MainDispatcher = Application.Current.Dispatcher; AppServices.MessagingService.RegisterMessageListener(new MessageListener()); if (LocalSettings.StartMessagingClient) AppServices.MessagingService.StartMessagingClient(); GenericRuleRegistator.RegisterOnce(); PresentationServices.Initialize(); base.InitializeShell(); try { var creationService = new DataCreationService(); creationService.CreateData(); } catch (Exception e) { if (!string.IsNullOrEmpty(LocalSettings.ConnectionString)) { var connectionString = InteractionService.UserIntraction.GetStringFromUser( "Connection String", Resources.DatabaseErrorMessage + e.Message, LocalSettings.ConnectionString); var cs = String.Join(" ", connectionString); if (!string.IsNullOrEmpty(cs)) LocalSettings.ConnectionString = cs.Trim(); AppServices.LogError(e, Resources.CurrentErrorLoggedMessage); } else { AppServices.LogError(e); LocalSettings.ConnectionString = ""; } LocalSettings.SaveSettings(); Environment.Exit(1); } if (string.IsNullOrEmpty(LocalSettings.MajorCurrencyName)) { LocalSettings.MajorCurrencyName = Resources.Dollar; LocalSettings.MinorCurrencyName = Resources.Cent; LocalSettings.PluralCurrencySuffix = Resources.PluralCurrencySuffix; } Application.Current.MainWindow = (Shell)Shell; Application.Current.MainWindow.Show(); InteractionService.UserIntraction.ToggleSplashScreen(); TriggerService.UpdateCronObjects(); RuleExecutor.NotifyEvent(RuleEventNames.ApplicationStarted, new { CommandLineArguments = LocalSettings.StartupArguments }); }
protected override void InitializeShell() { #if DEBUG // Bypass Singleton check #else if (!Mutex.WaitOne(TimeSpan.Zero, true)) { NativeWin32.PostMessage((IntPtr)NativeWin32.HWND_BROADCAST, NativeWin32.WM_SHOWSAMBAPOS, IntPtr.Zero, IntPtr.Zero); Environment.Exit(1); } #endif LocalizeDictionary.ChangeLanguage(LocalSettings.CurrentLanguage); InteractionService.UserIntraction = ServiceLocator.Current.GetInstance<IUserInteraction>(); InteractionService.UserIntraction.ToggleSplashScreen(); AppServices.MainDispatcher = Application.Current.Dispatcher; AppServices.MessagingService.RegisterMessageListener(new MessageListener()); if (LocalSettings.StartMessagingClient) AppServices.MessagingService.StartMessagingClient(); GenericRuleRegistator.RegisterOnce(); PresentationServices.Initialize(); base.InitializeShell(); try { var creationService = new DataCreationService(); creationService.CreateData(); } catch (Exception e) { if (!string.IsNullOrEmpty(LocalSettings.ConnectionString)) { var connectionString = InteractionService.UserIntraction.GetStringFromUser( "Connection String", "Şu anki bağlantı ayarları ile veri tabanına bağlanılamıyor. Lütfen aşağıdaki bağlantı bilgisini kontrol ederek tekrar deneyiniz.\r\r" + "Hata Mesajı:\r" + e.Message, LocalSettings.ConnectionString); var cs = String.Join(" ", connectionString); if (!string.IsNullOrEmpty(cs)) LocalSettings.ConnectionString = cs.Trim(); AppServices.LogError(e, "Programı yeniden başlatınız. Mevcut problem log dosyasına kaydedildi."); } else { AppServices.LogError(e); LocalSettings.ConnectionString = ""; } LocalSettings.SaveSettings(); Environment.Exit(1); } var rm = Container.GetExportedValue<IRegionManager>(); rm.RegisterViewWithRegion("MessageRegion", typeof(WorkPeriodStatusView)); rm.RegisterViewWithRegion("MessageRegion", typeof(MessageClientStatusView)); Application.Current.MainWindow = (Shell)Shell; Application.Current.MainWindow.Show(); EventServiceFactory.EventService.PublishEvent(EventTopicNames.ShellInitialized); InteractionService.UserIntraction.ToggleSplashScreen(); ServiceLocator.Current.GetInstance<ITriggerService>().UpdateCronObjects(); ServiceLocator.Current.GetInstance<IAutomationService>().NotifyEvent(RuleEventNames.ApplicationStarted, new { }); }