public async Task <ApiResult> UpdateAsync(SubmitDTO <ScheduleTaskDTO> model) { var dto = model.Data; if (dto.Version != this.State.Version) { return(ApiResultUtil.IsFailed("数据已被修改,请重新再加载!")); } bool bRet = await _scheduleRepository.SetAsync(() => new { task_name = dto.TaskName, line_code = dto.LineCode, version = (dto.Version + 1) }, oo => oo.Id == this.GrainId); if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } ScheduleTaskState scheduleTaskState = this.State; scheduleTaskState.TaskName = dto.TaskName; scheduleTaskState.LineCode = dto.LineCode; scheduleTaskState.Version++; ///任务完成 进行系统对接 if (dto.TaskState == TaskState.Complete) { TaskListModel scheduleTaskModel = new TaskListModel() { TaskCode = dto.TaskCode }; await Observer.PublishAsync(EventContract.ComConcrete.TaskListToZK, scheduleTaskModel); } await this.Persist(ProcessAction.Update, scheduleTaskState); return(ApiResultUtil.IsSuccess()); }
public async Task <ApiResult> UpdateAsync(SubmitDTO <ScheduleTaskDTO> model) { var dto = model.Data; if (dto.Version != this.State.Version) { return(ApiResultUtil.IsFailed("数据已被修改,请重新再加载!")); } bool bRet = await _scheduleRepository.SetAsync(() => new { task_name = dto.TaskName, line_code = dto.LineCode, version = (dto.Version + 1) }, oo => oo.Id == this.GrainId); if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } ScheduleTaskState scheduleTaskState = this.State; scheduleTaskState.TaskName = dto.TaskName; scheduleTaskState.LineCode = dto.LineCode; scheduleTaskState.Version++; ///任务完成 进行系统对接 if (dto.TaskState == TaskState.Complete) { ScheduleTaskVO scheduleTaskVO = this.ObjectMapper.Map <ScheduleTaskVO>(this.State); await PublishAsync(scheduleTaskVO); } await this.Persist(ProcessAction.Update, scheduleTaskState); return(ApiResultUtil.IsSuccess()); }