public ActionResult <WorkType> UpdateWorkType( [FromRoute] [Required(ErrorMessage = "DataAnnotationRequired")] [Guid(ErrorMessage = "DataAnnotationGuid")] string workTypeId, [FromBody] WorkTypeUpdateRequest request) { var workTypeGuid = Guid.Parse(workTypeId); var workType = _workTypeService.GetWorkType(workTypeGuid); if (workType == null) { return(ErrorObjectResultFactory.NotFound()); } if (request.WorkTypeCode != null && request.WorkTypeCode != workType.WorkTypeCode && _workTypeQueryService.ExistsWorkTypeCode(request.WorkTypeCode)) { return(ErrorObjectResultFactory.ValidationErrorDetail( string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayWorkTypeWorkTypeCode), "workTypeCode")); } if (request.WorkTypeTree != null && request.WorkTypeTree != workType.WorkTypeTree && _workTypeQueryService.ExistsWorkTypeTree(request.WorkTypeTree)) { return(ErrorObjectResultFactory.ValidationErrorDetail( string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayWorkTypeWorkTypeTree), "workTypeTree")); } var dto = _mapper.Map <WorkTypeUpdateRequest, WorkTypeUpdateDto>(request); dto.WorkTypeId = workTypeGuid; var entity = _workTypeService.UpdateWorkType(dto); return(_mapper.Map <Domain.Entities.WorkType, WorkType>(entity)); }