private void SaveChanges(DataMode?dataMode) { try { if (dataMode == DataMode.DB) { SqlCommand cmd = new SqlCommand(@" IF EXISTS (SELECT * FROM tblMarkings WHERE [id]=@id) UPDATE tblMarkings SET markingData = @m WHERE id = @id ELSE INSERT INTO tblMarkings (id, markingData) VALUES (@id, @m)", DbController.con); cmd.Parameters.AddWithValue("@id", saveFile.Header.Id); cmd.Parameters.AddWithValue("@m", Marking.GetXML(saveFile.Markings)); if (cmd.ExecuteNonQuery() != 0) { MessageBox.Show("Save successful."); } } if (dataMode == DataMode.File) { if (string.IsNullOrEmpty(Properties.Settings.Default.UserDisplayName)) { MessageBox.Show("You must enter your name in the Settings dialog."); return; } saveFile.Metadata.AuthorName = Properties.Settings.Default.UserDisplayName; SaveFileDialog sf = new SaveFileDialog(); sf.Filter = "XML File|*.xml"; sf.Title = "Save..."; var res = sf.ShowDialog(); if (res == DialogResult.OK) { string fileName = sf.FileName; File.WriteAllText(fileName, saveFile.GetXML()); MessageBox.Show("Save successful."); } } } catch (Exception ex) { MessageBox.Show($"Save failed: {ex.Message}"); } }
void DownloadMarkings(int ID) { SqlCommand cmd = new SqlCommand("SELECT * FROM tblMarkings WHERE id = @id", DbController.con); cmd.Parameters.AddWithValue("@id", ID); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); if (dr.HasRows) { if (!dr.IsDBNull(1)) { saveFile.Markings = Marking.GetMarkings(dr.GetString(1)); } } dr.Close(); Text = "NeoMonitor Viewer - "; Text += ID.ToString(); }