У меня есть проект MVC, который имеет две службы: OrganisationService и AgreementService, моя проблема в том, что некоторые из организаций принадлежат к группе/родительской структуре, когда это так, мне нужно получить все соглашения, которые принадлежат к любой из организаций группы.Внедрение услуги в другую службу
У меня уже есть метод в моем OrganisationService, который может возвращать список всех идентификаторов для организаций, в структуре:
IEnumerable<int> GetRelatedOrganisationIds(int id)
Я мог бы создать метод в Agreement или который принимает результат этого, но потом Мне нужно будет ввести обе службы в контроллер и вызвать их по очереди, например
GetAgreementsByOrganisationIdList(IEnumerable<int> organisationIdList)
Это нормально впрыснуть OrganisationService в Agreement или так, что он может сделать саму работу? Например, следующий метод будет называть GetRelatedOrganisationIds внутренне:
GetAgreementsByOrganisationId(int id)
Другая причина, я хотел бы, чтобы ввести его в Agreement или в том, что я не должен был бы помнить, чтобы проверить, если организация была в группе/родительских отношений и смотреть каждый раз, когда я хотел получить список соглашений.
Я также подумал о создании группы OrganisationGroupParentInformationProvider и, вместо этого, вместо этого применил соглашение AgreementService, возможно, я потратил слишком много времени на размышления об этом ... как бы вы это сделали?