private async Task <PushMessage> RecordPushMessageResult(GoogleFCMResponseModel result, PushMessage pushValue) { FPS_PushHistory pushMessage = new FPS_PushHistory(); pushMessage.MessageSN = DateTime.Now.ToString("yyyyMMddhhmmss") + _serialAndEncryption.CreateUniqueSN(); pushMessage.DeviceID = pushValue.TargetDeviceID; pushMessage.Message_Data = pushValue.Data.isNull()? "" : pushValue.Data.ToString(); pushMessage.Message_Noti = pushValue.Notification.isNull()? "" : pushValue.Notification.ToString(); //目前僅使用單Device推播 pushMessage.Status = 1.Equals(result.success) ? "S" : "F"; pushMessage.Error = 1.Equals(result.success) ? "" : (result.results.FirstOrDefault().error); pushMessage.FCMAuth = pushValue.FCMAuth; pushMessage.PushID = result.multicast_id.ToString(); pushMessage.PushTime = DateTime.Now; var addRes = await _pushHistoryRepository.AddFPS_PushHistory(pushMessage); PushMessage apiBack = new PushMessage(); apiBack.MessageSN = pushMessage.MessageSN; apiBack.Status = pushMessage.Status; apiBack.ErrorMsg = pushMessage.Error; apiBack.DataTime = pushMessage.PushTime.ToString("yyyy/MM/dd HH:mm:ss"); return(apiBack); }
public async Task <bool> AddFPS_PushHistory(FPS_PushHistory item) { try { await _context.FPS_PushHistorys.InsertOneAsync(item); return(true); } catch (Exception ex) { // log or manage the exception throw ex; } }
private PushMessage Convert_FPS_PushHistory_To_PushMessage(FPS_PushHistory org) { var res = new PushMessage(); res.MessageSN = org.MessageSN; res.FCMAuth = org.FCMAuth; res.TargetDeviceID = org.DeviceID; res.Data = org.Message_Data; res.Notification = org.Message_Noti; res.DataTime = org.PushTime.ToString("yyyy/MM/dd HH:mm:ss"); res.Status = org.Status; res.ErrorMsg = org.Error; return(res); }
public async Task <bool> UpdateFPS_PushHistory(string id, FPS_PushHistory body) { var filter = Builders <FPS_PushHistory> .Filter.Eq(s => s.MessageSN, id); var update = Builders <FPS_PushHistory> .Update .Set(s => s, body); try { UpdateResult actionResult = await _context.FPS_PushHistorys.UpdateOneAsync(filter, update); return(actionResult.IsAcknowledged && actionResult.ModifiedCount > 0); } catch (Exception ex) { // log or manage the exception throw ex; } }