void oltProtocolConnectChange() { if (oltProtocol.Connected) { lambdaAdapter.StartCommunication(); updateThread.RunWorkerAsync(); } else { if (onlineManager.settings.NewLogOnConnectECU) { onlineManager.dataLogger.Close(); } lambdaAdapter.StopCommunication(); updateThread.CancelAsync(); BackgroundWorkerHelper.Wait(updateThread); } uiContext.Post( delegate { UpdateConnectStatus(); UpdateEcuDiagValues(); }, null); }
public void StopCommunication() { readThread.CancelAsync(); BackgroundWorkerHelper.Wait(readThread); CloseTrace(); Connected = false; }
public void EditAssigmentRule(EditRuleDataRequest ar) { var _bgWorkerHelper = new BackgroundWorkerHelper(); _bgWorkerHelper.AddDoWork(OnEditRuleDoWork) .DoWork(ar); }
private void DragSource_Drop(object sender, Infragistics.DragDrop.DropEventArgs e) { var data = e.Data as PolicyElementViewModel; var drca = e.DropTarget as XamDataTreeNodeControl; if (drca != null && data != null) { var node = drca.Node; if (node != null) { var ndata = node.Data as DirectoryNode; var listPolicyAssign = new List <PolicyAssign>(); var pa = new PolicyAssign { Color = data.ExpanderBackgroundColor, ObjectId = ndata.NodeId, ObjectType = ndata.IsFolder?0:1, PolicyAgentId = data.Id }; listPolicyAssign.Add(pa); var policyAssigningBg = new BackgroundWorkerHelper(); policyAssigningBg.AddDoWork(SaveBackgroundWorker_DoWork) .DoWork(listPolicyAssign); } } }
public override StartCommandResult OnStartCommand(Intent intent, StartCommandFlags flags, int startId) { _cts = new CancellationTokenSource(); Task.Run(() => { try { //INVOKE THE SHARED CODE //var counter = new TaskCounter (); //counter.RunCounter (_cts.Token).Wait (); BackgroundWorkerHelper.BackgroundTask(_cts.Token).Wait(); } catch (OperationCanceledException) { } finally { if (_cts.IsCancellationRequested) { //var message = new CancelledMessage (); //Device.BeginInvokeOnMainThread ( // () => MessagingCenter.Send (message, "CancelledMessage") //); } } }, _cts.Token); return(StartCommandResult.Sticky); }
/// <summary> /// Окончание опроса ЭБУ /// </summary> public void Stop() { IsBusy = true; try { IdleRequest = TesterPresent; readThread.CancelAsync(); BackgroundWorkerHelper.Wait(readThread); IdleRequest = null; serialPort.DiscardInBuffer(); serialPort.DiscardOutBuffer(); AddOperationLog("Send stop diagnostic session ..."); ExecuteRequest(StopDiagnosticSession); if (baundRate != enBaundRate.Low) { serialPort.BaudRate = 10400; } AddOperationLog("Send stop communication..."); ExecuteRequest(StopCommunication); } finally { serialPort.DiscardInBuffer(); serialPort.DiscardOutBuffer(); serialPort.Close(); Connected = false; IsOnline = false; IsBusy = false; } }
private void Build() { var transferScheduleBg = new BackgroundWorkerHelper(); transferScheduleBg.AddDoWork(OnGetTransferScheduling).DoWork(); var count = 0; _view.PnlLeftUpdateSource.Children.Clear(); _view.PnlRightUpdateSource.Children.Clear(); var agentUpdataSource = ApplicationContext.UpdateSourceList.Where( r => r.Id != ApplicationContext.UpdateSourceList.Select(u => u.Id).Min()); foreach (var updateSource in agentUpdataSource) { var updSourceEle = new UpdateSourceSchedulingElement(); updSourceEle.Model.Id = updateSource.Id; updSourceEle.Model.UpdateSourceName = string.IsNullOrWhiteSpace(updateSource.SourceName) ? updateSource.SystemName : updateSource.SourceName + " (" + updateSource.SystemName + ")"; if (count % 2 == 0) { _view.PnlLeftUpdateSource.Children.Add(updSourceEle); } else { _view.PnlRightUpdateSource.Children.Add(updSourceEle); } count++; } var updateSourceScheduleBg = new BackgroundWorkerHelper(); updateSourceScheduleBg.AddDoWork(OnGetUpdateSourceScheduling).DoWork(); }
private void StartBackground(Action DoWork, bool automaticProgress) { backgroundWorkerHelper = new BackgroundWorkerHelper(); //Non funziona: l'evento progress non viene lanciato neanche nella classe Helper backgroundWorkerHelper.WorkerReportsProgress = true; backgroundWorkerHelper.WorkerSupportsCancellation = true; backgroundWorkerHelper.BackgroundDoWorkEvent += new BackgroundWorkerHelper.BackgroundDoWorkEventHandler(DoWork); //backgroundWorkerHelper.BackgroundProgressChangedEvent += new BackgroundWorkerHelper.BackgroundProgressChangedEventHandler(BackgroundWorkerProgressChanged); backgroundWorkerHelper.BackgroundCompletedEvent += new BackgroundWorkerHelper.BackgroundCompletedEventHandler(BackgroundWorkerCompleted); // Run Background backgroundWorkerHelper.RunBackgroundWorker(); //Resetto e rendo visibile la progressBar ProgressPercent = 0; IsProgressVisible = true; ProgressMaximum = 100; if (automaticProgress) { ProgressMaximum = 20; //TODO si può mettere l'animation nello xaml? dispatcherTimer = new DispatcherTimer(); dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 50); dispatcherTimer.Tick += (sender, args) => { ProgressPercent = ++ProgressPercent % ProgressMaximum; }; dispatcherTimer.Start(); } }
private void StopEcuEmul() { readThread.CancelAsync(); BackgroundWorkerHelper.Wait(readThread); serialPort.Close(); ecuEmulStatus.Text = "ecu emulation stop"; }
private void UploadSoftware() { var mainVm = PageNavigatorHelper.GetMainModel(); mainVm.ShowMessage("Uploading..."); var uploadBg = new BackgroundWorkerHelper(); uploadBg.AddDoWork(SaveBackgroundWorker_DoWork).AddRunWorkerCompleted(OnSaveData_RunWorkerCompleted).DoWork(); }
private void FormBW_Load(object sender, EventArgs e) { backWorkerHelper = new BackgroundWorkerHelper(backgroundWorker1); buttonStart.Click += new EventHandler(buttonStart_Click); buttonCancel.Click += new EventHandler(buttonCancel_Click); backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorkerExample_ProgressChanged); backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorkerExample_RunWorkerCompleted); backWorkerHelper.TimeLeft.ValueChanged += TimeLeft_ValueChanged; }
public override void Refresh() { //_mainViewModel.IsBusy = true; OnPropertyChanged("IsGroupView"); OnPropertyChanged("IsEndpointView"); if (_bgHelper != null && _bgHelper.IsBusy()) { _bgHelper.Cancel(); } _bgHelper = new BackgroundWorkerHelper().SupportCancellation(); _bgHelper.AddDoWork(OnLoadTask_Dowork).AddRunWorkerCompleted(OnLoadTask_Completed).DoWork(); }
public void Stop() { if (!IsStarted) { return; } readThread.CancelAsync(); BackgroundWorkerHelper.Wait(readThread); ComClose(); IsStarted = false; }
protected void BackgroundWorkerCompleted() { Stato = "Ready"; ProgressPercent = 100; backgroundWorkerHelper = null; if (dispatcherTimer != null) { dispatcherTimer.Stop(); dispatcherTimer = null; } IsProgressVisible = false; }
private void AutoTransferNewContent() { var bgHelper = new BackgroundWorkerHelper(); bgHelper.AddDoWork((o, args) => { var dataRequest = new NewSoftwareTransferRequest { Id = Id, Name = Name, FileName = Executable, Params = Parameters, Checksum = Checksum }; ServiceManager.Invoke( sc => RequestResponseUtils.GetData <DataResponse>(sc.NewSoftwareTransfer, dataRequest)); }).DoWork(); }
public async Task Start() { _cts = new CancellationTokenSource(); _taskId = UIApplication.SharedApplication.BeginBackgroundTask("LongRunningTask", OnExpiration); try { //INVOKE THE SHARED CODE await BackgroundWorkerHelper.BackgroundTask(_cts.Token); } catch (OperationCanceledException) { } finally { if (_cts.IsCancellationRequested) { //var message = new CancelledMessage (); //Device.BeginInvokeOnMainThread ( // () => MessagingCenter.Send (message, "CancelledMessage") //); } } UIApplication.SharedApplication.EndBackgroundTask(_taskId); }
private void ExecuteSave(object obj) { //DialogHelper.ShowLoading(); var taskModel = new PocTaskSyncData { Task = new PocTask { Id = Id, CanInheritFrom = CanInheritFrom, InheritFrom = InheritFrom, IsEnabled = IsEnabled, CanRunEveryMinutes = CanRunEveryMinutes, RunEveryMinutes = RunEveryMinutes ?? 0, CanRunOnce = CanRunOnce }, SoftwareIds = GetSoftwareIds() }; var backgroundWorker = new BackgroundWorkerHelper(); backgroundWorker.AddDoWork(OnSave_Dowork).AddRunWorkerCompleted(OnSave_Completed).DoWork(taskModel); }
private void OnMoveCommand(object args) { var listPolicyAssign = new List <PolicyAssign>(); var policyId = ApplicationContext.PoliciesList[0].Id; var policyColor = ApplicationContext.PoliciesList[0].ExpanderBackgroundColor; foreach (var sn in ApplicationContext.SelectedTargetNodes) { var policyAssign = new PolicyAssign { Color = policyColor, PolicyAgentId = policyId, ObjectId = sn.NodeId, ObjectType = sn.IsFolder ? 0 : 1 }; listPolicyAssign.Add(policyAssign); } _mainWindowViewModel.ShowMessage("Policy Assigning..."); var policyAssigningBg = new BackgroundWorkerHelper(); policyAssigningBg.AddDoWork(SaveBackgroundWorker_DoWork) .AddRunWorkerCompleted(OnSaveData_RunWorkerCompleted) .DoWork(listPolicyAssign); }
/// <summary> /// Event of dropping a note /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DataTree_OnNodeDragEnd(object sender, DragDropEventArgs e) { if (e.OperationType == OperationType.DropNotAllowed) { return; } var data = new MoveFoldersAndEndpointsInputArgs(); var dragNode = e.Data as XamDataTreeNode; var mainViewModel = PageNavigatorHelper.GetMainModel(); if (dragNode != null) { var dragData = dragNode.Data as DirectoryNode; if (dragData != null) { var dropTarget = e.DropTarget as XamDataTreeNodeControl; if (dropTarget != null) { var dropData = dropTarget.Node.Data as DirectoryNode; if (dropData != null) { if (DataTree.Equals(sender)) { ApplicationContext.NodeId = dragData.NodeId; if (!(dropData.NodeId == dragData.NodeId && dropData.IsFolder == dragData.IsFolder)) { data.TargerFolderId = dropData.NodeId; var lstfi = new List <int>(); var lstei = new List <int>(); if (dragData.IsFolder) { lstfi.Add(dragData.NodeId); } else { lstei.Add(dragData.NodeId); } data.FolderIds = lstfi; data.EndpointIds = lstei; if (mainViewModel != null) { mainViewModel.MoveDirectoriesAndEndpointsAction(data); } } } else if (SoftwareDataTree.Equals(sender)) { var updSource = ApplicationContext.UpdateSourceList.Find(r => r.Id == dragData.NodeId); if (updSource != null) { updSource.ParentId = dropData.NodeId; var editUpdSourceBg = new BackgroundWorkerHelper(); editUpdSourceBg.AddDoWork(SaveBackgroundWorker_DoWork).DoWork(updSource); } } } } } } }
/// <summary> /// Save the node name edited /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DataTree_NodeExitedEditMode(object sender, NodeEventArgs e) { var mainViewModel = PageNavigatorHelper.GetMainModel(); var nodedata = e.Node.Data as DirectoryNode; if (DataTree.Equals(sender)) { if (nodedata != null && !string.IsNullOrWhiteSpace(nodedata.Title.Trim())) { if (nodedata != null && nodedata.IsFolder) { if (nodedata.Title.Length > 200) { var mdialog = PageNavigatorHelper._MainWindow.MessageDialogView; mdialog.ShowMessageDialog("Name's length must be less than 200 letters", "Message"); nodedata.Title = _originalTitle; } else { DataTree.SelectionSettings.NodeSelection = TreeSelectionType.None; var ed = new DirectoryEndpoint { Name = nodedata.Title, FolderId = nodedata.NodeId }; if (mainViewModel != null) { mainViewModel.EditDirectoryAction(ed); } } } if (nodedata != null && !nodedata.IsFolder) { if (nodedata.Title.Length > 250) { var mdialog = PageNavigatorHelper._MainWindow.MessageDialogView; mdialog.ShowMessageDialog("Name's length must be less than 250 letters", "Message"); nodedata.Title = _originalTitle; } else { DataTree.SelectionSettings.NodeSelection = TreeSelectionType.None; var ed = new DirectoryEndpoint { Name = nodedata.Title, FolderId = nodedata.NodeId }; if (mainViewModel != null) { mainViewModel.EditEndpointAction(ed); } } } } else { if (nodedata != null) { nodedata.Title = _originalTitle; } } } else if (SoftwareDataTree.Equals(sender)) { if (nodedata != null && !string.IsNullOrWhiteSpace(nodedata.SourceName.Trim())) { if (nodedata.SourceName.Length > 200) { var mdialog = PageNavigatorHelper._MainWindow.MessageDialogView; mdialog.ShowMessageDialog("the length of SourceName must be less than 200 letters", "Message"); nodedata.Title = _originalTitle; nodedata.SourceName = _originalSourceName; return; } var updSource = ApplicationContext.UpdateSourceList.Find(r => r.Id == nodedata.NodeId); if (updSource != null) { updSource.SourceName = nodedata.Title; } Model.BuilSoftwareTree(); var editSoftwareBg = new BackgroundWorkerHelper(); editSoftwareBg.AddDoWork(SaveBackgroundWorker_DoWork).DoWork(updSource); } else { if (nodedata != null) { nodedata.Title = _originalTitle; nodedata.SourceName = _originalSourceName; } } } ApplicationContext.IsBusy = false; }
public void Stop() { sendThread.CancelAsync(); BackgroundWorkerHelper.Wait(sendThread); serialPort.Close(); }