public void LoadDatabase(string path = null) { if (String.IsNullOrWhiteSpace(path)) { path = Program.Options.DataFile; } if (!File.Exists(Program.Options.DataFile)) { using (var writer = File.CreateText(path)) { // Create the file writer.Write("{\n}"); // Write to the stream and flush it writer.Flush(); } } using (var reader = new StreamReader(path, Encoding.UTF8)) { JsonReader jsonReader = new JsonTextReader(reader); // Try to deserialize the stream JsonSerializer serializer = new JsonSerializer(); ImageDataList imgList = serializer.Deserialize <ImageDataList> (jsonReader); ImageDataList.Images.Clear(); if (imgList != null && imgList.imageList != null) { ImageDataList.Images.AddRange(imgList.imageList); } imgList = null; // Null the temporary image list jsonReader.Close(); // Close the jsonReader } SendOnChange(ImageDataChangeType.Loading); }
public void SaveDatabase(string path = null) { if (String.IsNullOrWhiteSpace(path)) { path = Program.Options.DataFile; } ImageDataList imagesList = new ImageDataList(); imagesList.imageList = ImageDataList.Images.ToArray(); JsonSerializer serializer = new JsonSerializer(); using (var writer = new StreamWriter(path)) { serializer.Serialize(writer, imagesList, typeof(ImageDataList)); writer.Flush(); } }