/// <summary> /// 记录任务运行结果 /// </summary> /// <param name="jobId">任务Id</param> /// <param name="jobAction">任务执行动作</param> /// <param name="blresultTag">任务执行结果表示,true成功,false失败,初始执行为true</param> /// <param name="msg">任务记录描述</param> public void RecordRun(string jobId, JobAction jobAction, bool blresultTag = true, string msg = "") { DateTime addTime = DateTime.Now; TaskManager job = _repository.GetSingle(jobId); if (job == null) { _taskJobsLogService.Insert(new TaskJobsLog { Id = GuidUtils.CreateNo(), CreatorTime = DateTime.Now, TaskId = jobId, TaskName = "", JobAction = jobAction.ToString(), Status = false, Description = $"未能找到定时任务:{jobId}" }); return; } string resultStr = string.Empty, strDesc = string.Empty; if (!blresultTag) { job.ErrorCount++; job.LastErrorTime = addTime; strDesc = $"异常," + msg; } else { strDesc = $"正常," + msg; } if (jobAction == JobAction.开始) { job.RunCount++; job.LastRunTime = addTime; CronExpression cronExpression = new CronExpression(job.Cron); job.NextRunTime = cronExpression.GetNextValidTimeAfter(addTime).ToDateTime(); } _repository.Update(job, jobId); _taskJobsLogService.Insert(new TaskJobsLog { Id = GuidUtils.CreateNo(), CreatorTime = DateTime.Now, TaskId = job.Id, TaskName = job.TaskName, JobAction = jobAction.ToString(), Status = blresultTag, Description = strDesc }); }
public async Task Update(TaskViewModel taskViewModel) { var taskToBeUpdated = await GetTaskDetails(taskViewModel.Id); var taskEntity = _mapper.Map <TaskDetails>(taskViewModel); taskEntity.ParentTask = await GetParentTask(taskViewModel); taskEntity.Project = await GetProject(taskViewModel); taskEntity.User = await GetUser(taskViewModel); await _taskManagerRepository.Update(taskToBeUpdated, taskEntity); }
public async Task UpdateTask(TaskViewModel taskDetails) { if (taskDetails == null) { throw new TaskDetailsException(ErrorCodes.TaskNotFoundResponse, "Task is empty"); } var taskEntity = new TaskDetails() { TaskName = taskDetails.TaskName, ParentId = taskDetails.ParentId, Priority = taskDetails.Priority, StartDate = taskDetails.StartDate, EndDate = taskDetails.EndDate, }; var taskToBeUpdated = await _taskManagerRepository.Get(taskDetails.Id); if (taskToBeUpdated != null) { await _taskManagerRepository.Update(taskToBeUpdated, taskEntity); } }