46
private void сотрудникиToolStripMenuItem_Click(object sender, EventArgs e)
{
UnitOfWork unitOfWork = new UnitOfWork();
List<EmployeeView> listentity =
unitOfWork.EmployeeRepository.GetListView().ToList();
CEmployee u = new CEmployee();
u.UpdateAll += delegate
{
listentity = unitOfWork.EmployeeRepository.GetListView().ToList();
u.RefreshData(listentity);
};
u.Build(unitOfWork, listentity);
}
Из вышеприведенного кода видно, что для запуска механизма работы со
списком сотрудников, создается единый контекст данных unitOfWork,
запрашивается список сотрудников в виде DTO объектов EmployeeView,
создается экземпляр контроллера CEmployee, и вызывается функция начала
работы с экземпляром Build. Для обновления данных из базы обрабатывается
событие контроллера UpdateAll [23].
В приложении используется единая форма для вывода списка для
сущностей. Форма содержит стандартный интерфейс для работы с данными:
добавление, редактирование, удаление, обновление и поиск (рис.2.11).
Рис. 2.11. Единая форма для списков
В контроллере задаются все параметры внешнего вида формы: список
полей, выводимых на экран, иконка и название для формы. Так же в контроллере
ведется обработка событий, генерируемых формой.
На форме «Сотрудники» элемент DataGridView содержит 4 столбца
данных, и панель инструментов дополнена элементом ToolStripComboBox для
выбора сотрудников по отделениям.