public void Restart() { ProgressHelper.STATUS status = Progress.GetStatus(); if (status == ProgressHelper.STATUS.CANCLE || status == ProgressHelper.STATUS.ERROR) { Progress.Clear(); Start(); } }
public void RecieveDownloadOver() { lock (this) { bool bError = false; bool bAllOver = true; ProgressHelper.STATUS Status = ProgressHelper.STATUS.RUNNING; foreach (var item in Items) { if (item.GetType() == typeof(TrackTask)) { Status = ((TrackTask)item).Progress.GetStatus(); } else if (item.GetType() == typeof(VideoTask)) { Status = ((VideoTask)item).Progress.GetStatus(); } if (Status == ProgressHelper.STATUS.RUNNING || Status == ProgressHelper.STATUS.WAIT) { bAllOver = false; break; } else if (Status == ProgressHelper.STATUS.ERROR) { bError = true; } else if (Status == ProgressHelper.STATUS.CANCLE) { bAllOver = false; bError = false; break; } } if (bAllOver) { if (bError) { VMParent.TaskError(this); } else { VMParent.TaskComplete(this); } } } }