private ExpandedSettingsPackage GetBufferedSettings() { ExpandedSettingsPackage package = new ExpandedSettingsPackage() { MID = _MID, LastUpdatedOn = DateTime.UtcNow }; List <ExpandedSettingValue> settings = new List <ExpandedSettingValue>(); using (LiteDatabase db = new LiteDatabase(_liteDBPathName)) { var col = db.GetCollection <BufferedSetting>(_SETBUF_NAME); IEnumerable <BufferedSetting> storedSettings = col.FindAll().OrderBy(c => c.Id); foreach (BufferedSetting setting in storedSettings) { ExpandedSettingValue esv = new ExpandedSettingValue(); esv.Id = setting.Id; esv.Name = setting.Name; esv.DataType = (DataType)setting.DataType; esv.IsDefaultValue = setting.IsDefaultValue; esv.Value = setting.Json; settings.Add(esv); } package.Values = settings.ToArray(); } return(package); }
/// <summary> /// Download current settings for a device from cloud service. /// </summary> /// <returns>True if successful, False otherwise.</returns> public bool DownloadSettings() { string url = string.Format(_addressExpandedDeviceSettings, _MID); string result; if (Get(url, out result)) { if (result != null && result.Length > 0) { Settings = JsonConvert.DeserializeObject <ExpandedSettingsPackage>(result); return(true); } } return(false); }
private bool UpdateBufferedSettings(ExpandedSettingsPackage package) { using (LiteDatabase db = new LiteDatabase(_liteDBPathName)) { db.DropCollection(_SETBUF_NAME); var col = db.GetCollection <BufferedSetting>(_SETBUF_NAME); // Insert new setting values foreach (ExpandedSettingValue esv in package.Values) { BufferedSetting bs = new BufferedSetting() { Name = esv.Name, DataType = (int)esv.DataType, IsDefaultValue = esv.IsDefaultValue, Json = esv.Value }; col.Insert(bs); } return(true); } }