Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ctype"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public static string EchoURL(Utils.CMSType ctype, int id)
        {
            string url = "/";

            switch (ctype)
            {
            case Utils.CMSType.ArticleCategory:
                ArticleCategory ac = ArticleCategory.FindById(id);
                url = EchoURL(ac);
                break;

            case Utils.CMSType.ProductCategory:
                Category pc = Category.FindById(id);
                url = EchoURL(pc);
                break;

            case Utils.CMSType.Article:
                Article a = Article.FindById(id);
                url = EchoURL(a);
                break;

            case Utils.CMSType.Product:
                Product p = Product.FindById(id);
                url = EchoURL(p);
                break;

            default:
                url = "/";
                break;
            }

            return(url);
        }
Ejemplo n.º 2
0
        public IActionResult Detail(int id)
        {
            Article entity = Article.Find(Article._.Id == id);

            if (entity == null)
            {
                return(AlertAndGoBack("系统找不到本记录!"));
            }
            if (entity.IsHide == 1 && !Admin.IsAdminLogin())
            {
                return(EchoTip("系统找不到本文章!"));
            }
            ArticleCategory kind = ArticleCategory.FindById(entity.KId);

            if (kind == null)
            {
                return(AlertAndGoBack("系统找不到本文章栏目!"));
            }
            //增加点击
            entity.Hits++;
            entity.Update();
            if (!string.IsNullOrEmpty(entity.LinkURL))
            {
                //return Content(entity.LinkURL);
                return(Redirect(entity.LinkURL));
            }
            ViewBag.kind = kind;
            ViewBag.cfg  = cfg;
            //文章更多图片列表
            if (!string.IsNullOrEmpty(entity.ItemImg))
            {
                string[]      arrimg  = entity.ItemImg.Split(new string[] { "|||" }, StringSplitOptions.None);
                List <string> listimg = new List <string>();
                foreach (string s in arrimg)
                {
                    if (!string.IsNullOrEmpty(s) && Utils.IsImgFilename(s))
                    {
                        listimg.Add(s.Trim());
                    }
                }
                ViewBag.ListImg = listimg;
            }
            string templatesname = "";//模板名称

            if (!string.IsNullOrEmpty(kind.TemplateFile))
            {
                templatesname = kind.DetailTemplateFile;//.Replace(".cshtml", "").Replace(".aspx", "");
                return(View("~/Views/Article/" + templatesname, entity));
            }
            else
            {
                return(View(entity));
            }
        }
Ejemplo n.º 3
0
        public IActionResult Hanzi2Pinyin(string name, int pid = 0, string t = "")
        {
            string pinyin = "/";

            if (t == "articlecategory" && pid > 0)
            {
                ArticleCategory pcategory = ArticleCategory.FindById(pid);
                if (pcategory != null && !string.IsNullOrEmpty(pcategory.FilePath))
                {
                    pinyin = pcategory.FilePath + "/";
                }
            }

            if (!string.IsNullOrEmpty(name))
            {
                pinyin += PinYinHelper.GetPinyin(name).ToLower().Replace(" ", "-");
            }

            tip.Status  = JsonTip.SUCCESS;
            tip.Message = pinyin;
            return(Json(tip));
        }
Ejemplo n.º 4
0
        public object GetArticleCategory(int id, string random = "", string timeStamp = "", string signature = "")
        {
            ArticleCategory entity = ArticleCategory.FindById(id);

            if (entity == null)
            {
                reJson.message = "系统找不到本记录";
                return(reJson);
            }

            //获取下属栏目
            IList <ArticleCategory> listsub = ArticleCategory.FindAll(ArticleCategory._.PId == entity.Id & ArticleCategory._.IsHide == 0, ArticleCategory._.Rank.Asc(), null, 0, 0);

            List <object> reListSubs = new List <object>();

            if (listsub != null && listsub.Count > 0)
            {
                foreach (var item in listsub)
                {
                    reListSubs.Add(new
                    {
                        kindName = item.KindName,
                        id       = item.Id
                    });
                }
            }
            dynamic detail = new
            {
                category = entity,
                sublist  = reListSubs
            };

            reJson.code    = 0;
            reJson.message = "获取成功!";
            reJson.detail  = detail;
            return(reJson);
        }
Ejemplo n.º 5
0
        public IActionResult Index(int id = 0, int page = 1)
        {
            ArticleCategory model = ArticleCategory.FindById(id);

            if (model == null)
            {
                return(AlertAndGoBack("系统找不到本记录"));
            }
            //如果跳转到地址
            if (!string.IsNullOrEmpty(model.LinkURL))
            {
                if (Utils.IsInt(model.LinkURL))//如果是数字,则跳转到详情
                {
                    //return Redirect($"/Article/Detail/{model.LinkURL}");
                    string linkUrl = ViewsHelper.EchoArticleURL(int.Parse(model.LinkURL));
                    return(Redirect(linkUrl));
                }
                else
                {
                    return(Redirect(model.LinkURL));
                }
            }
            if (page < 1)
            {
                page = 1;
            }

            if (model.IsList == 1)
            {
                IList <Article> list = new List <Article>();
                int             numPerPage, currentPage, startRowIndex;
                numPerPage = model.PageSize;
                if (page > 0)
                {
                    currentPage = page;
                }
                else
                {
                    currentPage = 1;
                }

                startRowIndex = (currentPage - 1) * numPerPage;

                var ex = Article._.IsHide != 1 & Article._.IsDel != 1;

                //如果显示下级栏目文章
                if (model.IsShowSubDetail == 1)
                {
                    //获取下级所有栏目
                    List <int> allsubkids = new List <int>();
                    allsubkids.Add(model.Id);

                    IList <ArticleCategory> allkind = ArticleCategory.FindAllSubKinds(model.Id);
                    if (allkind != null && allkind.Count > 0)
                    {
                        foreach (var s in allkind)
                        {
                            allsubkids.Add(s.Id);
                        }
                    }
                    ex &= Article._.KId.In(allsubkids);
                }
                else
                {
                    ex &= Article._.KId == model.Id;
                }
                long totalCount = Article.FindCount(ex, Article._.Sequence.Asc().And(Article._.Id.Desc()), null, startRowIndex, numPerPage);
                int  pageCount  = (int)totalCount / numPerPage;//总页数
                if (totalCount % numPerPage > 0)
                {
                    pageCount += 1;
                }
                list         = Article.FindAll(ex, Article._.Sequence.Asc().And(Article._.Id.Desc()), null, startRowIndex, numPerPage);
                ViewBag.list = list;//列表
                //分页信息
                ViewBag.totalCount = totalCount;
                ViewBag.pageCount  = pageCount;
                ViewBag.page       = page;
                ViewBag.pagesize   = numPerPage;
            }

            ViewBag.cfg = cfg;
            string templatesname = "Index.cshtml";//模板名称

            if (!string.IsNullOrEmpty(model.TemplateFile))
            {
                templatesname = model.TemplateFile;
                //return Content(templatesname);
            }
            return(View("~/Views/Article/" + templatesname, model)); //固定死就是这个
        }