private async Task <NewsItemListModel.NewsItemModel> PrepareNewsItemModel(NewsItem newsItem) { var model = new NewsItemListModel.NewsItemModel(); model.Id = newsItem.Id; model.SeName = newsItem.GetSeName(_workContext.WorkingLanguage.Id); model.Title = newsItem.GetLocalized(x => x.Title, _workContext.WorkingLanguage.Id); model.Short = newsItem.GetLocalized(x => x.Short, _workContext.WorkingLanguage.Id); model.Full = newsItem.GetLocalized(x => x.Full, _workContext.WorkingLanguage.Id); model.CreatedOn = _dateTimeHelper.ConvertToUserTime(newsItem.StartDateUtc ?? newsItem.CreatedOnUtc, DateTimeKind.Utc); //prepare picture model if (!string.IsNullOrEmpty(newsItem.PictureId)) { int pictureSize = _mediaSettings.NewsListThumbPictureSize; var categoryPictureCacheKey = string.Format(ModelCacheEventConst.NEWS_PICTURE_MODEL_KEY, newsItem.Id, pictureSize, true, _workContext.WorkingLanguage.Id, _webHelper.GetMachineName(), _storeContext.CurrentStore.Id); model.PictureModel = await _cacheManager.GetAsync(categoryPictureCacheKey, async() => { var pictureModel = new PictureModel { Id = newsItem.PictureId, FullSizeImageUrl = await _pictureService.GetPictureUrl(newsItem.PictureId), ImageUrl = await _pictureService.GetPictureUrl(newsItem.PictureId, pictureSize), Title = string.Format(_localizationService.GetResource("Media.News.ImageLinkTitleFormat"), newsItem.Title), AlternateText = string.Format(_localizationService.GetResource("Media.News.ImageAlternateTextFormat"), newsItem.Title) }; return(pictureModel); }); } return(model); }
private async Task <NewsItemListModel.NewsItemModel> PrepareNewsItemModel(NewsItem newsItem) { var model = new NewsItemListModel.NewsItemModel(); model.Id = newsItem.Id; model.SeName = newsItem.GetSeName(_workContext.WorkingLanguage.Id); model.Title = newsItem.GetTranslation(x => x.Title, _workContext.WorkingLanguage.Id); model.Short = newsItem.GetTranslation(x => x.Short, _workContext.WorkingLanguage.Id); model.Full = newsItem.GetTranslation(x => x.Full, _workContext.WorkingLanguage.Id); model.CreatedOn = _dateTimeService.ConvertToUserTime(newsItem.StartDateUtc ?? newsItem.CreatedOnUtc, DateTimeKind.Utc); //prepare picture model if (!string.IsNullOrEmpty(newsItem.PictureId)) { var pictureSize = _mediaSettings.NewsListThumbPictureSize; model.PictureModel = new PictureModel { Id = newsItem.PictureId, FullSizeImageUrl = await _pictureService.GetPictureUrl(newsItem.PictureId), ImageUrl = await _pictureService.GetPictureUrl(newsItem.PictureId, pictureSize), Title = string.Format(_translationService.GetResource("Media.News.ImageLinkTitleFormat"), newsItem.Title), AlternateText = string.Format(_translationService.GetResource("Media.News.ImageAlternateTextFormat"), newsItem.Title) }; } return(model); }