protected override void OnValidateAndPopulateHeaders() { if (!base.Headers.ContainsKey("X-NotificationClass")) { this.AddNotificationTypeHeader(RegistrationSDKHelper.DetectMpnsTemplateRegistationType(base.Body, SRClient.NotSupportedXMLFormatAsPayloadForMpns)); base.Body = RegistrationSDKHelper.AddDeclarationToXml(base.Body); } }
private static void SetMpnsType(this MpnsTemplateRegistrationDescription registration) { if (registration == null || registration.IsJsonObjectPayLoad()) { return; } if (registration.MpnsHeaders != null && registration.MpnsHeaders.ContainsKey("X-NotificationClass")) { int num = int.Parse(registration.MpnsHeaders["X-NotificationClass"], CultureInfo.InvariantCulture); if (num >= 3 && num <= 10 || num >= 13 && num <= 20 || num >= 23 && num <= 31) { return; } } if (registration.IsXmlPayLoad()) { if (registration.MpnsHeaders == null) { registration.MpnsHeaders = new MpnsHeaderCollection(); } switch (RegistrationSDKHelper.DetectMpnsTemplateRegistationType(registration.BodyTemplate, SRClient.NotSupportedXMLFormatAsBodyTemplateForMpns)) { case MpnsTemplateBodyType.Toast: { RegistrationSDKHelper.AddOrUpdateHeader(registration.MpnsHeaders, "X-WindowsPhone-Target", "toast"); RegistrationSDKHelper.AddOrUpdateHeader(registration.MpnsHeaders, "X-NotificationClass", "2"); break; } case MpnsTemplateBodyType.Tile: { RegistrationSDKHelper.AddOrUpdateHeader(registration.MpnsHeaders, "X-WindowsPhone-Target", "token"); RegistrationSDKHelper.AddOrUpdateHeader(registration.MpnsHeaders, "X-NotificationClass", "1"); return; } default: { return; } } } }