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)); }
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); }
public Entities.Page GetPage(Guid id) { var pageStore = new PageStore(Context.FileSystem); return pageStore.GetByKey(id); }
public Entities.Page GetPage(Guid id) { var pageStore = new PageStore(Context.FileSystem); return(pageStore.GetByKey(id)); }