コード例 #1
0
ファイル: ArticleBo.cs プロジェクト: tranquocdat2001/web_vm
        public ArticleModelDetail GetById(int articleId)
        {
            ArticleModelDetail obj = new ArticleModelDetail();

            //ArticleEntity obj = new ArticleEntity();
            try
            {
                obj = Execute(() => GetByIdNoCache(articleId), "ArticleBo:GetById", Const.MediumCacheTime, false, articleId);
            }
            catch (Exception ex)
            {
                Logger.WriteLog(Logger.LogType.Error, ex.ToString());
            }
            return(obj);
        }
コード例 #2
0
        public ActionResult ArticleDetail(int articleId)
        {
            ArticleModelDetail modelDetail = _articleBo.GetById(articleId);

            if (modelDetail != null && modelDetail.ArticleId > 0 && modelDetail.Status == (int)Enums.ArticleStatus.Active)
            {
                #region Redirect Permanent 301

                var    currentUrl  = Request.RawUrl;
                string standardUrl = modelDetail.URL;
                string url301      = standardUrl;

                if (currentUrl.Contains("?utm_source"))
                {
                    string strUtm = currentUrl.Substring(currentUrl.IndexOf("?utm_source"), currentUrl.Length - currentUrl.IndexOf("?utm_source"));
                    url301 = string.Concat(url301, strUtm);
                }
                if (!currentUrl.Equals(url301))
                {
                    return(RedirectPermanent(string.Concat(Const.BaseUrlNoSlash, url301)));
                }

                #endregion

                #region Meta

                string strTitle = modelDetail.Title;
                string seoTitle = !string.IsNullOrEmpty(modelDetail.SEOTitle) ? modelDetail.SEOTitle : modelDetail.Title;
                string seoDesc  = !string.IsNullOrEmpty(modelDetail.SEODescription) ? modelDetail.SEODescription : modelDetail.Description;
                if (string.IsNullOrEmpty(seoDesc) && seoDesc.Length > 160)
                {
                    seoDesc = StringUtils.TrimText(seoDesc, 160);
                }
                string metaTags = SEO.Instance.BindingMeta(standardUrl, seoTitle, StringUtils.RemoveStrHtmlTags(seoDesc));
                ViewBag.MetaTitle    = seoTitle;
                ViewBag.Meta         = metaTags;
                ViewBag.MetaFacebook = SEO.AddMetaFacebook(modelDetail.Title, "article", seoDesc, Const.BaseUrlNoSlash + standardUrl, BuildLink.CropImage(modelDetail.Avatar, Const.FacebookAvatar));

                #endregion

                ViewBag.CateId = modelDetail.CateId;

                return(View(modelDetail));
            }

            Response.StatusCode = 404;
            return(null);
        }
コード例 #3
0
ファイル: ArticleBo.cs プロジェクト: tranquocdat2001/web_vm
        public ArticleModelDetail GetByIdNoCache(int articleId)
        {
            ArticleModelDetail objModel   = new ArticleModelDetail();
            ArticleEntity      objArticle = _articleDal.GetById(articleId);

            if (objArticle != null && objArticle.NewsID > 0)
            {
                //CategoryEntity category = _categoryBo.GetByCateId(objArticle.CategoryID);
                //if (category != null && category.CatalogID > 0)
                //{
                //    objModel = new ArticleModelDetail(objArticle);
                //}
                objModel = new ArticleModelDetail(objArticle);
            }
            return(objModel);
        }