Пример #1
0
        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();
            }
        }
Пример #2
0
        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);
                }
            }
        }
Пример #3
0
        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);
        }
Пример #5
0
 public Company GetCompanyByRecordNumber(string recordNumber)
 {
     return(_cache.GetFromCache($"DCDManager:GetCompanyByRecordNumber:{recordNumber}", _timeSpan, () => _reader.GetCompanyByRecordNumber(recordNumber)));
 }