/// <summary> /// Конструктор, который при вызове окна редактирования заполняет поля данными из записи, которую ранее выбрал пользователь /// </summary> /// <param name="dataGridInfo"></param> public UpdateDeleteNoteWindow(DataGridInfo dataGridInfo) { InitializeComponent(); this.dataGridInfo = dataGridInfo; tbImportance.Text = dataGridInfo.Importance; tbLocation.Text = dataGridInfo.Location; tbSignature.Text = dataGridInfo.Signature; tbBody.Text = dataGridInfo.Body; dpDate.Text = dataGridInfo.Date; }
/// <summary> /// Кнопка для удаления выделенной записи из БД /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnDeleteString_Click(object sender, RoutedEventArgs e) { DataGridInfo selectedNote = (DataGridInfo)lvData.SelectedItem; if (selectedNote != null) { using (SQLiteConnection connection = new SQLiteConnection(App.dataBasePath)) { connection.CreateTable <DataGridInfo>(); connection.Delete(selectedNote); } ReadDataBase(); } }
/// <summary> /// Кнопка, которая открывает окно редактирования выделенной записи /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnEditString_Click(object sender, RoutedEventArgs e) { try { DataGridInfo selectedNote = (DataGridInfo)lvData.SelectedItem; if (selectedNote != null) { UpdateDeleteNoteWindow updateDeleteNoteWindow = new UpdateDeleteNoteWindow(selectedNote); updateDeleteNoteWindow.ShowDialog(); ReadDataBase(); } } catch (Exception ex) { MessageBox.Show("Выберите значение! " + ex); } }
/// <summary> /// Кнопка для сохранения введенных данных в БД /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSave_Click(object sender, RoutedEventArgs e) { DataGridInfo dataGridInfo = new DataGridInfo() { Importance = tbImportance.Text, Date = dpDate.Text, Body = tbBody.Text, Signature = tbSignature.Text, Location = tbLocation.Text }; using (SQLiteConnection connection = new SQLiteConnection(App.dataBasePath)) { connection.CreateTable <DataGridInfo>(); connection.Insert(dataGridInfo); } Close(); }
/// <summary> /// Кнопка, выполняющая добавление элементов в БД по диапазону дат /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnPickDateRange_Click(object sender, RoutedEventArgs e) { DateTime start = (DateTime)dpStart.SelectedDate; DateTime end = (DateTime)dpEnd.SelectedDate; var fileLines = File.ReadAllLines(App.fileSaveLocation).ToList(); List <DataGridInfo> fromFile = new List <DataGridInfo>(); try { foreach (string line in fileLines) { string[] s = line.Split('Ω'); if (s != null) { DataGridInfo import = new DataGridInfo(); import.Importance = s[0].Trim(); import.Date = s[1].Trim(); import.Body = s[2].Trim(); import.Signature = s[3].Trim(); import.Location = s[4].Trim(); DateTime current = Convert.ToDateTime(import.Date); if (current >= start && current <= end) { fromFile.Add(import); } } } } catch (Exception ex) { MessageBox.Show("Ошибка при импорте из файла. Проверьте формат данных в файле. " + ex); } foreach (DataGridInfo item in fromFile) { using (SQLite.SQLiteConnection connection = new SQLite.SQLiteConnection(App.dataBasePath)) { connection.CreateTable <DataGridInfo>(); connection.Insert(item); } } Close(); }
/// <summary> /// Кнопка, которая загружает данные из файла, при этом удаляет старые данные из БД /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnLoadFromFile_Click(object sender, RoutedEventArgs e) { var fileLines = File.ReadAllLines(App.fileSaveLocation).ToList(); List <DataGridInfo> fromFile = new List <DataGridInfo>(); try { foreach (string line in fileLines) { string[] s = line.Split('Ω'); if (s != null) { DataGridInfo import = new DataGridInfo(); import.Importance = s[0].Trim(); import.Date = s[1].Trim(); import.Body = s[2].Trim(); import.Signature = s[3].Trim(); import.Location = s[4].Trim(); fromFile.Add(import); } } } catch (Exception ex) { MessageBox.Show("Ошибка при импорте из файла. Проверьте формат данных в файле. " + ex); } using (SQLiteConnection connection = new SQLiteConnection(App.dataBasePath)) { connection.DeleteAll <DataGridInfo>(); } foreach (DataGridInfo item in fromFile) { using (SQLiteConnection connection = new SQLiteConnection(App.dataBasePath)) { connection.CreateTable <DataGridInfo>(); connection.Insert(item); } } ReadDataBase(); }