public ActionResult Article(string articleAlias)
        {
            InformationPageDTO informationPageDTO = _informationService.GetArticlePage(articleAlias);

            if (informationPageDTO == null)
            {
                return(NotFound());
            }

            IMapper mapper = new MapperConfiguration(cfg => cfg.CreateMap <InformationPageDTO, InformationPageViewModel>()).CreateMapper();
            InformationPageViewModel model = mapper.Map <InformationPageViewModel>(informationPageDTO);

            if (_siteSettings.TryGetValue("BigBannerId", out string bannerIdString))
            {
                if (int.TryParse(bannerIdString, out int singleBannerId))
                {
                    BannerDTO bannerDTO = _bannerService.GetBanner(singleBannerId);

                    IMapper bannerMapper = new MapperConfiguration(cfg =>
                    {
                        cfg.CreateMap <BannerDTO, BannerViewModel>();
                        cfg.CreateMap <ImageDTO, ImageViewModel>();
                    }).CreateMapper();
                    BannerViewModel banner = bannerMapper.Map <BannerViewModel>(bannerDTO);
                    ViewBag.SingleBanner = banner;
                }
            }

            ViewBag.Title = model.Title;

            return(View(model));
        }
Example #2
0
        public InformationPageDTO GetArticlePage(string articleAlias)
        {
            Information information = _dbContext.Informations.Include(i => i.Page).FirstOrDefault(i => i.Page.Alias == articleAlias);

            if (information == null || information.Page == null)
            {
                return(null);
            }

            IMapper mapper = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Information, InformationPageDTO>()
                .ForMember(infDTO => infDTO.Alias, opt => opt.MapFrom(inf => inf.Page.Alias))
                .ForMember(infDTO => infDTO.Description, opt => opt.MapFrom(inf => inf.Page.Description))
                .ForMember(infDTO => infDTO.Title, opt => opt.MapFrom(inf => inf.Page.Title));
            }).CreateMapper();

            InformationPageDTO informationPage = mapper.Map <InformationPageDTO>(information);

            return(informationPage);
        }