private void StandardState(object sender, EventArgs e) { isFiltered = false; bookListGrid.DataSource = null; bookListGrid.DataSource = BookList.GetList(); departParamText.Text = null; departParamText.SelectedIndex = -1; titleParam.Checked = true; allParam.Checked = true; upSortParam.Checked = true; }
// Метод зберігання зміненої/доданої інформації. private void Save() { int res = Validation(); if (res == 1) { bookListGrid.DataSource = null; departParam.DataSource = null; if (isChange) { string oldDepart = book.Department; book.ChangeInfo(titleText.Text, authorText.Text, departmentText.Text, available.Checked, publisherText.Text, Convert.ToInt32(yearText.Text), Convert.ToInt32(bookSizeText.Text), fromWhereText.Text, rateText.Text); if (book.Department != oldDepart) { BookList.DelDepart(oldDepart); BookList.AddDepart(book); } } else { Book newBook = new Book(titleText.Text, authorText.Text, departmentText.Text, available.Checked); newBook.AddInfo(publisherText.Text, Convert.ToInt32(yearText.Text), Convert.ToInt32(bookSizeText.Text), fromWhereText.Text, rateText.Text); } bookListGrid.DataSource = BookList.GetList().GetRange(0, BookList.GetList().Count); SystemFile.Write("book_list.txt", BookList.GetList()); departParam.DataSource = BookList.GetDeparts(); departParam.SelectedIndex = -1; Close(); } else if (res == 0) { MessageBox.Show("Введено некоректні значення року видання або кількості сторінок!", "Попередження", MessageBoxButtons.OK); } else { MessageBox.Show("Заповність усі необхідні поля згідно з інструкцією: \n" + "НАЗВА\nАВТОР\nРОЗДІЛ БІБЛІОТЕКИ\nНАЯВНІСТЬ", "Попередження", MessageBoxButtons.OK); } }
// Метод отримання вибраної користувачем книги. private Book GetSelectedBook() { try { DataGridViewRow row = bookListGrid.SelectedRows[0]; int idx = bookListGrid.Rows.IndexOf(row); if (isFiltered) { return(filteredList[idx]); } else { return(BookList.GetList()[idx]); } } catch (ArgumentOutOfRangeException) { return(null); } }
public Main() { InitializeComponent(); BookList.ReadFrom("book_list.txt"); var res = SystemFile.Read("settings.txt"); if (res == null) { GetInstructionsForm(); SystemFile.Write("settings.txt", "First entry checked!"); } bookListGrid.DataSource = BookList.GetList(); departParamText.DataSource = BookList.GetDeparts(); departParamText.SelectedIndex = -1; bookListGrid.KeyUp += KeyUpEvent; }
private void Sort(object sender, EventArgs e) { bookListGrid.DataSource = null; char param = SortParam(); BookList.SortByParam(param, upSortParam.Checked); filteredList = BookList.FilterByParams(departParamText.Text, availParam.Checked, allParam.Checked); if (filteredList.Count != BookList.GetList().Count) { isFiltered = true; bookListGrid.DataSource = filteredList; } else { bookListGrid.DataSource = BookList.GetList(); } }
// Обробник подій натискання кнопок. private void KeyUpEvent(object sender, KeyEventArgs e) { Book book = GetSelectedBook(); if (book != null && e.KeyCode == Keys.Delete) { DialogResult result = MessageBox.Show("Видалити обрану книгу зі списку?", "Попередження", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { BookList.RemoveBook(book); bookListGrid.DataSource = null; departParamText.DataSource = null; if (isFiltered) { filteredList.Remove(book); bookListGrid.DataSource = filteredList; } else { bookListGrid.DataSource = BookList.GetList(); } BookList.DelDepart(book.Department); departParamText.DataSource = BookList.GetDeparts(); departParamText.SelectedIndex = -1; BookList.WriteTo("book_list.txt"); } } if (e.KeyCode == Keys.F1) { GetInstructionsForm(); } }