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)); }
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); }