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); }
public WnsNotificationException(WnsNotificationStatus status) : base(status.ErrorDescription, status.Notification) { Notification = status.Notification; Status = status; }
public WnsNotificationException (WnsNotificationStatus status) : base (status.ErrorDescription, status.Notification) { Notification = status.Notification; Status = status; }