Пример #1
0
        WnsNotificationStatus ParseStatus(HttpResponseMessage resp, WnsNotification notification)
        {
            var result = new WnsNotificationStatus();

            result.Notification = notification;
            result.HttpStatus   = resp.StatusCode;

            var wnsDebugTrace             = TryGetHeaderValue(resp.Headers, "X-WNS-DEBUG-TRACE") ?? "";
            var wnsDeviceConnectionStatus = TryGetHeaderValue(resp.Headers, "X-WNS-DEVICECONNECTIONSTATUS") ?? "connected";
            var wnsErrorDescription       = TryGetHeaderValue(resp.Headers, "X-WNS-ERROR-DESCRIPTION") ?? "";
            var wnsMsgId = TryGetHeaderValue(resp.Headers, "X-WNS-MSG-ID");
            var wnsNotificationStatus = TryGetHeaderValue(resp.Headers, "X-WNS-NOTIFICATIONSTATUS") ?? "";

            result.DebugTrace       = wnsDebugTrace;
            result.ErrorDescription = wnsErrorDescription;
            result.MessageId        = wnsMsgId;

            if (wnsNotificationStatus.Equals("received", StringComparison.InvariantCultureIgnoreCase))
            {
                result.NotificationStatus = WnsNotificationSendStatus.Received;
            }
            else if (wnsNotificationStatus.Equals("dropped", StringComparison.InvariantCultureIgnoreCase))
            {
                result.NotificationStatus = WnsNotificationSendStatus.Dropped;
            }
            else
            {
                result.NotificationStatus = WnsNotificationSendStatus.ChannelThrottled;
            }

            if (wnsDeviceConnectionStatus.Equals("connected", StringComparison.InvariantCultureIgnoreCase))
            {
                result.DeviceConnectionStatus = WnsDeviceConnectionStatus.Connected;
            }
            else if (wnsDeviceConnectionStatus.Equals("tempdisconnected", StringComparison.InvariantCultureIgnoreCase))
            {
                result.DeviceConnectionStatus = WnsDeviceConnectionStatus.TempDisconnected;
            }
            else
            {
                result.DeviceConnectionStatus = WnsDeviceConnectionStatus.Disconnected;
            }

            return(result);
        }
Пример #2
0
 public WnsNotificationException(WnsNotificationStatus status) : base(status.ErrorDescription, status.Notification)
 {
     Notification = status.Notification;
     Status       = status;
 }
Пример #3
0
 public WnsNotificationException (WnsNotificationStatus status) : base (status.ErrorDescription, status.Notification) 
 {
     Notification = status.Notification;
     Status = status;
 }