/// <summary> /// GetTheme /// </summary> /// <returns></returns> private async Task <ThemesViewData> GetThemes() { ThemeResultData themeResultData = await WebApiClient.GetAsync <ThemeResultData>(Constant.WebApiControllerRessources, Constant.WebApiThemeList); List <ThemeViewData> themeList = new List <ThemeViewData>(); if (themeResultData == null || !themeResultData.OperationSuccess || themeResultData.ThemeDtoList == null) { return(null); } foreach (var themeDto in themeResultData.ThemeDtoList) { ThemeViewData theme = new ThemeViewData { TranslationsList = new List <ThemeTranslationItemData>(), Theme = themeDto }; theme.TranslationsList = await GetThemeTranslations(themeDto.ThemeId); themeList.Add(theme); } ThemesViewData themeslistdata = new ThemesViewData { Themes = themeList }; return(themeslistdata); }
/// <summary> /// The ressources page. /// </summary> /// <returns></returns> public async Task <ActionResult> Index() { FilterFormData filterFormData = new FilterFormData(); //authors AuthorsViewData authorsViewData = await GetAuthors(); List <SelectListItem> authors = (from author in authorsViewData.Authors where author?.Author != null select new SelectListItem { Text = author.Author.AuthorFirstName + $@" " + author.Author.AuthorLastName, Value = author.Author.AuthorId.ToString() }).ToList(); ViewBag.Authors = authors; //Themes : ThemesViewData themesViewData = await GetThemes(); List <SelectListItem> themes = (from theme in themesViewData.Themes where theme?.Theme != null select new SelectListItem() { Text = theme.TranslationsList.First(t => t.LanguageId == _lang).ThemeName, Value = theme.Theme.ThemeId.ToString(), }).ToList(); ViewBag.Themes = themes; //Areas AreasViewData areasViewData = await GetAreas(); List <SelectListItem> areas = (from area in areasViewData.Areas where area?.Area != null select new SelectListItem { Text = area.TranslationsList.First(t => t.LanguageId == _lang).AreaName, Value = area.Area.AreaId.ToString() }).ToList(); ViewBag.Areas = areas; RessourcesModel ressourcesModel = new RessourcesModel { PublicationsViewData = await GetPublications(), OccurrencesViewData = await GetOccurrences(), PartnersViewData = await GetPartners(), NewsViewDatas = await GetNews(), FilterFormData = filterFormData }; return(View(ressourcesModel)); }
/// <summary> /// Get publicationThemes list. /// </summary> /// <returns>publications view.</returns> public async Task <ThemesViewData> GetPublicationThemes(int publicationId) { ThemesViewData themesViewData = new ThemesViewData { Themes = new List <ThemeViewData>() }; PublicationThemeRequestData findPublicationThemeRequest = new PublicationThemeRequestData { PublicationThemeDto = new PublicationThemeItemData { PublicationId = publicationId }, FindPublicationThemeDto = FindPublicationThemeItemData.PublicationId }; PublicationThemeResultData publicationThemeResultData = await WebApiClient.PostFormJsonAsync <PublicationThemeRequestData, PublicationThemeResultData>( Constant.WebApiControllerRessources, Constant.WebApiFindPublicationThemes, findPublicationThemeRequest); if (!publicationThemeResultData.ThemeTranslationDtoList.Any()) { return(themesViewData); } foreach (var themeTranslationItemData in publicationThemeResultData.ThemeTranslationDtoList.Where(t => t.LanguageId == _lang).ToList()) { ThemeViewData themeViewData = new ThemeViewData { Theme = new ThemeItemData { ThemeId = themeTranslationItemData.Theme.ThemeId }, TranslationsList = new List <ThemeTranslationItemData>() }; themeViewData.TranslationsList.Add(themeTranslationItemData); themesViewData.Themes.Add(themeViewData); } return(themesViewData); }