示例#1
0
 WikiPage GetPageByTitle(string title)
 {
     if (PageStore.ContainsKey(title))
     {
         return(PageStore[title]);
     }
     return(new WikiPage()
     {
         Title = title
     });
 }
        public void Add(Entities.Page page)
        {
            var pageStore = new PageStore(Context.FileSystem);

            if (pageStore.FindAll(x => x.SiteId == Context.Site.Id && x.ParentId == page.ParentId && x.Url == page.Url).Any())
            {
                throw new Exception(string.Format("Page with url: {0} already exists.", page.Url));
            }

            //set the siteId of the current url
            page.SiteId = Context.Site.Id;

            pageStore.Add(page);
        }
        public void Store <T>(string URI, T obj)
        {
            var cleanUri = this.NormalizeUrl(URI);
            var filepath = new FileInfo(Path.Combine(this.workingPath, cleanUri));

            var page = new PageStore();

            page.URI = cleanUri;
            var t = obj.GetType();

            page.PageType = obj.GetType().AssemblyQualifiedName;
            page.PageData = JsonConvert.SerializeObject(obj);

            File.WriteAllText(filepath.FullName, JsonConvert.SerializeObject(page));
        }
示例#4
0
        public IEnumerable<Entities.Page> GetAll()
        {
            
            //var siteStore = new SiteStore(Context.FileSystem);
            var pageStore = new PageStore(Context.FileSystem);
            //var site = siteStore.GetSite(Context.HostString);
            var pages = pageStore.GetForSite(Context.Site);

            if (!pages.Any())
            {
                var page = new Entities.Page {Name = "Home", Url = "", SiteId = Context.Site.Id, Template = "Index"};
                pageStore.Add(page);

                AddDefaultContent(page);
                pages = new List<Entities.Page> {page};
            }
            return pages;
        }
        public object Fetch(string URI)
        {
            var r = new PageStore();

            var filepath = new FileInfo(Path.Combine(this.workingPath, this.NormalizeUrl(URI)));

            if (!filepath.Exists)
            {
                return(null);
            }

            using (StreamReader sr = new StreamReader(filepath.FullName)) {
                r = JsonConvert.DeserializeObject <PageStore>(sr.ReadToEnd());
            }

            //now determine our type and parse that
            Type pageType = Type.GetType(r.PageType);

            return(JsonConvert.DeserializeObject(r.PageData, pageType));
        }
        public IEnumerable <Entities.Page> GetAll()
        {
            //var siteStore = new SiteStore(Context.FileSystem);
            var pageStore = new PageStore(Context.FileSystem);
            //var site = siteStore.GetSite(Context.HostString);
            var pages = pageStore.GetForSite(Context.Site);

            if (!pages.Any())
            {
                var page = new Entities.Page {
                    Name = "Home", Url = "", SiteId = Context.Site.Id, Template = "Index"
                };
                pageStore.Add(page);

                AddDefaultContent(page);
                pages = new List <Entities.Page> {
                    page
                };
            }
            return(pages);
        }
示例#7
0
 public Entities.Page GetPage(Guid id)
 {
     var pageStore = new PageStore(Context.FileSystem);
     return pageStore.GetByKey(id);
 }
示例#8
0
        public void Add(Entities.Page page)
        {
            var pageStore = new PageStore(Context.FileSystem);
            if (pageStore.FindAll(x => x.SiteId == Context.Site.Id && x.ParentId == page.ParentId && x.Url == page.Url).Any())
            {
                throw new Exception(string.Format("Page with url: {0} already exists.", page.Url));
            }

            //set the siteId of the current url
            page.SiteId = Context.Site.Id;

            pageStore.Add(page);
        }
        public Entities.Page GetPage(Guid id)
        {
            var pageStore = new PageStore(Context.FileSystem);

            return(pageStore.GetByKey(id));
        }