.сетчатый сердечник тонкий и MVC контроллеры - пласт сервис
Я пытаюсь проредить свои контроллеры, используя слой обслуживания. Но я не могу тренироваться или найти пример того, как справляться с проблемами, возникающими на уровне сервиса.
В качестве примера у меня есть действие контроллера Add Item, которое имеет имя и определенный пользователем идентификатор.
Код должен быть уникальным в базе данных.
Так что мой контроллер просто берет ViewModel и передает его в службе элементов.Добавить()
Внутри Add есть логика, чтобы проверить, существует ли идентификатор. Если это не так, контроллер должен отправить эту информацию обратно пользователю и заставить его изменить свой ввод.
Итак, как я могу отправить эту информацию обратно на контроллер, чтобы сохранить сообщение об ошибке и отобразить правильное представление?
Есть ли стандартный способ сделать это, почти каждый пример, который я могу найти, показывает, как взять логику из контроллера службы, но не как вернуть ошибки / исключения обратно.
Что я уже пробовал:
Я пробовал вещи, используя параметры out, но это очень "халтурно".
И специальные коды возврата, но это не будет поддерживаться по мере роста системы.