Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Sors publications.
        /// </summary>
        /// <returns></returns>
        public async Task <ActionResult> SortPublications(FilterFormData filterFormData)
        {
            PublicationsViewData publicationsViewDataFiltred = new PublicationsViewData {
                Publications = new List <PublicationViewData>()
            };
            PublicationsViewData publicationsViewData = await GetPublications();

            foreach (var publicationViewData in publicationsViewData.Publications)
            {
                //if (publicationViewData.Publication.AuthorId == filterFormData.AuthorId)
                //{
                //    publicationsViewDataFiltred.Publications.Add(publicationViewData);
                //}

                if (publicationViewData.ThemesViewData.Themes.Any(t => t.Theme.ThemeId == filterFormData.ThemeId))
                {
                    publicationsViewDataFiltred.Publications.Add(publicationViewData);
                }
            }
            return(View("_Publication", publicationsViewDataFiltred));
        }