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);
        }
Beispiel #2
0
        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);
        }
Beispiel #7
0
        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;
        }