public void TestThatDispatchCallsHandleCommunication() { var communicationRepositoryMock = MockRepository.GenerateMock <ICommunicationRepository>(); var dispatcherBase = new MyDispatcher <IIdentifiable>(communicationRepositoryMock); Assert.That(dispatcherBase, Is.Not.Null); Assert.That(dispatcherBase.HandleCommunicationHasBeenCalled, Is.False); dispatcherBase.Dispatch(DomainObjectMockBuilder.BuildStakeholderMock(), MockRepository.GenerateMock <IIdentifiable>(), DomainObjectMockBuilder.BuildTranslationInfoMock()); Assert.That(dispatcherBase.HandleCommunicationHasBeenCalled, Is.True); }
public ServerForm() { InitializeComponent(); UIDispatcher = new MyDispatcher(); AppDomain.CurrentDomain.UnhandledException += CommonBehavior.OnUnhandledException; TbIp.Text = CommonBehavior.GetLocalIPAddress().ToString(); BtnBrowse.Click += (s, e) => { CommonBehavior.BrowseHandler(TbPath, LvTracks.Items); Dispatcher.Set(); Dispatcher.Reset(); }; }
public void TestThatDispatchCallsTranslateWhenDomainObjectIsTranslatable() { var communicationRepositoryMock = MockRepository.GenerateMock <ICommunicationRepository>(); var domainObjectMock = MockRepository.GenerateMock <ITranslatable>(); var translationInfoMock = DomainObjectMockBuilder.BuildTranslationInfoMock(); var dispatcherBase = new MyDispatcher <ITranslatable>(communicationRepositoryMock); Assert.That(dispatcherBase, Is.Not.Null); dispatcherBase.Dispatch(DomainObjectMockBuilder.BuildStakeholderMock(), domainObjectMock, translationInfoMock); domainObjectMock.AssertWasCalled(m => m.Translate(Arg <CultureInfo> .Is.Equal(translationInfoMock.CultureInfo))); }
public void TestThatDispatchThrowsArgumentNullExceptionWhenTranslationInfoIsNull() { var communicationRepositoryMock = MockRepository.GenerateMock <ICommunicationRepository>(); var dispatcherBase = new MyDispatcher <IIdentifiable>(communicationRepositoryMock); Assert.That(dispatcherBase, Is.Not.Null); var exception = Assert.Throws <ArgumentNullException>(() => dispatcherBase.Dispatch(DomainObjectMockBuilder.BuildStakeholderMock(), MockRepository.GenerateMock <IIdentifiable>(), null)); Assert.That(exception, Is.Not.Null); Assert.That(exception.ParamName, Is.Not.Null); Assert.That(exception.ParamName, Is.Not.Empty); Assert.That(exception.ParamName, Is.EqualTo("translationInfo")); Assert.That(exception.InnerException, Is.Null); }
public ClientForm() { Dispatcher = new MyDispatcher(); AppDomain.CurrentDomain.UnhandledException += CommonBehavior.OnUnhandledException; InitializeComponent(); BtnBrowse.Click += (s, e) => RefreshLocalTracks(); TbIp.Text = CommonBehavior.GetLocalIPAddress().ToString(); Playlist = new PlayListViewItemCollection(LvLocalList, Wmp); CbRepeat.SelectedIndex = 0; InitializeRepeatTypeCombobox(); Wmp.currentPlaylist = Wmp.newPlaylist("no title", ""); Wmp.CurrentItemChange += OnWmpMediaChange; Wmp.PlayStateChange += OnWmpPlayStateChange; Wmp.MediaError += OnWmpMediaError; TrackBarTimer.Tick += TrackBarUpdateTick; }
public void testRollbackDuplicate() { int count = 10000; ConnectionAudit audit = new ConnectionAudit(); List <MessageId> list = new List <MessageId>(); MyDispatcher dispatcher = new MyDispatcher(); ProducerId pid = new ProducerId(); pid.ConnectionId = "test"; pid.SessionId = 0; pid.Value = 1; ActiveMQDestination destination = new ActiveMQQueue("TEST.QUEUE"); Message message = new Message(); message.Destination = destination; for (int i = 0; i < count; i++) { MessageId id = new MessageId(); id.ProducerId = pid; id.ProducerSequenceId = i; list.Add(id); message.MessageId = id; Assert.IsFalse(audit.IsDuplicate(dispatcher, message)); } int index = list.Count - 1 - audit.AuditDepth; for (; index < list.Count; index++) { MessageId id = list[index]; message.MessageId = id; Assert.IsTrue(audit.IsDuplicate(dispatcher, message), "duplicate msg:" + id); audit.RollbackDuplicate(dispatcher, message); Assert.IsFalse(audit.IsDuplicate(dispatcher, message), "error: duplicate msg:" + id); } }
public void StartUp() { if (App == null) { Thread newWindowThread = new Thread((input) => { SynchronizationContext.SetSynchronizationContext(new DispatcherSynchronizationContext(Dispatcher.CurrentDispatcher)); App = new App(); App.ShutdownMode = ShutdownMode.OnExplicitShutdown; var foo = new Uri("pack://application:,,,/DefaultViews;component/Resources/CommonStyles.xaml", UriKind.Absolute); Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = foo }); var foo2 = new Uri("pack://application:,,,/DefaultViews;component/Resources/DataTemplates.xaml", UriKind.Absolute); Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = foo2 }); var foo3 = new Uri("pack://application:,,,/DefaultViews;component/Resources/LiveDataTemplates.xaml", UriKind.Absolute); Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = foo3 }); App.Run(); }); newWindowThread.SetApartmentState(ApartmentState.STA); newWindowThread.IsBackground = true; newWindowThread.Start(); do { Thread.Sleep(10); Dispatcher = Dispatcher.FromThread(newWindowThread); } while (Dispatcher == null); } var dispatcher = new MyDispatcher(Dispatcher); IoCContainer.Kernel = new StandardKernel(); IoCContainer.Kernel.Bind <IWaitOverlayProvider>().To <WaitOverlayProvider>().InSingletonScope(); IoCContainer.Kernel.Bind <ITicketHandler>().To <TicketHandler>().InSingletonScope(); ChangeTracker = new ChangeTracker(); IoCContainer.Kernel.Bind <IChangeTracker>().ToConstant <IChangeTracker>(ChangeTracker).InSingletonScope(); IoCContainer.Kernel.Bind <IStationRepository>().To <StationRepository>().InSingletonScope(); MessageMediator = new MyMessageMediator(); MyRegionManager = new MyRegionManager(); TranslationProvider = MockRepository.GenerateStub <ITranslationProvider>(); LineSr = MockRepository.GenerateStub <ILineSr>(); Repository = MockRepository.GenerateStub <IRepository>(); WsdlRepository = MockRepository.GenerateStub <IWsdlRepository>(); ConfidenceFactor = MockRepository.GenerateStub <IConfidenceFactor>(); TransactionQueueHelper = MockRepository.GenerateStub <ITransactionQueueHelper>(); IoCContainer.Kernel.Bind <IMediator>().ToConstant <IMediator>(MessageMediator).InSingletonScope(); IoCContainer.Kernel.Bind <IMyRegionManager>().ToConstant <IMyRegionManager>(MyRegionManager).InSingletonScope(); IoCContainer.Kernel.Bind <IDispatcher>().ToConstant <IDispatcher>(dispatcher).InSingletonScope(); IoCContainer.Kernel.Bind <IRepository>().ToConstant <IRepository>(Repository).InSingletonScope(); IoCContainer.Kernel.Bind <ILineSr>().ToConstant <ILineSr>(LineSr).InSingletonScope(); IoCContainer.Kernel.Bind <ITranslationProvider>().ToConstant <ITranslationProvider>(TranslationProvider).InSingletonScope(); IoCContainer.Kernel.Bind <IWsdlRepository>().ToConstant <IWsdlRepository>(WsdlRepository).InSingletonScope(); IoCContainer.Kernel.Bind <IConfidenceFactor>().ToConstant <IConfidenceFactor>(ConfidenceFactor).InSingletonScope(); IoCContainer.Kernel.Bind <ITransactionQueueHelper>().ToConstant <ITransactionQueueHelper>(TransactionQueueHelper).InSingletonScope(); long lastTicketNumber = 0; long lastTransactionId = 0; WsdlRepository.Stub(x => x.GetBusinessProps(null, out lastTicketNumber, out lastTransactionId)).Return(1).IgnoreArguments(); Repository.Stub(x => x.FindMatches(null, null, null, null, null)).Return(new SortableObservableCollection <IMatchVw>()).IgnoreArguments(); TransactionQueueHelper.Stub(x => x.GetCountTransactionQueue()).Return(1).IgnoreArguments(); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_RESULTS_MINUS_X_DAYS)).Return("{0}"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_MANIPULATION_FEE)).Return("ManipulationFee"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_BONUS)).Return("bonus"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_MINBET)).Return("min bet"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_MAXBET)).Return("max bet"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_MAXWIN)).Return("Max Win"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_AVAILABLE_CASH)).Return("Available cash"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_ODD)).Return("Odd:"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_PRINT_STAKE_TOTAL)).Return("Total Stake"); TranslationProvider.Stub(x => x.Translate(MultistringTags.CLOSE)).Return("Close"); TranslationProvider.Stub(x => x.Translate(MultistringTags.OUTRIGHTS)).Return("Outrights"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_PLEASE_ADD_AMOUNT)).Return("{0}"); TranslationProvider.Stub(x => x.Translate(MultistringTags.HELLO_MSG)).Return("hello {0}"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_CHANGE_PASSWORD)).Return("change password"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_FORM_ALL)).Return("all"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_TICKETWON)).Return("all"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_TICKETWON)).Return("won"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_TICKETLOST)).Return("lost"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_FORM_CANCELLED)).Return("canceled"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_TICKETOPEN)).Return("open"); TranslationProvider.Stub(x => x.Translate(MultistringTags.SHOW_SELECTED)).Return("show selected"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_NAVIGATION_FORWARD)).Return("forward"); TranslationProvider.Stub(x => x.Translate(MultistringTags.SHOP_FORM_NO_CONNECTION_TO_SERVER)).Return("no conenction"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TRANSFER_TO_ACCOUNT)).Return("to account"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_FORM_STATION_LOCKED_BY_ADMIN)).Return("locked by admin"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_CASH_LOCKED)).Return("locked cash"); TranslationProvider.Stub(x => x.Translate(MultistringTags.TERMINAL_FORM_REQUIRED)).Return("required"); }
//private static readonly ILog Log = LogManager.GetLogger(typeof(App)); /// <summary> /// Raises the <see cref="E:System.Windows.Application.Startup"/> event. /// </summary> /// <param name="e">A <see cref="T:System.Windows.StartupEventArgs"/> that contains the event data.</param> protected override void OnStartup(StartupEventArgs e) { int id = 0; Int32.TryParse(e.Args.FirstOrDefault(), out id); //var id = Convert.ToInt32(e.Args.FirstOrDefault()); Log.Debug("start terminalwindow"); // Check how many total processes have the same name as the current one if (!IsSingleInstance()) { Environment.Exit(1); } AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; ControlAero(false); IoCContainer.Kernel = new StandardKernel(); IoCContainer.Kernel.Bind <IRepository>().To <Repository>().InSingletonScope(); IoCContainer.Kernel.Bind <IMessageStorage>().To <MessageStorage>().InSingletonScope(); IoCContainer.Kernel.Bind <IStationRepository>().To <StationRepository>().InSingletonScope(); IoCContainer.Kernel.Bind <ILineProvider>().To <OldLineProvider>().InSingletonScope(); //IoCContainer.Kernel.Bind<IWsdlRepository>().To<WcfService.WsdlRepository>().InSingletonScope(); IoCContainer.Kernel.Bind <IChangeTracker>().To <ChangeTracker>().InSingletonScope(); IoCContainer.Kernel.Bind <ILanguageRepository>().To <LanguageRepository>().InSingletonScope(); IoCContainer.Kernel.Bind <IMediator>().To <MyMessageMediator>().InSingletonScope(); IoCContainer.Kernel.Bind <IDatabaseManager>().To <DbManager>().InSingletonScope(); IoCContainer.Kernel.Bind <IWaitOverlayProvider>().To <WaitOverlayProvider>().InSingletonScope(); IoCContainer.Kernel.Bind <ISelectDate>().To <DateHelper>().InSingletonScope(); IoCContainer.Kernel.Bind <IErrorWindowService>().To <ErrorWindowService>().InSingletonScope(); IoCContainer.Kernel.Bind <IQuestionWindowService>().To <QuestionWindowService>().InSingletonScope(); IoCContainer.Kernel.Bind <ITicketHandler>().To <TicketHandler>().InSingletonScope(); IoCContainer.Kernel.Bind <ITicketActions>().To <TicketActions>().InSingletonScope(); IoCContainer.Kernel.Bind <IPrinterHandler>().To <PrinterHandler>().InSingletonScope(); IoCContainer.Kernel.Bind <IMyRegionManager>().To <MyRegionManager>().InSingletonScope(); IoCContainer.Kernel.Bind <IBusinessPropsHelper>().To <BusinessPropsHelper>().InSingletonScope(); IoCContainer.Kernel.Bind <IDataBinding>().To <DataBinding>().InSingletonScope(); IoCContainer.Kernel.Bind <IEnterPinWindowService>().To <EnterPinWindowService>().InSingletonScope(); IoCContainer.Kernel.Bind <ILiveStreamService>().To <LiveStreamService>().InSingletonScope(); IoCContainer.Kernel.Bind <ILineSr>().To <SharedLineSr>().InSingletonScope(); IoCContainer.Kernel.Bind <IConfidenceFactor>().To <ConfidenceFactor>().InSingletonScope(); IoCContainer.Kernel.Bind <ITransactionQueueHelper>().To <TransactionQueueHelper>().InSingletonScope(); IoCContainer.Kernel.Bind <ITicketSaveHandler>().To <TicketSaveHandler>().InSingletonScope(); IoCContainer.Kernel.Bind <INDEServer>().ToConstant(new NDEServer("terminal")).InSingletonScope(); IoCContainer.Kernel.Bind <IProcessExecutor>().To <ProcessExecutor>().InSingletonScope(); IoCContainer.Kernel.Bind <IStationSettings>().To <StationSettings>().InSingletonScope(); if (e.Args.Contains("testmode")) { StationRepository.IsTestMode = true; IoCContainer.Kernel.Bind <IWsdlRepository>().To <WcfService.TestWsdlRepository>().InSingletonScope(); IoCContainer.Kernel.Bind <ITranslationProvider>().To <TestDBTranslationProvider>().InSingletonScope(); DbManager.Instance.DropDatabase(true); } else { IoCContainer.Kernel.Bind <IWsdlRepository>().To <WcfService.WsdlRepository>().InSingletonScope(); IoCContainer.Kernel.Bind <ITranslationProvider>().To <DBTranslationProvider>().InSingletonScope(); } if (!Debugger.IsAttached) { Process proc2 = new Process(); // clear internet explorer cache proc2.StartInfo.FileName = "RunDll32.exe"; proc2.StartInfo.Arguments = "InetCpl.cpl,ClearMyTracksByProcess 255"; proc2.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; proc2.Start(); } //StyleHelper.CreateStyleForwardersForDefaultStyles(); var mainScreen = Screen.AllScreens.First(s => s.Primary); if (mainScreen.WorkingArea.Width < 1920) { ChangeTracker.Screen2WindowScale = (double)mainScreen.WorkingArea.Width / 1920.0d / 1.08d; } _startWindow = new StartWindow(); _startWindow.Topmost = !Debugger.IsAttached; _startWindow.Show(); if (StationRepository.StationNumber != "0000" && StationRepository.LayoutName == null) { StationRepository.Refresh(); } var LayoutName = MyRegionManager.DefaultLayout; if (!string.IsNullOrEmpty(StationRepository.LayoutName)) { LayoutName = StationRepository.LayoutName; } // TODO: Using a custom IoC container like Unity? Register it here: // Catel.IoC.ServiceLocator.Default.RegisterExternalContainer(MyUnityContainer); var foo = new Uri("pack://application:,,,/" + LayoutName + ";component/Resources/CommonStyles.xaml", UriKind.Absolute); Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = foo }); var foo2 = new Uri("pack://application:,,,/" + LayoutName + ";component/Resources/DataTemplates.xaml", UriKind.Absolute); Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = foo2 }); var foo3 = new Uri("pack://application:,,,/" + LayoutName + ";component/Resources/LiveDataTemplates.xaml", UriKind.Absolute); Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = foo3 }); try { ResolveImagePath resolveImagePath = new ResolveImagePath(); var images = Directory.GetFiles(WorkingDirectory + ImageRelativePath + LayoutName, "*.png"); foreach (var image in images) { resolveImagePath.Path = Path.GetFileName(image); resolveImagePath.ProvideValue(null); } } catch (Exception ex) { Log.Error(ex.Message, ex); } if (id != 0) { Process[] processlist = Process.GetProcesses(); foreach (Process theprocess in processlist) { if (theprocess.Id == id) { theprocess.Kill(); break; } } } base.OnStartup(e); _startWindow.SetMessage("Initializing..."); Log.Debug("start window show"); // AppDomain.CurrentDomain.UnhandledException += AppDomainUnhandledException; try { Log.Debug("IOC kernel start"); var dispatcher = new MyDispatcher(Dispatcher.CurrentDispatcher); IoCContainer.Kernel.Bind <IDispatcher>().ToConstant <IDispatcher>(dispatcher).InSingletonScope(); if (GetRestartErrorsNumber() >= _iErrorFileMaximumEntries) { Thread.Sleep(2000); var f = new FatalCrashWindow(); f.ShowDialog(); } //STARTING IN TEST MODE Log.Debug("IOC kernel end"); //if (!System.Diagnostics.Debugger.IsAttached) //{ // SetTimeZone(0, false); //} //SetTimeZone(0, false); //_startWindow.SetMessage("Clearing Database..."); Log.Debug("clear updater files"); // check if we still have to finish Update if (File.Exists(Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater1.exe")) { try { File.Delete(Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater.exe"); File.Move(Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater1.exe", Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater.exe"); File.Delete(Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater.pdb"); File.Move(Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater1.pdb", Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater.pdb"); } catch (Exception) { // } } //if (Convert.ToBoolean(ConfigurationManager.AppSettings["DoAutoUpdate"])) //{ string sVersion = string.Empty; Updater up = new Updater(); up.IsError = false; Log.Debug("updater start"); string sProcessName = System.Diagnostics.Process.GetCurrentProcess().ProcessName; string sAssemblyName = "SportBetting.WPF.Prism.exe"; if (!Debugger.IsAttached && up.DoBinariesUpdate(out sVersion, ref _autoEvent, ref _startWindow) == 1) //if (up.DoBinariesUpdate(out sVersion, ref _autoEvent, ref _startWindow) == 1) { _startWindow.SetMessage("Clearing Database..."); Log.Debug("clear db start"); Log.Debug("clear db end"); if (_autoEvent.WaitOne(420000)) //wait download complete for 60 seconds { if (!up.IsError) { // continue if there're no errors during directories copy and extraction zip file // start updater Process proc = new Process(); proc.StartInfo.FileName = Directory.GetCurrentDirectory() + "\\SportBetting.Updater.exe"; proc.StartInfo.Arguments = " " + sProcessName + "|" + sAssemblyName + "|" + sVersion; proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; proc.Start(); Environment.Exit(0); } else { // log error while copy / extract _startWindow.SetMessage("Error while copy / extract files"); } } else { // log timeout issue // update wasn't downloaded. _startWindow.SetMessage("Update downloading timed out. Will try next time."); } } //} _startWindow.SetMessage("Starting Station. Please wait..."); Log.Debug("init db end"); //DbManager.Instance.DeleteOldObjects(); if (!InitDatabase()) { return; } Log.Debug("show wait window"); IoCContainer.Kernel.Get <IStationRepository>().LastPrintedObjects = string.Empty; var myRegionManager = IoCContainer.Kernel.Get <IMyRegionManager>(); var waitOverlay = new WaitOverlayProvider(); waitOverlay.ShowWaitOverlay(); //var mainScreen = Screen.AllScreens.First(s => s.Primary); Log.Debug("checking mode. Monitor width = " + mainScreen.WorkingArea.Width.ToString()); if ((ConfigurationManager.AppSettings["Is34Mode"] ?? string.Empty).Trim().ToLowerInvariant() == "true") { ChangeTracker.Is34Mode = true; } else if ((ConfigurationManager.AppSettings["Is34Mode"] ?? string.Empty).Trim().ToLowerInvariant() == "false") { ChangeTracker.Is34Mode = false; } else { Log.Debug("checking mode. Is34Mode not found in config"); if (mainScreen.WorkingArea.Width == 1280 && mainScreen.WorkingArea.Width > mainScreen.WorkingArea.Height) { ChangeTracker.Is34Mode = true; } else { ChangeTracker.Is34Mode = false; } } if (!ChangeTracker.Is34Mode) { if ((ConfigurationManager.AppSettings["landscape_mode"] ?? string.Empty).Trim().ToLowerInvariant() == "true") { ChangeTracker.IsLandscapeMode = true; } else if ((ConfigurationManager.AppSettings["landscape_mode"] ?? string.Empty).Trim().ToLowerInvariant() == "false") { ChangeTracker.IsLandscapeMode = false; } else { Log.Debug("checking mode. landscape_mode not found in config"); if (mainScreen.WorkingArea.Width > mainScreen.WorkingArea.Height) { ChangeTracker.IsLandscapeMode = true; } } } Log.Debug("init main window"); var mainWindowView = myRegionManager.FindWindowByViewModel <MainViewModel>(); ChangeTracker.MainWindow = mainWindowView; MaximizeWindow(ChangeTracker.MainWindow, mainScreen); //if (!bool.Parse(ConfigurationManager.AppSettings["fullscreen"])) SetWindowSettings(ChangeTracker.MainWindow); Current.MainWindow = ChangeTracker.MainWindow; Current.ShutdownMode = ShutdownMode.OnMainWindowClose; ViewObjectBase.Dispatcher = Current.MainWindow.Dispatcher; Log.Debug("close start window"); _startWindow.Close(); Current.MainWindow.Show(); Log.Debug("show main window"); // close starter window } catch (Exception ex) { HandleException(ex); } }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); IoCContainer.Kernel = new StandardKernel(); IoCContainer.Kernel.Bind <IRepository>().To <Repository>().InSingletonScope(); IoCContainer.Kernel.Bind <IStationRepository>().To <StationRepository>().InSingletonScope(); IoCContainer.Kernel.Bind <IMessageStorage>().To <MessageStorage>().InSingletonScope(); IoCContainer.Kernel.Bind <ILineProvider>().To <OldLineProvider>().InSingletonScope(); //IoCContainer.Kernel.Bind<IWsdlRepository>().To<WcfService.WsdlRepository>().InSingletonScope(); IoCContainer.Kernel.Bind <IChangeTracker>().To <ChangeTracker>().InSingletonScope(); IoCContainer.Kernel.Bind <ILanguageRepository>().To <LanguageRepository>().InSingletonScope(); IoCContainer.Kernel.Bind <IMediator>().To <MyMessageMediator>().InSingletonScope(); IoCContainer.Kernel.Bind <IDatabaseManager>().To <DbManager>().InSingletonScope(); IoCContainer.Kernel.Bind <IWaitOverlayProvider>().To <WaitOverlayProvider>().InSingletonScope(); IoCContainer.Kernel.Bind <ISelectDate>().To <DateHelper>().InSingletonScope(); IoCContainer.Kernel.Bind <IErrorWindowService>().To <ErrorWindowService>().InSingletonScope(); IoCContainer.Kernel.Bind <IQuestionWindowService>().To <QuestionWindowService>().InSingletonScope(); IoCContainer.Kernel.Bind <ITicketHandler>().To <TicketHandler>().InSingletonScope(); IoCContainer.Kernel.Bind <ITicketActions>().To <TicketActions>().InSingletonScope(); IoCContainer.Kernel.Bind <IPrinterHandler>().To <PrinterHandler>().InSingletonScope(); IoCContainer.Kernel.Bind <IMyRegionManager>().To <MyRegionManager>().InSingletonScope(); IoCContainer.Kernel.Bind <IBusinessPropsHelper>().To <BusinessPropsHelper>().InSingletonScope(); IoCContainer.Kernel.Bind <IDataBinding>().To <DataBinding>().InSingletonScope(); IoCContainer.Kernel.Bind <IEnterPinWindowService>().To <EnterPinWindowService>().InSingletonScope(); IoCContainer.Kernel.Bind <ILiveStreamService>().To <LiveStreamService>().InSingletonScope(); IoCContainer.Kernel.Bind <ILineSr>().To <SharedLineSr>().InSingletonScope(); IoCContainer.Kernel.Bind <IConfidenceFactor>().To <ConfidenceFactor>().InSingletonScope(); IoCContainer.Kernel.Bind <ITransactionQueueHelper>().To <TransactionQueueHelper>().InSingletonScope(); IoCContainer.Kernel.Bind <ITicketSaveHandler>().To <TicketSaveHandler>().InSingletonScope(); var dispatcher = new MyDispatcher(Dispatcher); IoCContainer.Kernel.Bind <IDispatcher>().ToConstant <IDispatcher>(dispatcher).InSingletonScope(); var mainScreen = Screen.AllScreens.First(s => s.Primary); Log.Debug("checking mode. Monitor width = " + mainScreen.WorkingArea.Width.ToString()); if ((ConfigurationManager.AppSettings["Is34Mode"] ?? string.Empty).Trim().ToLowerInvariant() == "true") { ChangeTracker.Is34Mode = true; } else if ((ConfigurationManager.AppSettings["Is34Mode"] ?? string.Empty).Trim().ToLowerInvariant() == "false") { ChangeTracker.Is34Mode = false; } else { Log.Debug("checking mode. Is34Mode not found in config"); if (mainScreen.WorkingArea.Width == 1280 && mainScreen.WorkingArea.Width > mainScreen.WorkingArea.Height) { ChangeTracker.Is34Mode = true; } else { ChangeTracker.Is34Mode = false; } } if (!ChangeTracker.Is34Mode) { if ((ConfigurationManager.AppSettings["landscape_mode"] ?? string.Empty).Trim().ToLowerInvariant() == "true") { ChangeTracker.IsLandscapeMode = true; } else if ((ConfigurationManager.AppSettings["landscape_mode"] ?? string.Empty).Trim().ToLowerInvariant() == "false") { ChangeTracker.IsLandscapeMode = false; } else { Log.Debug("checking mode. landscape_mode not found in config"); if (mainScreen.WorkingArea.Width > mainScreen.WorkingArea.Height) { ChangeTracker.IsLandscapeMode = true; } } } int arg0 = 0; int.TryParse(e.Args[0], out arg0); bool arg1 = true; bool.TryParse(e.Args[1], out arg1); var webLive = new WebLiveMonitorWindow(); var viewModel = new WebLiveMonitorViewModel(arg0); webLive.DataContext = viewModel; viewModel.ViewWindow = webLive; webLive.Show(); MaximizeWindow(webLive, arg0, arg1); webLive.Show(); webLive.WindowState = WindowState.Normal; webLive.WindowState = WindowState.Maximized; }
public void StartUp() { IoCContainer.Kernel = new StandardKernel(); MyLineSr = new Mock <ILineSr>(); StationSettings = new Mock <IStationSettings>(); NDEServer = new Mock <INDEServer>(); TicketSaveHandler = new Mock <ITicketSaveHandler>(); TransactionQueueHelper = new Mock <ITransactionQueueHelper>(); LineProvider = new Mock <ILineProvider>(); LiveStreamService = new Mock <ILiveStreamService>(); DataBinding = new Mock <IDataBinding>(); ErrorWindowService = new Mock <IErrorWindowService>(); BusinessPropsHelper = new Mock <IBusinessPropsHelper>(); MyRegionManager = new Mock <IMyRegionManager>(); TicketActions = new Mock <ITicketActions>(); PrinterHandler = new Mock <IPrinterHandler>(); TicketHandler = new Mock <ITicketHandler>(); MessageMediator = new Mock <IMediator>(); Repository = new Mock <IRepository>(); StationRepository = new Mock <IStationRepository>(); TranslationProvider = new Mock <ITranslationProvider>(); ChangeTracker = new Mock <IChangeTracker>(); WsdlRepository = new Mock <IWsdlRepository>(); LanguageRepository = new Mock <ILanguageRepository>(); WaitOverlayProvider = new Mock <IWaitOverlayProvider>(); SelectDate = new Mock <ISelectDate>(); QuestionWindowService = new Mock <IQuestionWindowService>(); ChangeTracker.Setup(x => x.SportFilters).Returns(new ObservableCollection <ComboBoxItemStringId>()); ChangeTracker.Setup(x => x.TimeFilters).Returns(new ObservableCollection <ComboBoxItem>()); ChangeTracker.Setup(x => x.SelectedTimeFilter).Returns(new ComboBoxItem("0", 0)); ChangeTracker.Setup(x => x.SelectedSportFilter).Returns(new ComboBoxItemStringId("0", "0")); TranslationProvider.Setup(x => x.CurrentLanguage).Returns("EN"); DataBinding.Setup(x => x.TipListInfo).Returns(new TipListInfo()); ConfidenceFactor = new Mock <IConfidenceFactor>(); Kernel.Bind <IMessageStorage>().To <MessageStorage>().InSingletonScope(); Kernel.Bind <INDEServer>().ToConstant <INDEServer>(NDEServer.Object).InSingletonScope(); Kernel.Bind <IStationSettings>().ToConstant <IStationSettings>(StationSettings.Object).InSingletonScope(); Kernel.Bind <ITicketSaveHandler>().ToConstant <ITicketSaveHandler>(TicketSaveHandler.Object).InSingletonScope(); Kernel.Bind <ITransactionQueueHelper>().ToConstant <ITransactionQueueHelper>(TransactionQueueHelper.Object).InSingletonScope(); Kernel.Bind <ILineProvider>().ToConstant <ILineProvider>(LineProvider.Object).InSingletonScope(); Kernel.Bind <ILineSr>().ToConstant <ILineSr>(MyLineSr.Object).InSingletonScope(); Kernel.Bind <ILiveStreamService>().ToConstant <ILiveStreamService>(LiveStreamService.Object).InSingletonScope(); Kernel.Bind <IDataBinding>().ToConstant <IDataBinding>(DataBinding.Object).InSingletonScope(); Kernel.Bind <IBusinessPropsHelper>().ToConstant <IBusinessPropsHelper>(BusinessPropsHelper.Object).InSingletonScope(); Kernel.Bind <IMyRegionManager>().ToConstant <IMyRegionManager>(MyRegionManager.Object).InSingletonScope(); Kernel.Bind <ITicketActions>().ToConstant <ITicketActions>(TicketActions.Object).InSingletonScope(); Kernel.Bind <IPrinterHandler>().ToConstant <IPrinterHandler>(PrinterHandler.Object).InSingletonScope(); Kernel.Bind <ISelectDate>().ToConstant <ISelectDate>(SelectDate.Object).InSingletonScope(); Kernel.Bind <IErrorWindowService>().ToConstant <IErrorWindowService>(ErrorWindowService.Object).InSingletonScope(); Kernel.Bind <IRepository>().ToConstant <IRepository>(Repository.Object).InSingletonScope(); Kernel.Bind <IMediator>().ToConstant <IMediator>(MessageMediator.Object).InSingletonScope(); Kernel.Bind <IChangeTracker>().ToConstant <IChangeTracker>(ChangeTracker.Object).InSingletonScope(); Kernel.Bind <IStationRepository>().ToConstant <IStationRepository>(StationRepository.Object).InSingletonScope(); Kernel.Bind <IWsdlRepository>().ToConstant <IWsdlRepository>(WsdlRepository.Object).InSingletonScope(); Kernel.Bind <ILanguageRepository>().ToConstant <ILanguageRepository>(LanguageRepository.Object).InSingletonScope(); Kernel.Bind <IWaitOverlayProvider>().ToConstant <IWaitOverlayProvider>(WaitOverlayProvider.Object).InSingletonScope(); Kernel.Bind <ITranslationProvider>().ToConstant <ITranslationProvider>(TranslationProvider.Object).InSingletonScope(); Kernel.Bind <ITicketHandler>().ToConstant <ITicketHandler>(TicketHandler.Object).InSingletonScope(); Kernel.Bind <IQuestionWindowService>().ToConstant <IQuestionWindowService>(QuestionWindowService.Object).InSingletonScope(); Kernel.Bind <IConfidenceFactor>().ToConstant <IConfidenceFactor>(ConfidenceFactor.Object).InSingletonScope(); StationRepository.Setup(x => x.HubSettings).Returns(new Dictionary <string, string>()); StationRepository.Setup(x => x.StationNumber).Returns("123"); StationRepository.Setup(x => x.IsReady).Returns(true); StationSettings.Setup(x => x.IsCashinOk).Returns(true); WsdlRepository.Setup(x => x.SecureKey).Returns("123"); WsdlRepository.Setup(x => x.OpenSession(It.IsAny <string>(), true, string.Empty, string.Empty, false)) .Returns(new SessionWS() { session_id = "123" }); TranslationProvider.Setup(x => x.DefaultLanguage).Returns("EN"); var newWindowThread = new Thread(() => { Dispatcher.Run(); }); newWindowThread.SetApartmentState(ApartmentState.STA); newWindowThread.IsBackground = true; newWindowThread.Start(); while (dispatcher == null) { Thread.Sleep(10); dispatcher = Dispatcher.FromThread(newWindowThread); } var dispatchermy = new MyDispatcher(dispatcher); IoCContainer.Kernel.Unbind <IDispatcher>(); IoCContainer.Kernel.Bind <IDispatcher>().ToConstant <IDispatcher>(dispatchermy).InSingletonScope(); }
internal void CreateHubspotConnection(string prefixEndpoint) { try { if (_timer != null) { _timer.Dispose(); _timer = null; } var hubConnection = new HubConnection(prefixEndpoint); var signalr = hubConnection.CreateHubProxy("signalhub"); signalr.On("requestCompleted", (List <RequestSummary> a) => { MyDispatcher.Invoke(delegate { foreach (var summary in a) { // prevent duplicate keys if (Control.Model.Summaries.ContainsKey(summary.ID) == false) { Control.Model.Summaries.Add(new KeyValuePair <string, RequestSummaryVM>(summary.ID, new RequestSummaryVM(summary))); } } var list = Control.FindName("TraceList") as ListView; if (list == null) { return; } list.ScrollIntoView(list.Items.GetItemAt(list.Items.Count - 1)); }); }); signalr.On("requestRemoved", (List <string> a) => { MyDispatcher.Invoke(delegate { foreach (var id in a) { Control.Model.Summaries.Remove(id); } }); }); signalr.On("version", (Models.PrefixVersion version) => { MyDispatcher.Invoke(delegate { if (!string.IsNullOrWhiteSpace(version?.version)) { Control.Model.Version = $"v{version.version}"; } }); }); _hub = signalr; _connectionChecker = new ConnectionChecker(MyDispatcher, hubConnection, this); _timer = new Timer(_connectionChecker.CheckStatus, null, 0, 1500); } catch (Exception e) { Debug.Write(e); } }