private void ynhSave_DoWork(object sender, DoWorkEventArgs e) { var folder = Path.Combine(Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData), "YourNameHere"); Directory.CreateDirectory(folder); var fileName = Path.Combine(folder, "config.json"); Definitions.AllLetters temp = new Definitions.AllLetters(); foreach (DataGridViewRow row in ynhDataGridView.Rows) { var lettemp = (Definitions.Lettere)row.DataBoundItem; temp.Text.Add(lettemp); } JsonSerializer serializer = new JsonSerializer(); serializer.Converters.Add(new JavaScriptDateTimeConverter()); serializer.NullValueHandling = NullValueHandling.Ignore; using (StreamWriter sw = new StreamWriter(fileName)) using (JsonWriter writer = new JsonTextWriter(sw)) { writer.Formatting = Formatting.Indented; serializer.Serialize(writer, temp); } MessageBox.Show("Saved!"); }
private void ynhLoad_DoWork(object sender, DoWorkEventArgs e) { var folder = Path.Combine(Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData), "YourNameHere"); var fileName = Path.Combine(folder, "config.json"); if (!File.Exists(fileName)) { e.Result = null; return; } var text = File.ReadAllText(fileName); Definitions.AllLetters full = JsonConvert.DeserializeObject <Definitions.AllLetters>(text); e.Result = full; }
private void ynhLoad_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Result == null) { lettereBindingSource.ResumeBinding(); MessageBox.Show("Config file not found! Save it first!"); return; } lettereBindingSource.Clear(); Definitions.AllLetters full = (Definitions.AllLetters)e.Result; foreach (Definitions.Lettere temp in full.Text) { if (temp != null) { lettereBindingSource.Add(temp); } } ynhDataGridView.Rows[0].Selected = true; lettereBindingSource.ResumeBinding(); ynhDataGridView.Refresh(); MessageBox.Show("Loading complete"); }