コード例 #1
0
        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;
        }
コード例 #2
0
        // Метод зберігання зміненої/доданої інформації.
        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);
            }
        }
コード例 #3
0
 // Метод отримання вибраної користувачем книги.
 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);
     }
 }
コード例 #4
0
        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;
        }
コード例 #5
0
        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();
            }
        }
コード例 #6
0
        // Обробник подій натискання кнопок.
        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();
            }
        }