Пример #1
0
        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());
        }
Пример #2
0
        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());
        }