コード例 #1
0
        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);
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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;
            }
        }