in SamplesV1/ADFSecurePublish/SecurePublishMenuCommand/UserSettings/SettingsPageGrid.cs [76:105]
public override void LoadSettingsFromStorage()
{
if (File.Exists(settingsFile))
{
AppSettings settings = null;
try
{
settings = JsonConvert.DeserializeObject<AppSettings>(File.ReadAllText(settingsFile));
}
catch
{
string backUpFile = Path.Combine(Path.GetDirectoryName(settingsFile),
Path.GetFileNameWithoutExtension(settingsFile) + "_BackUp.json");
File.Move(settingsFile, backUpFile);
return;
}
var appSettingsType = typeof(AppSettings);
var thisType = GetType();
// copy properties
foreach (var property in appSettingsType.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.DeclaredOnly))
{
var propertyToSet = thisType.GetProperty(property.Name);
propertyToSet.SetValue(this, property.GetValue(settings));
}
}
}