예제 #1
0
        public object Run(int timeSleep)
        {
            if (timeSleep < 10)
            {
                throw new Exception($"Timesleep trop bas: {timeSleep}");
            }

            try
            {
                // Thread.Sleep(500);
                // Boucle Totale
                for (int i = 0; i < 10; i++)
                {
                    UpdateStatusT?.Invoke(this, new StateArg("New Task", CancelFlag));
                    UpdateProgressT?.Invoke(this, new ProgressArg(0, 100, CancelFlag));

                    for (int j = 0; j < 50; j++)
                    {
                        if (CancelFlag)
                        {
                            return(false);
                        }

                        UpdateProgress?.Invoke(this, new ProgressArg(j * 2, 100, CancelFlag));

                        while (IsPaused)
                        {
                            Thread.Sleep(100);
                        }

                        if (CancelToken.IsCancellationRequested)
                        {
                            return(null);
                        }

                        UpdateStatus?.Invoke(this, new StateArg($"File {i}.{j}", CancelFlag));
                        // db2.CurrentOP = $"{DxTBLang.File} {i}";


                        Thread.Sleep(timeSleep);
                    }

                    UpdateProgress?.Invoke(this, new ProgressArg(100, 100, false));
                }

                UpdateProgressT?.Invoke(this, new ProgressArg(0, 100, false));
                Thread.Sleep(100);
            }
            catch (Exception exc)
            {
                Debug.WriteLine(exc);
            }
            return(null);
        }
예제 #2
0
 public void SayUpdateStatusT(string updateStatusT)
 {
     Debug.WriteLine($"{nameof(SayUpdateStatusT)}: {updateStatusT}");
     UpdateStatusT?.Invoke(this, updateStatusT);
 }