# Примерное содержание экзамена >Состав и критерии оценок могут измениться Написать **РАБОЧЕЕ** (то есть приложение собирается и запускается) оконное приложение, отображающее список данные (**ListBox**), с возможностью фильтрации, поиска и сортировки данных: Проверяются **только результаты, опубликованные в репозитории** Предметная область, тип фильтрации и вид списка определяются перед экзаменом генератором случайных чисел 1. Создать модель (класс) по заданной предметной области. **Обязательно** использовать типы: _целое_, _вещественное_, _дата_, _строка_, _логическое_. Одно из строковых полей должно быть словарным - `1` балл - несоответствие полей модели предметной области: штраф `0,2` балла - отсутствие типа данных: штраф `0,2` балла 1. Создать набор данных (10 записей) для модели в заданном формате и написать класс поставщика данных **LocalDataProvider**, **CSVDataProvider** или **JSONDataProvider**: до `1.5` баллов - **программный список** (определен в дата провайдере): `0,5` баллов - **CSV** (загрузка из внешнего файла): `1` балл - **JSON** (загрузка из внешнего файла): `1,5` балла 1. вывести логотип компании - `0,5` балла (доступа в интернет при выполнении задания не будет, в качестве логотипа можно использовать любую загогулину, нарисованную в `paint`) 1. вывести на экран список (**ListBox**) с набором данных из поставщика данных (тип списка **StackPanel** или **WrapPanel** выбирает преподаватель) - `1` балл 1. реализовать поиск по текcтовому полю - `1` балл 1. сделать сортировку по полю - `1` балл 1. сделать фильтрацию по словарному полю или по условию (определяется преподавателем перед началом экзамена) - `1` балл 1. Написать пояснительную записку в **README.MD** (название предметной области, **скриншот**, **набор данных, оформленный как `код`**) - `0,5` балла Штраф за отсутствующий элемент `0,2` балла 1. Единый стиль переменных во всём приложении (**CamelCase** или **camelCase**): `0.5` балла 1. Самоочевидные названия переменных и названий визуальных объектов: `0.5` балла 1. Файловая структура проекта (_для каждого класса свой файл_, _название файла соответствует классу_, _классы модели в отдельном каталоге_): `0.5` балла Штраф `0,2` балла за критерий Итого `9` баллов: - менее `2`-х баллов, оценка "2" - `2 ... 3,9` балла, оценка "3" - `4 ... 5,9` баллов, оценка "4" - `6` и более баллов, оценка "5"