Ожидаемые результаты выполнения заданий

По результатам выполнения заданий обучающийся должен:

  1. Понимать принципы работы ORM, преимущества и недостатки использования.
  2. Познакомиться с Flexberry ORM:
    • Устанавливать и настраивать Flexberry ORM для работы в своем приложении.
    • Уметь вычитывать объекты разными способами
    • Понимать концепцию мастеров и детейлов и работать с ними
    • Уметь управлять транзакциями
    • Уметь работать в режиме многобазности
    • Понимать что такое бизнес-сервера и уметь работать с ними
    • Уметь выполнять каскадное удаление

Задания по модулю

Задание 1.

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

Задание 2.

  1. Программно удалить экземпляры лекарств из базы данных, используя Flexberry ORM.
  2. Добавить новую базу данных PostgreSQL.
  3. Добавить экземпляры лекарств в новой базе через Flexberry ORM.
  4. Сделать запросы из Задания 1 п.5 указанными способами и убедиться, что запросы работают корректно. Приложение должно работать в режиме многобазности.

Задание 3.

  1. Создать веб-приложение с той же предметной областью.
  2. Выполнить запросы из Задания 1 п.5 указанными способами. На каждый запрос создать отдельную форму.
  3. Создать бизнес-сервер. С его помощью выполнить действия:
    1. Создать форму создания новой аптеки;
    2. В списке лекарств в наличии указать несуществующее лекарство;
    3. При сохранении в одной транзакции должен создаться не только экземпляр аптеки, но и указанное лекарство;
    4. Перейти на форму со всеми лекарствами и проверить, что лекарство создалось.

Вспомогательные ресурсы:

  1. Курс по PostgreSQL.
  2. Курс лекций по основам баз данных

Вы можете