public async Task <IActionResult> Put([FromRoute] int id, [FromBody] MyUserDto data) { APIResult apiResult; #region 驗證 DTO 物件的資料一致性 if (!ModelState.IsValid) { apiResult = APIResultFactory.Build(false, StatusCodes.Status200OK, ErrorMessageEnum.傳送過來的資料有問題, payload: data); return(Ok(apiResult)); } #endregion var record = await myUserService.GetAsync(id); if (record != null && record.Id != 0) { MyUserAdapterModel recordTarget = mapper.Map <MyUserAdapterModel>(data); recordTarget.Id = id; var result = mapper.Map <MyUserDto>(recordTarget); #region 修改記錄前的紀錄完整性檢查 VerifyRecordResult verify = await myUserService.BeforeUpdateCheckAsync(record); if (verify.Success == false) { apiResult = APIResultFactory.Build(false, StatusCodes.Status200OK, ErrorMessageMappingHelper.Instance.GetErrorMessage(verify.MessageId), payload: result); return(Ok(apiResult)); } #endregion var verifyRecordResult = await myUserService.UpdateAsync(recordTarget); if (verifyRecordResult.Success) { apiResult = APIResultFactory.Build(true, StatusCodes.Status202Accepted, ErrorMessageEnum.None, payload: null); } else { apiResult = APIResultFactory.Build(false, StatusCodes.Status200OK, verifyRecordResult.MessageId, payload: result); } } else { apiResult = APIResultFactory.Build(false, StatusCodes.Status200OK, ErrorMessageEnum.沒有任何符合資料存在, payload: data); } return(Ok(apiResult)); }
public async Task <IActionResult> Post([FromBody] MyUserDto data) { APIResult apiResult; #region 驗證 DTO 物件的資料一致性 if (!ModelState.IsValid) { apiResult = APIResultFactory.Build(false, StatusCodes.Status200OK, ErrorMessageEnum.傳送過來的資料有問題, payload: data); return(Ok(apiResult)); } #endregion MyUserAdapterModel record = mapper.Map <MyUserAdapterModel>(data); if (record != null) { var result = mapper.Map <MyUserDto>(record); #region 新增記錄前的紀錄完整性檢查 VerifyRecordResult verify = await myUserService.BeforeAddCheckAsync(record); if (verify.Success == false) { apiResult = APIResultFactory.Build(false, StatusCodes.Status200OK, ErrorMessageMappingHelper.Instance.GetErrorMessage(verify.MessageId), payload: result); return(Ok(apiResult)); } #endregion var verifyRecordResult = await myUserService.AddAsync(record); if (verifyRecordResult.Success) { apiResult = APIResultFactory.Build(true, StatusCodes.Status200OK, ErrorMessageEnum.None, payload: null); } else { apiResult = APIResultFactory.Build(false, StatusCodes.Status200OK, verifyRecordResult.MessageId, payload: result); } } else { apiResult = APIResultFactory.Build(false, StatusCodes.Status200OK, ErrorMessageEnum.傳送過來的資料有問題, payload: data); } return(Ok(apiResult)); }