Допустим, у меня есть объект под названием Пользователь, у которого много сообщений. Мой сервис выглядит так для удаления поста:
void DeletePost(int postId, int userId);
Куда уходит мой проверочный код? (убедитесь, что у пользователя есть разрешение на удаление). Должен ли я сделать это в хранилище с 1 вызовом базы данных? Или я должен сделать эту проверку в слое Service, где я делаю 2 вызова:
- Получить пользователя по userId.
- Вызовите удаление после проверки пользователя.
У меня будет 2 репозитория, 1 для пользователя и 1 для поста, каждый из которых выглядит следующим образом:
// From the PostRepository.
void Delete(int postId); //May have to add a userId param if I do validation in repository
//From the UserRepository.
User GetUser(int userId);