Ejemplo n.º 1
0
        /// <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);
        }
 /// <summary>
 /// Deletes the given model.
 /// </summary>
 /// <param name="model">The model</param>
 public static void Delete(this ISiteTypeService service, SiteType model)
 {
     service.DeleteAsync(model).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Gets the model with the specified id.
 /// </summary>
 /// <param name="id">The unique i</param>
 /// <returns></returns>
 public static Models.SiteType GetById(this ISiteTypeService service, string id)
 {
     return(service.GetByIdAsync(id).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes the model with the specified id.
 /// </summary>
 /// <param name="id">The unique id</param>
 public static void Delete(this ISiteTypeService service, string id)
 {
     service.DeleteAsync(id).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Gets all available models.
 /// </summary>
 /// <returns>The available models</returns>
 public static IEnumerable <SiteType> GetAll(this ISiteTypeService service)
 {
     return(service.GetAllAsync().GetAwaiter().GetResult());
 }