Exemple #1
0
        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);
        }
Exemple #4
0
        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);
 }
Exemple #6
0
        /// <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();
        }
Exemple #8
0
        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();
            }
        }
Exemple #9
0
        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();
        }
Exemple #11
0
        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;
        }
Exemple #12
0
 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;
        }
Exemple #14
0
        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);
 }
Exemple #17
0
        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;
        }
Exemple #21
0
 public void Stop()
 {
     sendThread.CancelAsync();
     BackgroundWorkerHelper.Wait(sendThread);
     serialPort.Close();
 }