Для выполнения заданий к данному модулю вам потребуется доработать демонстрационное приложение, исходный код которого лежит в файле Task.zip.
Доработка происходит по следующим правилам:
- Для каждого пункта задания вы создаёте в классе
LinqSamples
новый метод с именем LinqXXX, где XXX — номер по порядку. - Для метода указываете атрибуты
Category
,Title
,Description
(язык заполнения RUS/ENG/... согласуйте с ментором). - Созданный метод должен содержать необходимую инициализацию, сам требуемый LINQ-запрос и выдачу результатов.
- Проверять результат можно, запуская приложение (F5) и просматривая результат визуально.
Внимание!!! Данный вариант реализации не является обязательным и по согласованию с ментором вы можете заменить его, например, на обычные модульные тесты (по тесту на задание).
- Выдайте список всех клиентов, чей суммарный оборот (сумма всех заказов) превосходит некоторую величину X. Продемонстрируйте выполнение запроса с различными X (подумайте, можно ли обойтись без копирования запроса несколько раз).
- Для каждого клиента составьте список поставщиков, находящихся в той же стране и том же городе. Сделайте задания с использованием группировки и без.
- Найдите всех клиентов, у которых были заказы, превосходящие по сумме величину X.
- Выдайте список клиентов с указанием, начиная с какого месяца какого года они стали клиентами (принять за таковые месяц и год самого первого заказа).
- Сделайте предыдущее задание, но выдайте список отсортированным по году, месяцу, оборотам клиента (от максимального к минимальному) и имени клиента.
- Укажите всех клиентов, у которых указан нецифровой почтовый код или не заполнен регион или в телефоне не указан код оператора (для простоты считаем, что это равнозначно «нет круглых скобочек в начале»).
- Сгруппируйте все продукты по категориям, внутри — по наличию на складе, внутри последней группы отсортируйте по стоимости.
- Сгруппируйте товары по группам «дешёвые», «средняя цена», «дорогие». Границы каждой группы задайте сами.
- Рассчитайте среднюю прибыльность каждого города (среднюю сумму заказа по всем клиентам из данного города) и среднюю интенсивность (среднее количество заказов, приходящееся на клиента из каждого города).
- Сделайте среднегодовую статистику активности клиентов по месяцам (без учёта года), статистику по годам, по годам и месяцам (т.е. когда один месяц в разные годы имеет своё значение).