Сервис слишком маленький, поэтому не стал разделять приложение на слои DAL, Business, Rest Service:
- Основная логика реализована в PermutationsService.cs (сами перерестановки расчитываются рекурсивно).
- Доступ к данным реализован в папке DataAccess. Данные пишутся в localDb. В тестах инжектится ImMemoryDatabase.
Не стал проверять все граничные условия (N > 8) и использовать логирование в контроллере/сервисе с целью экономии времени.