private void SetEncryptedAuthenticationKeyIfModified(PushNotificationApp dataObject) { if (base.Fields.IsModified(PushNotificationAppSchema.AuthenticationKey)) { dataObject.IsAuthenticationKeyEncrypted = new bool?(!this.UseClearTextAuthenticationKeys); if (dataObject.IsAuthenticationKeyEncrypted.Value) { PushNotificationDataProtector pushNotificationDataProtector = new PushNotificationDataProtector(null); dataObject.AuthenticationKey = pushNotificationDataProtector.Encrypt((string)base.Fields[PushNotificationAppSchema.AuthenticationKey]); return; } dataObject.AuthenticationKey = (string)base.Fields[PushNotificationAppSchema.AuthenticationKey]; } }
protected override void WriteResult(IConfigurable dataObject) { PushNotificationApp pushNotificationApp = dataObject as PushNotificationApp; PushNotificationAppPresentationObject pushNotificationAppPresentationObject = new PushNotificationAppPresentationObject(pushNotificationApp); if (!base.Fields.IsModified("Enabled") || pushNotificationAppPresentationObject.Enabled == this.Enabled) { if (this.UseClearTextAuthenticationKeys && pushNotificationApp.IsAuthenticationKeyEncrypted != null && pushNotificationApp.IsAuthenticationKeyEncrypted.Value) { PushNotificationDataProtector pushNotificationDataProtector = new PushNotificationDataProtector(null); pushNotificationApp.AuthenticationKey = pushNotificationDataProtector.Decrypt(pushNotificationApp.AuthenticationKey).AsUnsecureString(); pushNotificationApp.IsAuthenticationKeyEncrypted = new bool?(false); pushNotificationAppPresentationObject = new PushNotificationAppPresentationObject(pushNotificationApp); } base.WriteResult(pushNotificationAppPresentationObject); } }
protected override IConfigurable PrepareDataObject() { PushNotificationApp pushNotificationApp = (PushNotificationApp)base.PrepareDataObject(); pushNotificationApp.SetId((IConfigurationSession)base.DataSession, base.Name); if (string.IsNullOrEmpty(pushNotificationApp.DisplayName)) { pushNotificationApp.DisplayName = pushNotificationApp.Name; } if (base.ParameterSetName == "Wns" || base.ParameterSetName == "Gcm" || base.ParameterSetName == "AzureSend" || base.ParameterSetName == "AzureHubCreation") { pushNotificationApp.IsAuthenticationKeyEncrypted = new bool?(!this.UseClearTextAuthenticationKeys); if (pushNotificationApp.IsAuthenticationKeyEncrypted.Value) { PushNotificationDataProtector pushNotificationDataProtector = new PushNotificationDataProtector(null); pushNotificationApp.AuthenticationKey = pushNotificationDataProtector.Encrypt(pushNotificationApp.AuthenticationKey); } } return(pushNotificationApp); }