/// <summary> /// Parse a page /// </summary> /// <param name="page">Page to parse</param> /// <returns>A parsed page</returns> private async Task <BusinessModels.Page> ParsePage( DbModels.Page page) { if (String.Equals(page.Type, BusinessModels.PageTypes.ResumeHead)) { return(ParseResumeHeadPage(page)); } else if (String.Equals(page.Type, BusinessModels.PageTypes.ResumeExp)) { return(await ParseResumeExpPage(page)); } else if (String.Equals(page.Type, BusinessModels.PageTypes.Schools)) { return(await ParseSchoolsPage(page)); } else if (String.Equals(page.Type, BusinessModels.PageTypes.ImageWall)) { return(await ParseImageWallPage(page)); } else if (String.Equals(page.Type, BusinessModels.PageTypes.TextBlock)) { return(ParseTextBlockPage(page)); } else if (String.Equals(page.Type, BusinessModels.PageTypes.GitHub)) { return(ParseGitHubPage(page)); } else { return(ParseEmptyPage(page)); } }
/// <summary> /// Parse an empty page /// </summary> /// <param name="page">empty page to parse</param> /// <returns>A parsed, useless page</returns> private static BusinessModels.Page ParseEmptyPage(DbModels.Page page) { return(new BusinessModels.Page() { PageOrigin = page, Id = page.Id, Type = String.Empty, Title = page.Title, Subtitle = page.Subtitle, Background = page.Background, Image = page.Image, Orientation = page.Orientation }); }
/// <summary> /// Parse a Text Block page /// </summary> /// <param name="page">Text Block page to parse</param> /// <returns>A parsed Text Block page</returns> private static BusinessModels.TextBlockPage ParseTextBlockPage( DbModels.Page page) { return(new BusinessModels.TextBlockPage() { PageOrigin = page, Id = page.Id, Type = BusinessModels.PageTypes.TextBlock, Title = page.Title, Subtitle = page.Subtitle, Background = page.Background, Image = page.Image, Orientation = page.Orientation, TextBlockPageOrigin = page.TextBlockExt, TextBlockId = page.TextBlockExt.Id, Text = page.TextBlockExt.Text }); }
/// <summary> /// Parse a Resume GitHub page /// </summary> /// <param name="page">Resume GitHub page to parse</param> /// <returns>A parsed Resume GitHub page</returns> private static BusinessModels.GitHubPage ParseGitHubPage( DbModels.Page page) { return(new BusinessModels.GitHubPage() { PageOrigin = page, Id = page.Id, Type = BusinessModels.PageTypes.GitHub, Title = page.Title, Subtitle = page.Subtitle, Background = page.Background, Image = page.Image, Orientation = page.Orientation, GitHubPageOrigin = page.GitHubPageExt, GitHubId = page.GitHubPageExt.Id, Description = page.GitHubPageExt.Description, GitHub = page.GitHubPageExt.GitHub }); }
/// <summary> /// Parse a Resume Head page /// </summary> /// <param name="page">Resume Head page to parse</param> /// <returns>A parsed Resume Head page</returns> private static BusinessModels.ResumeHeadPage ParseResumeHeadPage( DbModels.Page page) { return(new BusinessModels.ResumeHeadPage() { PageOrigin = page, Id = page.Id, Type = BusinessModels.PageTypes.ResumeHead, Title = page.Title, Subtitle = page.Subtitle, Background = page.Background, Image = page.Image, Orientation = page.Orientation, ResumeHeadPageOrigin = page.ResumeHeadExt, ResumeHeadId = page.ResumeHeadExt.Id, Description = page.ResumeHeadExt.Description, Competencies = page.ResumeHeadExt.Competencies }); }
/// <summary> /// Parse a Schools page /// </summary> /// <param name="page">Schools page to parse</param> /// <returns>A parsed Schools page</returns> private async Task <BusinessModels.SchoolsPage> ParseSchoolsPage(DbModels.Page page) { var retPage = new BusinessModels.SchoolsPage() { PageOrigin = page, Id = page.Id, Type = BusinessModels.PageTypes.ResumeExp, Title = page.Title, Subtitle = page.Subtitle, Background = page.Background, Image = null, Orientation = page.Orientation, SchoolsPageOrigin = page.SchoolsExt, SchoolsId = page.SchoolsExt.Id }; retPage.Schools = await SchoolsService.GetFromPage(retPage); return(retPage); }
/// <summary> /// Parse an Image Wall page /// </summary> /// <param name="page">Image wall page to parse</param> /// <returns>A parsed Image Wall page</returns> private async Task <BusinessModels.ImageWallPage> ParseImageWallPage( DbModels.Page page) { var retPage = new BusinessModels.ImageWallPage() { PageOrigin = page, Id = page.Id, Type = BusinessModels.PageTypes.ImageWall, Title = page.Title, Subtitle = page.Subtitle, Background = page.Background, Image = null, Orientation = page.Orientation, ImageWallPageOrigin = page.ImageWallExt, ImageWallId = page.ImageWallExt.Id, Description = page.ImageWallExt.Description }; retPage.Images = await ImagesService.GetFromPage(retPage); return(retPage); }