Ожидаемые результаты выполнения заданий
По результатам выполнения заданий обучающийся должен:
- Понимать принципы работы ORM, преимущества и недостатки использования.
- Познакомиться с
Flexberry ORM
:- Устанавливать и настраивать
Flexberry ORM
для работы в своем приложении. - Уметь вычитывать объекты разными способами
- Понимать концепцию мастеров и детейлов и работать с ними
- Уметь управлять транзакциями
- Уметь работать в режиме многобазности
- Понимать что такое бизнес-сервера и уметь работать с ними
- Уметь выполнять каскадное удаление
- Устанавливать и настраивать
Задания по модулю
Задание 1.
- Создать консольное приложение. Предметная область – заказ лекарств в онлайн-магазине с доставкой в физическую аптеку.
Покупатель вбивает название лекарства, после чего система сначала ищет заданное наименование по всей сети аптек и выдает адреса, где препарат есть в наличии. Если адреса этих аптек неудобны для покупателя, или препарата нигде нет в наличии, покупатель может заказать доставку лекарства в выбранную аптеку.
Класс
Лекарства
имеет атрибуты: название. КлассАптека
имеет атрибуты: адрес, список лекарств в наличии с ценами в данной аптеке, список с графиком работы. Классы связаны связьюассоциация
какмногие-ко-многим
. - Установить и настроить
Flexberry ORM
, базу данных (PostgreSQL
). - Создать экземпляры объектов. Создавать экземпляры объектов следует в коде с помощью
Flexberry ORM
. - Добавить лекарства в аптеки (также с помощью
Flexberry ORM
). - Сделать следующие запросы разными способами:
- Получить список всех лекарств, доступных для заказа – с помощью
LINQ-провайдера
; - Список адресов всех аптек – с помощью
LoadingCustomizationStruct
; - Список всех лекарств в наличии в конкретной аптеке – преобразованием
LINQ в LCS
; - Адрес аптеки, где заданное лекарство в наличии и стоит дешевле всего – получением
строкового представления
; - Список лекарств, дороже заданной суммы в конкретной аптеке – с использованием
SQL-запросов
; - Список аптек, которые работают в заданный день и в заданное время – с помощью
LINQ-провайдера
.
- Получить список всех лекарств, доступных для заказа – с помощью
Задание 2.
- Программно удалить экземпляры лекарств из базы данных, используя
Flexberry ORM
. - Добавить новую базу данных
PostgreSQL
. - Добавить экземпляры лекарств в новой базе через
Flexberry ORM
. - Сделать запросы из
Задания 1 п.5
указанными способами и убедиться, что запросы работают корректно. Приложение должно работать в режиме многобазности.
Задание 3.
- Создать веб-приложение с той же предметной областью.
- Выполнить запросы из
Задания 1 п.5
указанными способами. На каждый запрос создать отдельную форму. - Создать бизнес-сервер. С его помощью выполнить действия:
- Создать форму создания новой аптеки;
- В списке лекарств в наличии указать несуществующее лекарство;
- При сохранении в одной транзакции должен создаться не только экземпляр аптеки, но и указанное лекарство;
- Перейти на форму со всеми лекарствами и проверить, что лекарство создалось.
Вспомогательные ресурсы: