Установлены пакеты NuGet:
- Microsoft.EntityFrameworkCore
- Microsoft.entityframeworkcore.design
- Npgsql.EntityFrameworkCore.PostgreSQL
- Microsoft.Extensions.Configuration
Данные для подключения к БД хранятся в файле "appsettings.json"
Разработать консольное .NET приложение для склада, удовлетворяющее следующим требованиям:
- Построить иерархию классов, описывающих объекты на складе - паллеты и коробки:
- Помимо общего набора стандартных свойств (ID, ширина, высота, глубина, вес), паллета может содержать в себе коробки.
- У коробки должен быть указан срок годности или дата производства. Если указана дата производства, то срок годности вычисляется из даты производства плюс 100 дней.
- Срок годности паллеты вычисляется из наименьшего срока годности коробки, вложенной в паллету. Вес паллеты вычисляется из суммы веса вложенных коробок + 30кг.
- Объем коробки вычисляется как произведение ширины, высоты и глубины.
- Объем паллеты вычисляется как сумма объема всех находящихся на ней коробок и произведения ширины, высоты и глубины паллеты.
- Каждая коробка не должна превышать по размерам паллету (по ширине и длине).
- Консольное приложение:
- (Опционально) Организовать запись и чтение коллекции в/из файл(а).
- Вывести на экран:
- Сгруппировать все паллеты по сроку годности, отсортировать по возрастанию срока годности, в каждой группе отсортировать паллеты по весу.
- 3 паллеты, которые содержат коробки с наибольшим сроком годности, отсортированные по возрастанию объема.
- (Опционально) Покрыть функционал unit-тестами.