Example #1
0
        // Add a new entry with the displayed data
        private void addEntry()
        {
            try
            {
                // Create a new entry with all the data
                JournalEntry entry = new JournalEntry();
                entry.Date = DateTime.Now;
                entry.Title = textBox_title.Text;
                ++maxEntryId;
                entry.Id = maxEntryId;
                entry.Text = textBox_entry.Text;

                // Add the new entry
                currentJournal.Entries.Add(entry);

                // Update displayed entry info
                updateDisplayedInfo(entry);
            }
            catch (Exception except)
            {
                MessageBox.Show("An error occurred when adding entry: "
                             + except.Message);
            }
        }
Example #2
0
        // Update displayed entry ID and index
        private void updateDisplayedInfo(JournalEntry row)
        {
            try
            {
                // Display the entry ID
                label_entryId.Content = labelEntryIdPrefix +
                    Environment.NewLine + row.Id;

                // Save ID and index of displayed entry
                displayedEntryId = row.Id;
                displayedEntryIndex =
                  currentJournal.Entries.IndexOf
                    (currentJournal.Entries.Single(i => i.Id == displayedEntryId));

                // Reset indication that displayed entry has changed
                displayedEntryChanged = false;
            }
            catch (Exception except)
            {
                MessageBox.Show
                    ("An error occurred when updating displayed entry information: "
                     + except.Message);
            }
        }
Example #3
0
        // Entry selection changed in grid: display entry data
        // If the displayed data has changed, offer chance to save it
        private void dataGrid_JournalEntries_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // Check that non-empty row has been selected
              if (dataGrid_JournalEntries.SelectedItem != null &&
                     dataGrid_JournalEntries.SelectedItem is JournalEntry)
               {
                // Get selected row
                JournalEntry rowEntry = new JournalEntry();
                rowEntry = (JournalEntry)dataGrid_JournalEntries.SelectedItem;

                // Before displaying selected row,
                //   save displayed data if it has changed
                if (displayedEntryChanged)
                {
                    SaveChanges();
                }

                // Display entry data of selected row
                textBox_title.Text = rowEntry.Title;
                textBox_entry.Text = rowEntry.Text;

                // Update displayed entry info
                updateDisplayedInfo(rowEntry);
            }
        }