/
MainForm.cs
108 lines (90 loc) · 3.02 KB
/
MainForm.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Work1
{
public partial class MainForm : Form
{
private BookController controller = new BookController();
public MainForm()
{
InitializeComponent();
loadData();
}
public void loadData()
{
fillGridWithData(controller.getAllBooks());
}
private void fillGridWithData(List<Book> books)
{
foreach (Book book in books)
{
string[] row = { book.id.ToString(), book.name, book.author, book.year.Year.ToString() };
dataGridView.Rows.Add(row);
}
}
private void searchButton_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(searchTextBox.Text))
{
dataGridView.Rows.Clear();
fillGridWithData(controller.getBooksByNameLike(searchTextBox.Text));
}
}
private void loadButton_Click(object sender, EventArgs e)
{
dataGridView.Rows.Clear();
loadData();
}
private void addButton_Click(object sender, EventArgs e)
{
AddForm form = new AddForm();
form.Show();
form.AddItemCallback = new AddForm.AddItemDelegate(this.addEvent);
}
private void addEvent(Book book)
{
controller.addBook(book);
dataGridView.Rows.Clear();
loadData();
}
private void deleteEvent(Book book)
{
controller.deleteBook(book);
dataGridView.Rows.Clear();
loadData();
}
private void deleteButton_Click(object sender, EventArgs e)
{
DeleteForm form = new DeleteForm();
form.Show();
form.DeleteItemCallback = new DeleteForm.DeleteItemDelegate(this.deleteEvent);
}
private void idToolStripMenuItem_Click(object sender, EventArgs e)
{
dataGridView.Rows.Clear();
fillGridWithData(controller.getSortedListOfBooksById());
}
private void nameToolStripMenuItem_Click(object sender, EventArgs e)
{
dataGridView.Rows.Clear();
fillGridWithData(controller.getSortedListOfBooksByName());
}
private void authorToolStripMenuItem_Click(object sender, EventArgs e)
{
dataGridView.Rows.Clear();
fillGridWithData(controller.getSortedListOfBooksByAuthor());
}
private void yearToolStripMenuItem_Click(object sender, EventArgs e)
{
dataGridView.Rows.Clear();
fillGridWithData(controller.getSortedListOfBooksByYear());
}
}
}