На этом уроке мы допишем класс Client. Реализуем четыре метода и слегка потестируем их. Написать свои впечатления о созданном классе модели.
Дата отправки отчёта:
26 июня 2017 г.
Задание выполнено: за
1 час. 00 мин.
Чему научился:
Узнал новое событие датагрида - клик на строке.
Что было сложным:
Отыскать опечатки в запросе SelectClients(string find). Понять, какой тип должны возвращать все эти функции или не возвращать. Возникает уже сложность с запутыванием полей типа phone и функцией setphone(). Можно было и в сеттере делать проверки на корректность данных. Я так пологаю, что в следущих уроках эти запутывания будут устранены за счет дальнейшего разделения кода согласно паттерну мвц.
Комментарии:
1. Слишком много полей для поиска, фильтр неправильно работает. Поле ид не нужно, оно не несет никакой информации. В правильном софте должен быть номер клиента или номер заказа. Фильтр должен работать только по имени, все остальное должно быть скрыто под продвинутым поиском.
У меня 200 записей в таблице и оно не тормозит вообще. Хотя конечно 200 записей это смешно. Надо было сделать по-другому. После события от текстового поля запустить таймер и по истечении 500мс после последнего сброса вызвать SelectClients(string find), а при каждом изменении текста сбрасывать таймер. А так же надо было сделать ограничение в запросе limit 0, 20. Или может датагрид сам делает пагинацию и у него есть стрелки для листания? Такие плюшки есть в хтмл компонентах.
Вцелом мне очень понравилось. Начинаю видеть разделение кода на логические части и вижу связи между ними. Все это придает энергии, а то раньше в других курсах писал в овощном состоянии, к тому же пару дней валялся с отравлением.
Научился: Опыт в работе С БД Трудности: придумать нормальную реализацию метода UpdateClient :) Сделал по-своему метод UpdateClient. Реагирует на изменение ячейки в датагридвью. По ячейке определяет ID клиента и новое значение. Эти данные передает в метод и происходит изменение.
Я понимаю, что на данном этапе никак не задействованы свойства полей. Потом элементарные проверки добавлю обязательно.