public Models.ContentPage GetPage(string path) { var retVal = new Models.ContentPage(); var fullPath = GetFullPath(path); if (File.Exists(fullPath)) { var itemName = Path.GetFileName(fullPath); var content = File.ReadAllBytes(fullPath); retVal.Name = FixPathName(path); retVal.ModifiedDate = Directory.GetLastWriteTimeUtc(fullPath); retVal.Language = GetLanguageFromFullPath(fullPath); retVal.ByteContent = File.ReadAllBytes(fullPath); retVal.ContentType = ContentTypeUtility.GetContentType(Path.GetFileName(fullPath), File.ReadAllBytes(fullPath)); retVal.Path = RemoveBaseDirectory(fullPath); retVal.Id = RemoveBaseDirectory(fullPath); } else { retVal = null; } return(retVal); }
public void SavePage(string path, Models.ContentPage page) { var fullPath = GetFullPath(path); var existingItem = this.GetItem(fullPath); var sha = String.Empty; if (existingItem == null) // create new { var response = Task.Run(() => this._client.Repository.Content.CreateFile( this._ownerName, this._repositoryName, fullPath, new CreateFileRequest(string.Format("Create {0}", path), Encoding.UTF8.GetString(page.ByteContent)))).Result; } else // update existing { var response = Task.Run(() => this._client.Repository.Content.UpdateFile( this._ownerName, this._repositoryName, fullPath, new UpdateFileRequest(string.Format("Update {0}", path), Encoding.UTF8.GetString(page.ByteContent), existingItem.Sha))).Result; } }
public IHttpActionResult GetEmployments() { var employments = new List <EmploymentViewModel>(); var cachedContentNode = GetIPublishedNodeByAlias(Models.ContentPage.ModelTypeAlias); if (cachedContentNode != null) { var content = new Models.ContentPage(cachedContentNode); if (content.Experience.Any()) { foreach (var employment in content.Experience) { employments.Add( new EmploymentViewModel() { Name = employment.GetValue("EmploymentName"), StartDate = new DateTime(), EndDate = new DateTime(), Description = employment.GetValue("Description"), Employer = employment.GetValue("Employer"), EmployerLogo = employment.GetValue("EmployerLogo"), EmployerUrl = employment.GetValue("EmployerUrl") } ); } } } return(Ok(employments)); }
public IHttpActionResult GetSkills() { var skills = new List <SkillViewModel>(); var cachedContentNode = GetIPublishedNodeByAlias(Models.ContentPage.ModelTypeAlias); if (cachedContentNode != null) { var content = new Models.ContentPage(cachedContentNode); if (content.Skills.Any()) { foreach (var skill in content.Skills) { skills.Add( new SkillViewModel() { Name = skill.GetValue("Name"), Value = skill.GetValue("Value") } ); } } } return(Ok(skills)); }
public void SavePage(string path, Models.ContentPage page) { var fullPath = GetFullPath(path); if (!Directory.Exists(Path.GetDirectoryName(fullPath))) { Directory.CreateDirectory(Path.GetDirectoryName(fullPath)); } using (var fs = new FileStream(fullPath, FileMode.Create, FileAccess.Write)) { fs.Write(page.ByteContent, 0, page.ByteContent.Length); fs.Close(); } }
public Models.ContentPage GetPage(string path) { var fullPath = GetFullPath(path); var retVal = new Models.ContentPage(); var result = this._client.Repository.Content.GetContents(this._ownerName, this._repositoryName, fullPath).Result; var item = result.SingleOrDefault(); if (item != null) { retVal = item.ToPageModel(); } return(retVal); }
public Models.ContentPage GetPage(string path) { var fullPath = GetFullPath(path); var retVal = new Models.ContentPage(); var result = GetAllContents(fullPath); if (result == null) { return(null); } var item = result.SingleOrDefault(); if (item != null) { retVal = item.ToPageModel(); } return(retVal); }
public IEnumerable <Models.ContentPage> GetPages(string path, GetPagesCriteria criteria) { var list = new List <Models.ContentPage>(); var retVal = new List <Models.ContentPage>(); var fullPath = GetFullPath(path); if (!Directory.Exists(fullPath)) { Directory.CreateDirectory(fullPath); } var languages = Directory.GetDirectories(fullPath); foreach (var language in languages) { var files = Directory.GetFiles(language, "*.*", SearchOption.AllDirectories); foreach (var file in files) { var addedPage = new Models.ContentPage { Name = FixName(file, language), ModifiedDate = Directory.GetLastWriteTimeUtc(file), Language = GetLanguageFromLanguagePath(language), ByteContent = File.ReadAllBytes(file), ContentType = ContentTypeUtility.GetContentType(Path.GetFileName(file), File.ReadAllBytes(file)), Path = RemoveBaseDirectory(file), Id = RemoveBaseDirectory(file) }; list.Add(addedPage); } } return(list.ToArray()); }
public Models.ContentPage GetPage(string path) { var fullPath = GetFullPath(path); var retVal = new Models.ContentPage(); var result = this._client.Repository.Content.GetContents(this._ownerName, this._repositoryName, fullPath).Result; var item = result.SingleOrDefault(); if (item != null) { retVal = item.ToPageModel(); } return retVal; }
public IEnumerable<Models.ContentPage> GetPages(string path, GetPagesCriteria criteria) { var list = new List<Models.ContentPage>(); var retVal = new List<Models.ContentPage>(); var fullPath = GetFullPath(path); if (!Directory.Exists(fullPath)) { Directory.CreateDirectory(fullPath); } var languages = Directory.GetDirectories(fullPath); foreach (var language in languages) { var files = Directory.GetFiles(language, "*.*", SearchOption.AllDirectories); foreach(var file in files) { var addedPage = new Models.ContentPage { Name = FixName(file, language), ModifiedDate = Directory.GetLastWriteTimeUtc(file), Language = GetLanguageFromLanguagePath(language), ByteContent = File.ReadAllBytes(file), ContentType = ContentTypeUtility.GetContentType(Path.GetFileName(file), File.ReadAllBytes(file)), Path = RemoveBaseDirectory(file), Id = RemoveBaseDirectory(file) }; list.Add(addedPage); } } return list.ToArray(); }
public Models.ContentPage GetPage(string path) { var retVal = new Models.ContentPage(); var fullPath = GetFullPath(path); if (File.Exists(fullPath)) { var itemName = Path.GetFileName(fullPath); var content = File.ReadAllBytes(fullPath); retVal.Name = FixPathName(path); retVal.ModifiedDate = Directory.GetLastWriteTimeUtc(fullPath); retVal.Language = GetLanguageFromFullPath(fullPath); retVal.ByteContent = File.ReadAllBytes(fullPath); retVal.ContentType = ContentTypeUtility.GetContentType(Path.GetFileName(fullPath), File.ReadAllBytes(fullPath)); retVal.Path = RemoveBaseDirectory(fullPath); retVal.Id = RemoveBaseDirectory(fullPath); } else { retVal = null; } return retVal; }
public Models.ContentPage GetPage(string path) { var fullPath = GetFullPath(path); var retVal = new Models.ContentPage(); var result = GetAllContents(fullPath); if (result == null) { return null; } var item = result.SingleOrDefault(); if (item != null) { retVal = item.ToPageModel(); } return retVal; }