public async Task <BaseResponse> CronJobUpdate(CronJobUpdateRequest request) { //直接使用替换模式 //var update =Builders<CronJob>.Update.Set("UpdateTime",DateTime.Now); //if (request.Description!=null) //{ // update.Set("Description", request.Description); //} // 压入数组 UpdateDefinition<JiaYiMongo> update = Builders<JiaYiMongo>.Update.Push(x => x.JiaYiResult, jiaYiItem); request.CronJob.UpdateTime = DateTime.Now; //直接使用替换 var replaceOneResult = await _cronJobRepository.ReplaceOneAsync(request.CronJob); return(BaseResponse <ReplaceOneResult> .Ok(replaceOneResult)); }
/// <summary> /// 不使用 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <BaseResponse> CronJobUpdate(CronJobUpdateRequest request) { ////直接全更新,否可行。 ////生产语句UPDATE `cron_job` SET `CreateTime` = @p0, `CreateUser` = @p1, `CronExpress` = @p2, `Description` = @p3, `JobState` = @p4, `Name` = @p5, `RequestUrl` = @p6, `UpdateTime` = @p7, `UpdateUser` = @p8 WHERE `Id` = @p9; //_cronJobRepository.Update(request.CronJob); //await _cronJobRepository.SaveChangesAsync(); var nameJob = await _cronJobRepository.FirstOrDefaultAsync(c => c.Id == request.CronJob.Id); if (nameJob == null) { return(BaseResponse.Failed("未找到对应任务")); } //排除固定字段的更新 只更新指定改动的字段 _cronJobRepository.CompareValueAndassign(nameJob, request.CronJob); nameJob.UpdateUser = request.UserId; await _cronJobRepository.SaveChangesAsync(); return(BaseResponse <CronJob> .Ok(nameJob)); }
public async Task <BaseResponse> CronJobUpdate([FromBody] CronJobUpdateRequest request) { return(await _cronJobService.CronJobUpdate(request)); }