/// <summary> /// Creates a new api from the currently registered /// repositories. /// </summary> public Api( IContentFactory contentFactory, IAliasRepository aliasRepository, IArchiveRepository archiveRepository, IMediaRepository mediaRepository, IPageRepository pageRepository, IPageTypeRepository pageTypeRepository, IParamRepository paramRepository, IPostRepository postRepository, IPostTypeRepository postTypeRepository, ISiteRepository siteRepository, ISiteTypeRepository siteTypeRepository, ICache cache = null, IStorage storage = null, IImageProcessor processor = null) { // Store the cache _cache = cache; // Create services without dependecies PageTypes = new PageTypeService(pageTypeRepository, cache); Params = new ParamService(paramRepository, cache); PostTypes = new PostTypeService(postTypeRepository, cache); Sites = new SiteService(siteRepository, contentFactory, cache); SiteTypes = new SiteTypeService(siteTypeRepository, cache); // Create services with dependencies Aliases = new AliasService(aliasRepository, Sites, cache); Media = new MediaService(mediaRepository, Params, storage, processor, cache); Pages = new PageService(pageRepository, contentFactory, Sites, Params, cache); Posts = new PostService(postRepository, contentFactory, Sites, Pages, cache); Archives = new ArchiveService(archiveRepository, Params, Posts); }
public SiteTypeController(SiteTypeService siteTypeService) { _siteTypeService = siteTypeService; }