/// <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> /// Get the schools for a particular school wall page /// </summary> /// <param name="page">Page to get the school for (can include just SchoolsId, but must included that)</param> /// <returns>Collection of schools for the specified page</returns> public async Task <ICollection <BusinessModels.School> > GetFromPage(BusinessModels.SchoolsPage page) { ICollection <BusinessModels.School> ret; if (page.SchoolsPageOrigin != null) { Logger.LogInformation($"Getting schools from existing schools page origin"); ret = (from school in page.SchoolsPageOrigin.Schools orderby school.Order select Parse(school)).ToList(); } else { Logger.LogInformation($"Getting schools based on Schools Page Id"); ret = await(from school in DbContext.Schools where school.PageId == page.SchoolsId orderby school.Order select Parse(school)).ToListAsync(); } return(ret); }