public TaskMonitorWindow() { InitializeComponent(); FactoryType = FactoryEnum.FileUploadFactory; taskMonitorContext = this; Initialize(); }
public void RunTaskMonitor(ITaskMonitorContext aTaskMonitorContext, IEnumerable <ITaskItemContext> aTaskItem, Func <ITaskItemContext, object[], Task> aTaskExcuteDelegate, params object[] optionalParams) { taskMonitorContext = aTaskMonitorContext; if (TaskCollection == null) { TaskCollection = new ObservableCollection <ITaskItemContext>(); } TaskExcuteHandler = aTaskExcuteDelegate; aTaskItem.ToList().ForEach(x => { x.TaskId = new Random().Next(); x.TaskProgressRatio = 0; x.TaskStatus = TaskStatusEnum.Ready; x.TaskCancellationTokenSource = new CancellationTokenSource(); if (new FileInfo(x.FilePath).Length > 104857600) { x.TaskStatus = TaskStatusEnum.Error; x.TaskMessage = "文件大小超过100M,暂不支持"; } else if (new FileInfo(x.FilePath).Length >= 1048576) { x.FileLength = System.Math.Ceiling(new FileInfo(x.FilePath).Length / 1048576.0) + "MB"; } else if (new FileInfo(x.FilePath).Length == 0) { x.TaskStatus = TaskStatusEnum.Error; x.TaskMessage = "禁止上传0KB文件"; } else { x.FileLength = System.Math.Ceiling(new FileInfo(x.FilePath).Length / 1024.0) + "KB"; } TaskCollection.Add((TaskItemFileUpload)x); }); commonParams = optionalParams; RunTaskCollection(); }
public override void RunTaskMonitor(ITaskMonitorContext taskMonitorContext, IEnumerable <ITaskItemContext> aTaskItems, Func <ITaskItemContext, object[], Task> aTaskExecuteFunc, object[] aTaskActionParams) { TaskMonitorDataContext?.RunTaskMonitor(taskMonitorContext, aTaskItems, aTaskExecuteFunc, aTaskActionParams); }
public abstract void RunTaskMonitor(ITaskMonitorContext taskMonitorContext, IEnumerable <ITaskItemContext> aTaskItems, Func <ITaskItemContext, object[], Task> aTaskExecuteFunc, object[] aTaskActionParams);
public TaskMonitorWindow(ITaskMonitorContext aTaskMonitorContext) { InitializeComponent(); taskMonitorContext = aTaskMonitorContext; Initialize(); }