public async Task <APIResult> PostAsync(SuggestionRequestDTO suggestionRequestDTO) { token = appStatus.SystemStatus.Token; encodingType = EnctypeMethod.JSON; needSave = false; isCollection = false; routeUrl = $""; #region 要傳遞的參數 //Dictionary<string, string> dic = new Dictionary<string, string>(); WebQueryDictionary dic = new WebQueryDictionary(); // ---------------------------- 另外兩種建立 QueryString的方式 //dic.Add(Global.getName(() => memberSignIn_QS.app), memberSignIn_QS.app); //dic.AddItem<string>(() => 查詢資料QueryString.strHospCode); //dic.Add("Price", SetMemberSignUpVM.Price.ToString()); dic.Add(LOBGlobal.JSONDataKeyName, JsonConvert.SerializeObject(suggestionRequestDTO)); #endregion var mr = await this.SendAsync(dic, HttpMethod.Post, CancellationToken.None); //mr.Success = false; //mr.Message = "測試用的錯誤訊息"; return(mr); }
public async Task <IActionResult> PostSuggestion([FromBody] SuggestionRequestDTO suggestionRequestDTO) { var claimSID = User.FindFirst(JwtRegisteredClaimNames.Sid)?.Value; if (claimSID == null) { apiResult = APIResultFactory.Build(false, StatusCodes.Status400BadRequest, ErrorMessageEnum.杖中沒有發現指定使用者ID); return(BadRequest(apiResult)); } UserID = Convert.ToInt32(claimSID); var fooUser = await _context.LobUsers.Include(x => x.Department).FirstOrDefaultAsync(x => x.Id == UserID); if (fooUser == null) { apiResult = APIResultFactory.Build(false, StatusCodes.Status404NotFound, ErrorMessageEnum.沒有發現指定的該使用者資料); return(NotFound(apiResult)); } Suggestion fooObject = new Suggestion() { Subject = suggestionRequestDTO.Subject, Message = suggestionRequestDTO.Message, SubmitTime = suggestionRequestDTO.SubmitTime, User = fooUser, }; _context.Suggestions.Add(fooObject); await _context.SaveChangesAsync(); SuggestionResponseDTO SuggestionResponseDTO = new SuggestionResponseDTO() { Subject = fooObject.Subject, Message = fooObject.Message, SubmitTime = fooObject.SubmitTime, User = new UserDTO() { Id = fooUser.Id }, }; apiResult = APIResultFactory.Build(true, StatusCodes.Status200OK, ErrorMessageEnum.None, payload: SuggestionResponseDTO); return(Ok(apiResult)); }