Все вы прекрасно знаете, что данный курс "завис". Причина в том, что за этот год я, чего скрывать, сам очень многому научился, стал писать программы лучше, чем раньше, стал создавать 15-минутные уроки, которые идут значительно лучше. Именно по этой причине я никак не могу взяться за свой старый код, который мне теперь кажется несколько (крайне) унылым. Поэтому, после долгих раздумий, я всё же решился пересоздать этот курс с нуля. Перезагрузка База данных будет немного упрощена, мы откажемся от таблиц Action, Hotel, Manager. Мы сконцентрируемся на объектной модели проекта, отделим отображение от модели, сделаем всё в свете популярного MVC шаблона. Проект будет всё также для Window Forms, с использованием MySQL, но логику от представления мы отделим и до конца 2015 года завершим создание этого проекта. Да будет так! Работать над проектом мы будем по субботам, за четыре субботы мы всё с нуля переделаем и закроем этот проект. 28 ноября - База данных - Планирование и создание базы данных Отеля. 5 декабря - Модель - Проектирование и создание объектной модели Отеля. 12 декабря - Вид - Проектирование и создание экранных форм. 19 декабря - Контроллер - Связывание Модели с Видом через Контроллер. Начало вебинаров будет в 18:00, время московское, продолжительность вебинаров - около 3 часов.
04.02 - Полет нормальный. Продолжаем закрывать курс.
так мы на ASP.NET делать будем или в окошках?
Ура и спасибо, что продлили оплаченный доступ к курсу
Ура и спасибо, что продлили оплаченный доступ к курсу
Поддерживаю. Если не получится поучаствовать в вебинарах, то можно ли потом будет их посмотреть, пусть даже и за плату?
Продлите плз доступ!
добрался до самого интересно в этой инкарнации - создание класса MySQL..
предложение перезапуск БД поддерживаю двумя руками!)
Где только найти столько свободного времени......накупил от души. когда все выполнять.
От души поддерживаю сие здравое намерение!
Добрый вечер, Евгений!
Мне 62 года, но, тем не менее стремлюсь познавать новое. Овладеть и создать БД очень хочется. Полностью поддерживаю Ваше предложение! У меня , правда, маловато знаний и практики, но очень хочется освоить эту тему! Что нужно от меня? С уважением Николай.
Проект развивается!!! Такое предложение может вызвать только восторг! Желаю сил и терпения, чтобы все воплотилось в жизнь!
Отличная идея!
Я буду ходить! И делать вместе.
Отличное решение, Евгений!
Дождался этот проект MVC :)
Так ты из нас сделаешь профи ;)
это однозначно замечательные новости! ура!
Время устраивает и очень хотелось бы послушать.
Улучшения при сохранении функциональности.... Да мы всегда За!!
можно ссылку на свой видеоурок оставить? мой первый ) может кто-нибудь лайкнет )
www.youtube.com/watch?v=1Lvle3WGIgI
Женя, это очень здорово! Я очень рада и в восторге от твоего решения! Молодец!!!! :)
Согласен. Клиентов и менеджеров лучше вместе в одну таблицу объединить.
За перезагрузку. Сделано было немало, я писал свой вариант в двух версиях - одну ортодоксальную по урокам Витольдовича, вторую с использованием Entety Framework и LINQ. И теперь было бы тяжелее в два раза все вспомнить, так как хуже нет наполовину написанного проекта.
Перезугрузка - гуд.
Выполнив все уроки этого курса, считаю, что перезагрузка - это правильное решение.
Обоими руками за!
Вы только пока старую версию не удаляйте, хотел бы все-таки ее пройти до конца.
еще пользуясь случаем хочу сказать - мне лично нравятся уроки, но тематика не очень подходит иногда т.к. уже работаю системным администратором. Вот мне бы хотелось увидеть такие программы- 1. Вывод консоли (работа с консолью -cmd) в форме с кнопками на форме 2. Клиент серверное приложение TCP/IP - radmin 3. Программки - учет картриджей, тел.справочник и т.д.
Вообщем, желаю развития проекту и готов поддержать материально (покупкой новых курсов)
ну наконец -то ) я рад что все так повернулось! ждем коротких и емких уроков )
# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем создание базы данных для гостиницы. Твоя задача - самому подумать и создать описание сущностей проекта, для каждой выписать атрибуты. |
|||||
2 | Таблицы клиентов и заказов |
1 тест |
|||
На этом уроке мы перечислим поля таблиц Client и Book. Каждое поле этих таблиц потребует подробных комментариев, почему так, как можно сделать иначе, какие могут быть ошибки и так далее. |
|||||
3 | Таблицы комнат и дней |
1 тест |
|||
На этом уроке мы перечислим поля трёх таблиц: Room, Calendar, Map. В конце урока распишем типы каждого поля нашей базы данных. Подумай и напиши, какие ещё поля можно добавить в эти таблицы. |
|||||
4 | Создание базы в MS Access |
1 тест |
|||
На этом уроке мы создадим нашу базу данных в MS Access. Там же нарисуем схему базы данных и создадим связи между таблицами. Необходимо будет распечатать схему базы данных и прикрепить её на своём рабочем месте. |
|||||
5 | Установка сервера MySQL |
2 теста |
|||
На этом уроке мы установим MySQL Community Server и программу HeidiSQL для подключения к нему. |
|||||
6 | SQL запросы для создания Базы |
1 тест |
|||
На этом уроке мы напишем SQL запросы для создания нашей базы данных отеля. |
|||||
7 | Модель. Планирование. |
|
|||
На этом уроке самостоятельное задание - сформулировать все задачи, которые решает программа. Это будет своеобразное проектирование бизнес-модели проекта. Подсказка: смотрим на схему базы данных, на каждую таблицу по отдельности, и задаём себе несколько раз вопросы: что это? для чего? что можно с этим сделать? как это можно обработать? |
|||||
8 | Модель. Список задач. |
|
|||
На этом уроке мы составим список задач. Для каждой задачи нужно будет написать SQL запрос (или несколько), который решает поставленную задачу. Запросы нужно писать в таком виде, в котором они сразу могут быть выполнены в SQL-мониторе. Каждый запрос необходимо проверить на работоспособность. |
|||||
9 | Модель. SQL запросы для Client |
|
|||
На этом уроке мы составим SQL запросы для решения задач с таблицами Client и Calendar. По аналогии создай SQL запросы для остальных задач. |
|||||
10 | Модель. SQL запросы для Room |
1 тест |
|||
На этом уроке мы составим SQL запросы для решения задач с таблицей Room. По аналогии создай SQL запросы для остальных задач. |
|||||
11 | Модель. SQL запросы для Book и Map |
|
|||
На этом уроке мы составим SQL запросы для всех остальных задач, для таблиц Book и Map. В отчёте напиши мини-отзыв о созданных запросах. |
|||||
12 | Модель. Имена методов. |
1 тест |
|||
На этом уроке мы пройдёмся ещё раз по списку составленных задач и дадим названия классам и методам, которые эти задачи будут выполнять. |
|||||
13 | Класс MySQL. Драйвер и конструктор. |
1 тест |
|||
На этом уроке мы наконец-таки создадим проект. Установим Mysql DotNet Connector и начнём создавать класс MySQL для подключения к базе данных. Мы напишем конструктор и три метода. |
|||||
14 | Класс MySQL. Получение таблицы. |
1 тест |
|||
На этом уроке мы создадим ещё несколько полезных методов в классе MySQL для считывания, изменения и добавления записей. |
|||||
15 | Класс MySQL. Обработка ошибок. |
|
|||
На этом уроке мы создадим функцию SqlError() для удобной обработки ошибок во время тестирования. |
|||||
16 | Модульный тест |
1 тест |
|||
На этом уроке мы создадим модульный тест (UnitTest) для тестирования класса MySQL, который мы создали ранее. В уроке приводится только знакомство, без полного покрытия тестами нашего проекта, но в будущем мы к ним ещё вернёмся. В комментариях необходимо написать, использовал ли ты ранее модульные тесты. Полезная ссылка: https://msdn.microsoft.com/ru-ru/library/hh694602.aspx |
|||||
17 | Отображение таблицы |
|
|||
На этом уроке мы визуализируем созданное, через отображение в компоненте DataGridView. Заголовки столбцов можно поменять двумя разными способами. 1. sql.Select("SELECT id as Nr, client as Surname FROM Client"); 2. dataGridView1.Columns[0].HeaderText = "№"; |
|||||
18 | Модель. Класс Клиента |
1 тест |
|||
На этом уроке мы наконец-таки начнём создавать первый класс Бизнес Модели Отеля. Это класс Model.Client, для подготовки которого потребуется ещё некоторые вспомогательные работы. |
|||||
19 | Модель. Всё про Клиента |
1 тест |
|||
На этом уроке мы допишем класс Client. Реализуем четыре метода и слегка потестируем их. Написать свои впечатления о созданном классе модели. |
|||||
20 | Модель - Календарный год |
|
|||
На этом уроке мы начнём создавать модель календаря. Поработаем с запросами, напишем метод InsertDays(int year). Создадим тест для этого метода и немного доработаем класс тестов. |
|||||
21 | Модель - Календарные праздники |
1 тест |
|||
На этом уроке мы добавим в модель календаря методы для создания дней, пометки их праздничными/обычными. Также добавим ещё несколько тестов, чтобы они представляли из себя логически завершённую последовательность для тестирования календаря. |
|||||
22 | Модель. Класс комнаты |
|
|||
На этом уроке мы создадим модель на комнат, класс Room. Чтобы сделать это быстро - мы воспользуемся заготовками из класса Client.cs. В этом уроке мы не пишем тестов, поэтому класс создали в рекордно короткое время, 15 мин. Однако, создание тестов никто не отменял - это самостоятельное задание. |
|||||
23 | Модель. Удаление комнат. |
|
|||
На этом уроке мы добавим метод для удаления комнат. Исправим логическую ошибку метода Update в классах Room и Client. Подготовим функцию для теста созданного класса. Рекомендую эти тесты создать самостоятельно. |
|||||
24 | Модель. Тестирование комнат. |
|
|||
На этом уроке мы создадим TestRoom() для класса Room. Это будет одна функция, в которой мы последовательно будем вызывать все методы класса Room и проверять, на сколько правильно и корректно они отработали. В конце урока мы выполним тест пошагово. |
|||||
25 | Модель. Бронирование. |
|
|||
На этом уроке мы посмотрим картинки красивых комнат. И начнём создавать модуль бронирования Book. Создадим конструктор, методы InsertBook(), SelectBook() и UpdateBook(). В конце поговорим о том, что нужно отдыхать ДО того, как устанешь. |
|||||
26 | Модель. Статусы заказов. |
|
|||
На этом уроке мы поговорим о статусах заказа. Создадим методы изменения статуса и дней заезда/выезда. |
|||||
27 | Модель. Список заказов. |
1 тест |
|||
На этом уроке мы допишем два последних метода в класс Book. Методы для получения списка заказов по фильтру и без. В конце урока выведем результаты в грид, чтобы убедиться, что код работает. |
|||||
28 | Модель. Карта отеля 1 |
1 тест |
|||
На этом уроке мы начнём создавать модель управления комнатами. Пока мы создадим только конструктор, поля и метод void SelectMap (long room_id, long book_id, DateTime calendar_day) |
|||||
29 | Модель. Карта отеля 2 |
|
|||
На этом уроке мы создадим методы InsertMap() и InsertMapNone(). Также добавим в класс MySQL метод DateToString() и пробежимся по всему проекту, убирая yyyy-MM-dd. |
|||||
30 | Модель. Карта отеля 3 |
|
|||
На этом уроке мы создадим оставшиеся методы класса Map: SelectMap(), UpdateMap() и DeleteMap(). Пока без тестирования. |
|||||
31 | Вид. Список форм. |
1 тест |
|||
На этом уроке мы приступаем к следующему этапу создания программы - Представления (вид). Наша задача - составить список форм, которые будут в проекте, и для каждой формы нарисовать, как она будет выглядеть. | |||||
Итого: 31 видеоурок |
10 час. 16 мин. 17 тестов |
23 чел. | |||
Финалисты: Денис, Иван, Николай Миролюбов, Валентин, Кирилл Шмойлов, Frank, Rita, Ludmila, Станислав, Сергей Зулкарнаев, kalobyte, Tekashnik, egresr, Новопашин Владимир, Роман, Yefim, Василий, Ivan, vip, Илья, Михаил, Vdonsk, Егор Ульянов . |