private void ExecuteClearCommand() { Task.Run(() => { System.Windows.MessageBoxResult msgResult = System.Windows.MessageBoxResult.No; System.Windows.Application.Current.Dispatcher.Invoke((Action)(() => { msgResult = System.Windows.MessageBox.Show("Are you sure you want to clear all PBI Logger data?", "Confirm", System.Windows.MessageBoxButton.YesNo); })); if (msgResult == System.Windows.MessageBoxResult.Yes) { if (CottonDBMS.DataModels.Helpers.NetworkHelper.HasNetwork()) { if (PBISyncHelper.IsRunning) { Messenger.Default.Send <BusyMessage>(new BusyMessage { IsBusy = true, Message = "Waiting for background sync to complete." }); BridgeSyncProcessHelper.WaitForSyncToStop(); } else { //run the sync to send data collected this also ensure after it completes //it will not start again during the reset operation Messenger.Default.Send <BusyMessage>(new BusyMessage { IsBusy = true, Message = "Sending collected data." }); PBISyncHelper.RunSync(); PBISyncHelper.WaitForCompletion(); } Messenger.Default.Send <BusyMessage>(new BusyMessage { IsBusy = true, Message = "Clearing data..." }); using (var dp = SimpleIoc.Default.GetInstance <IUnitOfWorkFactory>().CreateUnitOfWork()) { dp.BaleScanRepository.ClearScanData(); dp.SettingsRepository.UpsertSetting(BridgeSettingKeys.LAST_SYNC_TIME, DateTime.Now.AddYears(-1).ToString()); dp.SaveChanges(); } Messenger.Default.Send <BusyMessage>(new BusyMessage { IsBusy = false, Message = "" }); Messenger.Default.Send <DataRefreshedMessage>(new DataRefreshedMessage()); } else { System.Windows.Application.Current.Dispatcher.Invoke((Action)(() => { msgResult = System.Windows.MessageBox.Show("Cannot clear data no network connection"); })); } } }); }
protected override void OpenStartPage() { Task.Run(() => { BridgeSyncProcessHelper.Init("BridgeApp"); }); IdlePageViewModel vm = new IdlePageViewModel(NavService); NavService.ShowPage(PageType.IDLE_PAGE, false, vm); vm.Initialize(); }
protected override void OpenFirstRunPage() { //settings have not been saved so let's open the first run wizard INavigationService navService = SimpleIoc.Default.GetInstance <INavigationService>(); SettingsPageViewModel vm = new SettingsPageViewModel(navService); vm.AllowPortSelection = false; vm.AllowPortBarCodeSelection = false; vm.AllowWeighInPageTimeOutSelection = false; vm.IsFirstLaunch = true; NavService.ShowPage(PageType.SETTINGS_PAGE, false, vm); vm.Initialize(); BridgeSyncProcessHelper.SetAppName("BridgeFeederApp"); }
private void ExecuteSyncCommand() { Task.Run(() => { try { if (BridgeSyncProcessHelper.SyncProcessRunning()) { Messenger.Default.Send <BusyMessage>(new BusyMessage { IsBusy = true, Message = "Performing data sync." }); CottonDBMS.DataModels.Helpers.NetworkHelper.WaitForSyncToStop(); Messenger.Default.Send <BusyMessage>(new BusyMessage { IsBusy = false, Message = "" }); } else { if (!CottonDBMS.DataModels.Helpers.NetworkHelper.HasNetwork()) { Messenger.Default.Send <BusyMessage>(new BusyMessage { IsBusy = true, Message = "No network. Unable to sync." }); System.Threading.Thread.Sleep(4000); Messenger.Default.Send <BusyMessage>(new BusyMessage { IsBusy = false, Message = "" }); return; } Messenger.Default.Send <BusyMessage>(new BusyMessage { IsBusy = true, Message = "Performing data sync." }); BridgeSyncProcessHelper.RunSync(System.Reflection.Assembly.GetExecutingAssembly().Location, false); Messenger.Default.Send <BusyMessage>(new BusyMessage { IsBusy = false, Message = "" }); } Messenger.Default.Send <DataRefreshedMessage>(new DataRefreshedMessage()); } catch (Exception exc) { Logging.Logger.Log(exc); Messenger.Default.Send <BusyMessage>(new BusyMessage { IsBusy = false, Message = "" }); } }); }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { try { if (shellVM != null) { shellVM.Cleanup(); } BridgeSyncProcessHelper.Cancel(); Messenger.Default.Unregister <ContentPageChangedMessage>(this); Logging.Logger.CleanUp(); } catch (Exception exc) { Logging.Logger.Log(exc); } }
private void Timer_Elapsed(object sender, ElapsedEventArgs e) { if (!executingTimer) //prevent long execution of handler from overlapping later callbacks { executingTimer = true; if (lastActivity.AddMinutes(2) < DateTime.Now) { Messenger.Default.Send <InactiveMessage>(new InactiveMessage()); } CurrentTime = DateTime.Now.ToString("MM/dd/yyyy hh:mm tt"); if (String.IsNullOrEmpty(Version)) { Version = "VERSION " + Assembly.GetExecutingAssembly().GetName().Version.ToString(); } //try to connect to reader if (AllowRFIDReaderConnect) { connectToReader(); } using (var dp = SimpleIoc.Default.GetInstance <IUnitOfWorkFactory>().CreateUnitOfWork()) { if (AllowBarcoderConnect) { connectBarCodeReader(dp); } if (AllowScaleConnect) { connectScaleReader(dp); } } if (EnableProcessSync) { if (!BridgeSyncProcessHelper.Initialized && !NavService.IsOpen(PageType.SETTINGS_PAGE)) //make sure sync timer is running but not if in first setup { BridgeSyncProcessHelper.Init(); } if (BridgeSyncProcessHelper.SyncProcessRunning()) { SyncStatus = "SYNCING"; } else { SyncStatus = "WAITING"; } } if (AllowRFIDReaderConnect) { TagsInBuffer = TagDataProvider.TagsInBuffer(); } executingTimer = false; } }