public bool Exists(IQueueTaskItem taskItem) { if (_taskItems == null || _taskItems.Count == 0) { return(false); } return(_taskItems.Contains(taskItem)); }
public void AddTask(IQueueTaskItem taskItem) { if (_taskItems == null) { _taskItems = new List <IQueueTaskItem>(); } _taskItems.Add(taskItem); }
public void Remove(IQueueTaskItem taskItem) { if (_taskItems == null || _taskItems.Count == 0) { return; } if (_taskItems.Contains(taskItem)) { _taskItems.Remove(taskItem); } }
public void DoAllTask() { if (_taskItems == null || _taskItems.Count == 0) { return; } _taskItems.Reverse(); // if (_tracker != null) { _tracker.StartTracking(string.Empty, _taskItems.Count); } int idx = 0; // for (int i = _taskItems.Count - 1; i >= 0; i--) { IQueueTaskItem taskItem = _taskItems[i]; bool isOK = false; try { string name = taskItem.Name != null ? taskItem.Name : taskItem.ToString(); if (_tracker != null) { _tracker.Tracking("正在" + name + "......", idx); } // if (OnBeforeDoQueueTaskItemHandler != null) { OnBeforeDoQueueTaskItemHandler(this, _taskItems[i]); } _taskItems[i].Do(_tracker); _taskItems.Remove(_taskItems[i]); isOK = true; } catch { isOK = false; } if (OnAfterQueueTaskItemHandler != null) { OnAfterQueueTaskItemHandler(this, taskItem, isOK); } idx++; } }