public void Save() { using (var stream = FileSystem.Current.GetFile(FileSystem.Combine(Resources.GameUserDir, SettingsFile)).OpenStream(FileMode.Create)) { using (var textWriter = new StreamWriter(stream)) { using (JsonWriter writer = new JsonTextWriter(textWriter)) { writer.Formatting = Formatting.Indented; writer.WriteStartObject(); writer.WritePropertyName("game"); writer.WriteStartObject(); writer.WriteRequiredValue("uid", Settings.GameUid); if (Settings.StatisticsServiceEnabled.HasValue) { writer.WritePropertyName("statisticsserviceenabled"); writer.WriteValue(Settings.StatisticsServiceEnabled.Value); } writer.WriteRequiredValue("username", Settings.UserName ?? string.Empty); writer.WriteRequiredValue("passwordhash",DPAPI.Encrypt(Settings.Password ?? string.Empty)); writer.WriteEndObject(); writer.WriteEndObject(); } } } }
public static byte[] CreateUpdateFileData(UpdateDetails details, List<string> removeFiles) { using (var stream = new MemoryStream()) { using (var textWriter = new StreamWriter(stream)) { using (JsonWriter writer = new JsonTextWriter(textWriter)) { writer.Formatting = Formatting.Indented; writer.WriteStartObject(); writer.WriteRequiredValue("updateminversion", details.UpdateVersion.ToString()); writer.WriteRequiredValue("updatemaxversion", details.UpdateVersion.ToString()); writer.WritePropertyName("removefiles"); writer.WriteStartArray(); foreach (var file in removeFiles) { writer.WriteValue(file); } writer.WriteEndArray(); writer.WriteEndObject(); } } return stream.ToArray(); } }