public CompaniesandDealsShareViewModel( ITextTranslator textTranslator, IDCDReader dcdReader, IHttpContextProvider context, I___BasePage glassModel, IAuthenticatedUserContext userContext) { TextTranslator = textTranslator; DCDReader = dcdReader; HttpContextProvider = context; UserContext = userContext; var wildcardValue = UrlUtils.GetLastUrlSement(HttpContextProvider.Current); if (glassModel._TemplateId.Equals(ICompany_PageConstants.TemplateId.Guid)) { var Company = DCDReader.GetCompanyByRecordNumber(wildcardValue); PageTitle = Company.Title; CompanyId = Company.RecordNumber.ToString(); } else if (glassModel._TemplateId.Equals(IDeal_PageConstants.TemplateId.Guid)) { var Deal = DCDReader.GetDealByRecordNumber(wildcardValue); PageTitle = Deal.Title; DealId = Deal.RecordNumber.ToString(); } }
public void Company_Page() { ItemsToDisplay = 4; var recordNumber = HttpContext.Current.Request.Url.Segments.Last(); bool isFound = RedirectIfRecordId(recordNumber); if (isFound) { CompanyRecordNumbers = new List <string> { recordNumber }; var company = DcdReader.GetCompanyByRecordNumber(recordNumber); AnalyticsName = company.Title; if (DisplayTitle) { TitleText = GetTitleText(company.Title); } if (SeeAllLink != null) { SeeAllLink.Url = string.Format("/search#?{0}={1}", Constants.QueryString.Company, company.Title); } } }
public IEnumerable <Link> GetRelatedCompanyLinks(IArticle article) { var companyIds = article?.Referenced_Companies?.Split(',') ?? new string[0]; return(companyIds.Where(id => !string.IsNullOrEmpty(id)).Select(id => _reader.GetCompanyByRecordNumber(id)).Where(c => c != null).Select(c => new Link { Text = c.Title, Url = $"{SiteRootContext.Item?._Url}companies/{c.RecordNumber}" })); }
public IListableViewModel Create(IArticle article) { if (article == null) { return(null); } var image = article.Featured_Image_16_9?.Src; var curPage = PageItemContext.Get <I___BasePage>(); var model = new ArticleListItemModel(); model.DisplayImage = !string.IsNullOrWhiteSpace(image); model.ListableAuthorByLine = ByLineMaker.MakeByline(article.Authors); model.ListableDate = article.Actual_Publish_Date; model.ListableImage = image; model.ListableSummary = ArticleService.GetArticleSummary(article); model.ListableTitle = HttpUtility.HtmlDecode(article.Title); model.ListablePublication = ArticleService.GetArticlePublicationName(article); model.ListableTopics = ArticleService.GetLinkableTaxonomies(article); model.ListableType = ArticleService.GetMediaTypeIconData(article)?.MediaType; model.ListableUrl = new Link { Url = article._Url, Text = article.Title }; model.LinkableText = article.Content_Type?.Item_Name; model.LinkableUrl = article._Url; model.ID = article._Id; model.IsUserAuthenticated = AuthenticatedUserContext.IsAuthenticated; model.IsArticleBookmarked = IsSavedDocumentContext.IsSaved(article._Id); model.BookmarkText = TextTranslator.Translate("Bookmark"); model.BookmarkedText = TextTranslator.Translate("Bookmarked"); model.PageTitle = curPage?.Title; if (curPage._TemplateId.Equals(ICompany_PageConstants.TemplateId.Guid)) { var recordNumber = HttpContext.Current.Request.Url.Segments.Last(); var company = DcdReader.GetCompanyByRecordNumber(recordNumber); model.PageTitle = company.Title; } return(model); }
public Company GetCompanyByRecordNumber(string recordNumber) { return(_cache.GetFromCache($"DCDManager:GetCompanyByRecordNumber:{recordNumber}", _timeSpan, () => _reader.GetCompanyByRecordNumber(recordNumber))); }