public async Task <IActionResult> PostNotificationToken([FromBody] NotificationTokenRequestDTO notificationToken) { 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)); } NotificationToken NotificationToken = new NotificationToken() { OSType = (OSType)Enum.Parse(typeof(OSType), notificationToken.OSType.ToString()), RegistrationTime = notificationToken.RegistrationTime, Token = notificationToken.Token, User = fooUser, }; _context.NotificationTokens.Add(NotificationToken); await _context.SaveChangesAsync(); NotificationTokenResponseDTO NotificationTokenResponseDTO = new NotificationTokenResponseDTO() { OSType = notificationToken.OSType, RegistrationTime = notificationToken.RegistrationTime, Token = notificationToken.Token, User = new UserDTO() { Id = fooUser.Id }, }; apiResult = APIResultFactory.Build(true, StatusCodes.Status200OK, ErrorMessageEnum.None, payload: NotificationTokenResponseDTO); return(Ok(apiResult)); }
public async Task <APIResult> GetAsync(NotificationTokenRequestDTO notificationTokenRequestDTO) { encodingType = EnctypeMethod.JSON; #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(notificationTokenRequestDTO)); #endregion var mr = await this.SendAsync(dic, HttpMethod.Post, CancellationToken.None); //mr.Success = false; //mr.Message = "測試用的錯誤訊息"; return(mr); }