public async Task <IActionResult> UpdateRoteAsync([FromRoute] Guid routeID, [FromBody] TouristRouteUpdateDto routeUpdateDto) { if (!await TouristRoutRepo.JudgeTouristRouteExistAsync(routeID)) { return(NotFound($"没有找到旅游路线{routeID}")); } if (routeUpdateDto == null) { return(BadRequest()); } TouristRout touristRouteFromRepo = await TouristRoutRepo.GetTouristRoutAsync(routeID); // 这个操作完成了吧 updateDTO 到 查询出来的数据更新 _autoMapper.Map(routeUpdateDto, touristRouteFromRepo); return(await GetSaveOperationResultAsync()); }
public async Task <IActionResult> PartialUpdateRouteAsync([FromRoute] Guid routeId, [FromBody] JsonPatchDocument <TouristRouteUpdateDto> partialRouteDto) { if (!await TouristRoutRepo.JudgeTouristRouteExistAsync(routeId)) { return(NotFound($"没有找到旅游路线{routeId}")); } TouristRout originalRouteFromRepo = await TouristRoutRepo.GetTouristRoutAsync(routeId); TouristRouteUpdateDto orgTransFromUpdataDto = _autoMapper.Map <TouristRouteUpdateDto>(originalRouteFromRepo); //数据补丁添加到dto中 再把打完补丁dto添加到原始数据上,因为只有原始数据才被变化追踪的 partialRouteDto.ApplyTo(orgTransFromUpdataDto, ModelState); //添加数据校验 if (!TryValidateModel(orgTransFromUpdataDto)) { return(ValidationProblem(ModelState)); } _autoMapper.Map(orgTransFromUpdataDto, originalRouteFromRepo); return(await GetSaveOperationResultAsync()); }