示例#1
0
        public void Update(TaskProgress progress)
        {
            Trace($"Update progress: {progress}");

            Task.Progress = progress;

            switch (progress)
            {
            case TaskProgress.Acknowledged:

                WhenAcknowledged.SetComplete();

                break;

            case TaskProgress.Confirmed:

                WhenAcknowledged.SetComplete();

                WhenCompleted.SetComplete();

                break;

            case TaskProgress.Timeout:

                WhenAcknowledged.Timeout();

                WhenCompleted.Timeout();

                break;

            case TaskProgress.Failed:

                WhenAcknowledged.Fail();

                WhenCompleted.Fail();

                break;

            case TaskProgress.Cancelled:

                WhenAcknowledged.SetComplete();

                WhenCompleted.Cancel();

                break;
            }
        }