Ejemplo n.º 1
0
 private Settings DeserializeSettings(string data)
 {
     Settings settings;
     try
     {
         var ser = new DataContractSerializer(typeof(Settings));
         using (var sr = new StringReader(data))
         using (var xr = XmlReader.Create(sr))
             settings = (Settings)ser.ReadObject(xr);
     }
     catch
     {
         settings = new Settings() { Version = -1 };
     }
     return settings;
 }
Ejemplo n.º 2
0
 private string SerializeSettings(Settings settings)
 {
     string data;
     var ser = new DataContractSerializer(typeof(Settings));
     using (var stream = new MemoryStream())
     {
         ser.WriteObject(stream, settings);
         stream.Position = 0;
         using (var reader = new StreamReader(stream))
         {
             data = reader.ReadToEnd();
         }
     }
     return data;
 }
Ejemplo n.º 3
0
        /// <summary>
        /// load the settings and all the feed data from isolated storage
        /// </summary>
        public void LoadState(bool forceRefresh = false)
        {
            IsBusy = true;

            if (forceRefresh)
            {
                settings = GetSettingsFromConfigFile();
                InitializeProperties();
            }
            else
            {
                var isoData = IsoHelper.LoadIsoString(ISO_STORE_FILE);
                if (isoData == null || isoData.Length == 0)
                {
                    settings = GetSettingsFromConfigFile();
                    InitializeProperties();
                }
                else
                {
                    var configSettings = GetSettingsFromConfigFile();
                    var isoSettings = DeserializeSettings(isoData);
                    if (isoSettings.Version < configSettings.Version)
                    {
                        settings = configSettings;
                        InitializeProperties();
                    }
                    else
                    {
                        settings = isoSettings;
                        InitializeProperties();
                    }
                }
            }

            IsBusy = false;
        }