예제 #1
0
        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}");
            }
        }
예제 #2
0
        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();
        }