private void Exec(JobDispItem item) { if (item == null) { throw new ArgumentNullException(nameof(item)); } Debug.InfoAsync(GetCurrentMethod(), item); item.PrevStateText = MebiusTaskBases.Get(item.Task.RemoveSplitUppers()).Exec(item.Param, item.Settings); Debug.InfoAsync(GetCurrentMethod(), "result=", item.PrevStateText); UpdateListViewPrevState(item.IdInList, item.PrevStateText); if (item.PrevStateText == item.StopResult) { item.StateText = "Ended by Stop result"; item.State = JobDispItem.StateStates.Ended; } else if (item.PrevStateText == item.ErrorResult) { item.StateText = "Ended by Error result"; item.State = JobDispItem.StateStates.Ended; } }
public void Add(JobDispItem item) { if (item == null) { throw new ArgumentNullException(nameof(item)); } Debug.InfoAsync(GetCurrentMethod(), item); ListView.BeginInvoke((MethodInvoker)(() => { ListView.Items.Add( new ListViewItem(new[] { item.Name, item.Task.SplitUppers(), item.Param, ((Job.RepeatModes)item.Repeat).ToString().SplitUppers(), item.StateText.SplitUppers(), item.PrevStateText.SplitUppers() })); item.IdInList = ListView.Items.Count - 1; _taskDispItem.Add(item); })); }
public async void LoadJobs() { Debug.InfoAsync(GetCurrentMethod()); if (_state != DispStates.None && _state != DispStates.Aborted) { throw new Exception("Invalid state=" + _state); } var allJobs = await _unitOfWork.JobRepository.GetAllAsync(); foreach (var task in allJobs) { Add(JobDispItem.Map(task)); } _state = DispStates.Loaded; }
private void ExecWait(JobDispItem item) { if (item == null) { throw new ArgumentNullException(nameof(item)); } //Debug.InfoAsync(GetCurrentMethod(), item); if ((Job.RepeatModes)item.Repeat == Job.RepeatModes.Once && DateTime.Now > item.Date) { item.StateText = "Ended by time"; item.State = JobDispItem.StateStates.Ended; } else { item.State = JobDispItem.StateStates.Working; var ts = item.GetNearDate() - DateTime.Now; item.StateText = "To exec=" + ts.ToTime(); } }