コード例 #1
0
        /// <summary>
        /// 根据GUID获得文章详细信息
        /// </summary>
        /// <param name="guid">GUID</param>
        /// <param name="language">语言,主要生成URL用</param>
        /// <returns></returns>
        public static ArticleInfo GetByGUID(string guid, WebLanguage language = WebLanguage.zh_cn)
        {
            var model = ArticleManage.GetByGUID(guid);

            LoadExtensionInfo(model, language);
            return(model);
        }
コード例 #2
0
        /// <summary>
        /// 根据文章URl,获得文章详细信息
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public static ArticleInfo GetByUrl(string url, WebLanguage language = WebLanguage.zh_cn)
        {
            var model = ArticleManage.GetByUrl(url);

            LoadExtensionInfo(model, language);
            return(model);
        }
コード例 #3
0
        /// <summary>
        /// 根据文章ID,获得文章详细信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static ArticleInfo Get(int id, WebLanguage language = WebLanguage.zh_cn)
        {
            var model = ArticleManage.Get(id);

            LoadExtensionInfo(model, language);
            return(model);
        }
コード例 #4
0
ファイル: HomeController.cs プロジェクト: xbf321/MTD
        /// <summary>
        /// 首页
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            WebLanguage lang     = XFrontContext.Current.Language;
            string      viewName = string.Format("Index_{0}", lang.ToString());

            if (lang == WebLanguage.zh_cn)
            {
                //显示启用的以及未删除的
                ViewBag.ProductService = CategoryService.ListByParentId(4).Where(p => (p.IsEnabled == true && p.IsDeleted == false)).ToList();


                ViewBag.CompanyNews = ArticleService.ListWithoutPageV2("新闻中心/公司新闻", 7, lang);

                ViewBag.IndustryNews = ArticleService.ListWithoutPageV2("新闻中心/行业新闻", 7, lang);

                ViewBag.FocusImageList = ArticleService.ListWithoutPageV2("首页设置/焦点图片", 4, lang);

                ViewBag.Business = ArticleService.ListWithoutPageV2("企业业绩", 7, lang);

                ViewBag.NoticeList = NoticeService.List();
            }
            if (lang == WebLanguage.en)
            {
                ViewBag.ProductService = CategoryService.ListByParentId(110).Where(p => (p.IsEnabled == true && p.IsDeleted == false)).ToList();
            }
            return(View(viewName));
        }
コード例 #5
0
        public ActionResult Show()
        {
            /*
             * 总模板页需要以下变量
             * 1,根据Url获得根节点信息,因为左边需要导航信息
             * 2,根据Url获得所属类别,因为右边区域有个副导航
             */
            //Channel格式,必须为/Channel/(\d+).html
            //优先选择这样的格式
            int         categoryId  = 0;
            string      fileName    = Goodspeed.Web.UrlHelper.Current.FileName;
            WebLanguage lang        = XFramework.Site.Home.Models.XFrontContext.Current.Language;
            string      _urlCatName = Regex.Match(fileName, @"(\w+)\.html", RegexOptions.IgnoreCase).Groups[1].Value;

            if (Regex.IsMatch(_urlCatName, @"\d+"))
            {
                //不是别名
                categoryId = Controleng.Common.Utils.StrToInt(_urlCatName, 0);
            }
            else
            {
                //是别名的情况
                categoryId = CategoryService.ListByLanguage(lang).FirstOrDefault(p => p.Alias == _urlCatName).Id;
            }
            //当前节点
            var currentCategoryInfo = CategoryService.Get(categoryId);

            if (currentCategoryInfo.Id == 0 || currentCategoryInfo.IsDeleted == true)
            {
                return(Content("Arguments Error!"));
            }

            return(LoadShowView(currentCategoryInfo, lang));
        }
コード例 #6
0
        /// <summary>
        /// 判断当前类别下名称是否重复
        /// </summary>
        /// <param name="id"></param>
        /// <param name="name"></param>
        /// <param name="parentId"></param>
        /// <returns></returns>
        public static bool ExistsName(int id, string name, int parentId, WebLanguage lang)
        {
            //id == 0 说明添加,反之,编辑
            string strSQL = string.Empty;

            if (id == 0)
            {
                strSQL = "SELECT COUNT(*) FROM Categories WITH(NOLOCK) WHERE ParentId = @ParentId AND Name = @Name AND Language = @Language";
            }
            else
            {
                strSQL = "SELECT COUNT(*) FROM Categories WITH(NOLOCK) WHERE ParentId = @ParentId AND Name = @Name AND ID <> @ID AND Language = @Language";
            }
            SqlParameter[] parms =
            {
                new SqlParameter("@ID",       SqlDbType.Int),
                new SqlParameter("@Name",     SqlDbType.VarChar),
                new SqlParameter("@ParentID", SqlDbType.Int),
                new SqlParameter("@Language", SqlDbType.Int)
            };
            parms[0].Value = id;
            parms[1].Value = name;
            parms[2].Value = parentId;
            parms[3].Value = (int)lang;

            return(Convert.ToInt32(Goodspeed.Library.Data.SQLPlus.ExecuteScalar(CommandType.Text, strSQL, parms)) > 0);
        }
コード例 #7
0
 /// <summary>
 /// 是否存在别名,别名不允许重复
 /// </summary>
 /// <param name="appId"></param>
 /// <param name="cid"></param>
 /// <param name="englishName"></param>
 /// <returns></returns>
 public static bool ExistsAlias(int cid, string englishName, WebLanguage lang)
 {
     if (string.IsNullOrEmpty(englishName))
     {
         return(false);
     }
     return(ArticleCategoryManage.ExistsAlias(cid, englishName, lang));
 }
コード例 #8
0
ファイル: GlobalResources.cs プロジェクト: zgnzl/69zg
        /// <summary>
        /// 语言名称(目录)
        /// </summary>
        private static void Innitcultureinfo()
        {
            WebLanguage lType = WebLanguage.None;
            string      sType = ConfigParam.GetAppSetting("encoding", "GB");

            if (string.IsNullOrEmpty(sType))
            {
                lType = WebLanguage.GB;
            }
            sType = sType.Trim().ToUpper();
            try
            {
                lType = (WebLanguage)Enum.Parse(typeof(WebLanguage), sType);
            }
            catch { }

            switch (lType)
            {
                //case WebLanguage.EN://英
                //    m_weblanguage = WebLanguage.EN;
                //    m_cultureinfo = new System.Globalization.CultureInfo("en-US");
                //    ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-US", typeof(Resources_US).Assembly);
                //    break;
                //case WebLanguage.GER://德
                //    m_weblanguage = WebLanguage.GER;
                //    m_cultureinfo = new System.Globalization.CultureInfo("de-DE");
                //    ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-US", typeof(Resources_US).Assembly);
                //    break;
                //case WebLanguage.FRA://法
                //    m_weblanguage = WebLanguage.FRA;
                //    m_cultureinfo = new System.Globalization.CultureInfo("fr-FR");
                //    ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-US", typeof(Resources_US).Assembly);
                //    break;
                //case WebLanguage.JAN://日
                //    m_weblanguage = WebLanguage.JAN;
                //    m_cultureinfo = new System.Globalization.CultureInfo("ja-JP");
                //    ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-US", typeof(Resources_US).Assembly);
                //    break;
                //case WebLanguage.KOR://朝鲜
                //    m_weblanguage = WebLanguage.KOR;
                //    m_cultureinfo = new System.Globalization.CultureInfo("ko-KR");
                //    ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-US", typeof(Resources_US).Assembly);
                //    break;
                //case WebLanguage.BG://繁体
                //    m_weblanguage = WebLanguage.BG;
                //    m_cultureinfo = new System.Globalization.CultureInfo("zh-TW");
                //    ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources-zh-TW", typeof(Resources_zh_TW).Assembly);
                //    break;
                //default:
                //    m_weblanguage = WebLanguage.GB;
                //    m_cultureinfo = new System.Globalization.CultureInfo("zh-Cn");
                //    ResourceManager = new System.Resources.ResourceManager("KNet.Web.Helper.Properties.Resources", typeof(Resources).Assembly);
                //    break;
            }
            ResourceManager.IgnoreCase = true;
        }
コード例 #9
0
        public static IPageOfList <ArticleInfo> List(SearchSetting setting, WebLanguage language = WebLanguage.zh_cn)
        {
            var list = ArticleManage.List(setting);

            foreach (var item in list)
            {
                LoadExtensionInfo(item, language);
            }
            return(list);
        }
コード例 #10
0
        /// <summary>
        /// 获得某语言下的全部分类,包含删除的和未启用的
        /// </summary>
        /// <param name="lang"></param>
        /// <returns></returns>
        public static IList <CategoryInfo> ListByLanguage(WebLanguage lang)
        {
            var list = ArticleCategoryManage.ListByLanguage(lang);

            foreach (var item in list)
            {
                LoadExtionsion(item);
            }
            return(list);
        }
コード例 #11
0
 /// <summary>
 /// 添加扩展信息,主要生成文章URL
 /// </summary>
 /// <param name="model"></param>
 /// <param name="language"></param>
 private static void LoadExtensionInfo(ArticleInfo model, WebLanguage language = WebLanguage.zh_cn)
 {
     if (!string.IsNullOrEmpty(model.LinkUrl))
     {
         model.Url = model.LinkUrl;
     }
     else
     {
         model.Url = string.Format("{2}/{0}/{1}.html", "n", model.GUID.ToString().ToLower(), language == WebLanguage.zh_cn ? string.Empty : "/" + language.ToString());
     }
 }
コード例 #12
0
ファイル: HomeController.cs プロジェクト: xbf321/MTD
        public ActionResult RenderHeaderMenu(WebLanguage Language = WebLanguage.zh_cn)
        {
            StringBuilder sb = new StringBuilder();
            //只显示启用的和未删除的一级分类
            var menuList = CategoryService.ListByLanguage(Language).Where(m => (m.ParentId == 0 && m.IsDeleted == false && m.IsEnabled == true));

            foreach (var item in menuList)
            {
                sb.AppendFormat("<li id=\"{0}\"><a href=\"{2}\" title=\"{1}\">{1}</a></li>", item.Id, item.Name, item.Url);
            }
            return(Content(sb.ToString()));
        }
コード例 #13
0
 public static void LoadExtensionInfo(ArticleInfo model, WebLanguage language = WebLanguage.zh_cn)
 {
     //
     if (!string.IsNullOrEmpty(model.LinkUrl))
     {
         model.Url = model.LinkUrl;
     }
     else
     {
         model.Url = string.Format("{2}/{0}/{1}.html", model.CreateDateTime.ToString("yyyy-MM-dd"), model.Timespan, language == WebLanguage.zh_cn ? string.Empty : "/" + language.ToString());
     }
 }
コード例 #14
0
        private ActionResult LoadShowView(CategoryInfo currentCatInfo, WebLanguage lang)
        {
            CategoryInfo rootCatInfo = currentCatInfo;

            //获取当前节点的顶级父节点
            //可以是未启用的,因为有的列表就是页面顶部导航不显示,但是左边需要显示
            //不显示已删除的
            var _rootCatInfo = CategoryService.ListUpById(currentCatInfo.Id, lang).Where(p => p.IsDeleted == false).FirstOrDefault();

            if (_rootCatInfo != null)
            {
                rootCatInfo = _rootCatInfo;
            }
            //是否显示子分类的首节点
            //如果是,当前节点更改为子节点
            //只显示启用的以及未删除的
            if (currentCatInfo.IsShowFirstChildNode)
            {
                var firstChildNode = CategoryService.ListByParentId(currentCatInfo.Id).Where(p => (p.IsDeleted == false && p.IsEnabled == true)).FirstOrDefault();
                if (firstChildNode != null)
                {
                    currentCatInfo = firstChildNode;
                }
            }
            //如果根节点是未启用状态并且还不是显示第一个子分类
            //说明这个根节点对外是不可访问的
            //如果是显示第一个子节点
            //说明对外根分类是不对外,但是子节点对外,可以在导航上不出现根分类,但是可以访问这个跟分类中的子分类
            if (currentCatInfo.ParentId == 0 && currentCatInfo.IsEnabled == false)
            {
                //
                return(Content("Arguments Error!"));
            }

            //模板类型
            switch (currentCatInfo.TemplateType)
            {
            case (int)TemplateType.ArticleList:
                int pageIndex = CECRequest.GetQueryInt("page", 1);
                int pageSize  = 15;
                ViewBag.ArticleList = ArticleService.List(new SearchSetting {
                    PageSize   = pageSize,
                    PageIndex  = pageIndex,
                    CategoryId = currentCatInfo.Id,
                    Language   = lang
                });
                break;
            }
            ViewBag.RootCategoryInfo    = rootCatInfo;
            ViewBag.CurrentCategoryInfo = currentCatInfo;
            return(View());
        }
コード例 #15
0
        public static bool ExistsAlias(int cid, string alias, WebLanguage lang)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(" SELECT COUNT(*) FROM Categories WITH(NOLOCK)");
            sb.AppendFormat("   WHERE Language = {0}   ", (int)lang);
            sb.AppendFormat("   AND Alias = '{0}'    ", alias);
            if (cid != 0)
            {
                sb.AppendFormat("   AND Id <> {0}   ", cid);
            }
            return(Convert.ToInt32(Goodspeed.Library.Data.SQLPlus.ExecuteScalar(CommandType.Text, sb.ToString())) > 0);
        }
コード例 #16
0
        /// <summary>
        /// 根据此ID获得所有祖先,正序排列,包括此节点,包含未启用的
        /// </summary>
        /// <param name="id"></param>
        /// <param name="lang">首先根据语言缩小查找范围</param>
        /// <returns></returns>
        public static IList <CategoryInfo> ListUpById(int id, WebLanguage lang)
        {
            IList <CategoryInfo> upList = new List <CategoryInfo>();
            //向上遍历则包含删除的和未启用的
            var listAll = ListByLanguage(lang);

            BuildListUpByParentId(listAll, id, ref upList);
            upList = upList.Reverse().ToList();
            foreach (var item in upList)
            {
                LoadExtionsion(item);
            }
            return(upList);
        }
コード例 #17
0
        /// <summary>
        /// 根据语言获得所有分类
        /// </summary>
        /// <param name="appId"></param>
        /// <returns></returns>
        public static IList <CategoryInfo> ListByLanguage(WebLanguage lang)
        {
            string       strSQL = string.Format("SELECT * FROM Categories WITH(NOLOCK) WHERE Language = {0} ORDER BY Sort", (int)lang);
            var          list   = new List <CategoryInfo>();
            CategoryInfo model  = null;
            DataTable    dt     = Goodspeed.Library.Data.SQLPlus.ExecuteDataTable(CommandType.Text, strSQL);

            if (dt != null && dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    model = Get(dr);
                    list.Add(model);
                }
            }
            return(list);
        }
コード例 #18
0
        /// <summary>
        /// 根据此ID获得所有孩子节点,包括此节点
        /// </summary>
        /// <param name="id"></param>
        /// <param name="lang">首先根据语言缩小查找范围</param>
        /// <returns></returns>
        public static IList <CategoryInfo> ListDownById(int id, WebLanguage lang)
        {
            IList <CategoryInfo> downList = new List <CategoryInfo>();

            //向下遍历则去掉删除的和未启用的
            var listAll = ListByLanguage(lang).Where(p => (!p.IsDeleted && p.IsEnabled));

            //添加此节点本身
            downList.Add(listAll.Where(p => p.Id == id).FirstOrDefault());

            BuildListDownByParentId(listAll, id, ref downList);
            foreach (var item in downList)
            {
                LoadExtionsion(item);
            }
            return(downList);
        }
コード例 #19
0
ファイル: LanguageResourceHelper.cs プロジェクト: xbf321/MTD
        /// <summary>
        /// 根据指定语言获得此语言文本
        /// </summary>
        /// <param name="key"></param>
        /// <param name="language"></param>
        /// <returns></returns>
        public static string GetString(string key, WebLanguage language)
        {
            string   path  = string.Format("Language/{0}.xml", language);
            XElement items = XElement.Load(String.Concat(System.AppDomain.CurrentDomain.BaseDirectory, path));
            var      list  = items.Elements("item");
            string   value = string.Empty;

            foreach (var item in list)
            {
                string _key   = (string)item.Attribute("key");
                string _value = item.Value;
                if (key.ToLower() == _key.ToLower())
                {
                    value = _value;
                    break;
                }
            }
            return(value);
        }
コード例 #20
0
ファイル: ArticleController.cs プロジェクト: xbf321/MTD
        public ActionResult Show()
        {
            WebLanguage lang = XFramework.Site.Home.Models.XFrontContext.Current.Language;

            /*
             * 总模板页需要以下变量
             * 1,根据Url获得根节点信息,因为左边需要导航信息
             * 2,根据Url获得所属类别,因为右边区域有个副导航
             */
            string fileName = Goodspeed.Web.UrlHelper.Current.FileName;

            string guid        = Regex.Match(fileName, @"([a-z0-9-]+)\.html", RegexOptions.IgnoreCase).Groups[1].Value;
            var    articleInfo = ArticleService.GetByGUID(guid, lang);

            if (articleInfo.Id > 0)
            {
                //获取此文章所属类别ID,用于左边导航列表
                var currentCategoryInfo = CategoryService.Get(articleInfo.CategoryId);
                if (currentCategoryInfo.IsEnabled == false && currentCategoryInfo.IsDeleted == true)
                {
                    //说明此分类设置为未启用或者分类已删除
                    return(Content("此文章的分类已删除或设置为未启用!"));
                }
                //获得根类别,用于左边导航列表
                //在这里顶级类别可以是已删除或未启用的状态
                //具体判断在显示左边导航列表的时候执行
                var rootCategoryInfo = CategoryService.ListUpById(currentCategoryInfo.Id, lang).FirstOrDefault();
                ViewBag.RootCategoryInfo    = rootCategoryInfo;
                ViewBag.CurrentCategoryInfo = currentCategoryInfo;
                //设置页面标题
                ViewBag.Title    = articleInfo.Title;
                ViewBag.Keywords = articleInfo.Tags;
                //ViewBag.Description = Goodspeed.Common.CharHelper.Truncate(Controleng.Common.Utils.RemoveHtml(articleInfo.Content), 60);
            }
            return(View(articleInfo));
        }
コード例 #21
0
        public ActionResult Add(WebLanguage input)
        {
            #region create new data
            var newLanguage = new WebLanguage {
                Name = input.Name
            };
            //menu
            foreach (var level1 in _context.Get <WebMenu>(d => d.LanguageId == 1 && d.ParentId == null).ToList())
            {
                var Newlevel1 = new WebMenu()
                {
                    Name = level1.Name, Content = level1.Content, Link = level1.Link, Order = level1.Order
                };
                foreach (var level2 in _context.Get <WebMenu>(d => d.LanguageId == 1 && d.ParentId == level1.Id).ToList())
                {
                    var Newlevel2 = new WebMenu()
                    {
                        Name = level2.Name, Content = level2.Content, Link = level2.Link, Order = level2.Order
                    };
                    foreach (var level3 in _context.Get <WebMenu>(d => d.LanguageId == 1 && d.ParentId == level2.Id).ToList())
                    {
                        Newlevel2.WebMenuChildren.Add(new WebMenu()
                        {
                            Name = level3.Name, Content = level3.Content, Link = level3.Link, Order = level3.Order
                        });
                    }
                    Newlevel1.WebMenuChildren.Add(Newlevel2);
                }
                newLanguage.WebMenus.Add(Newlevel1);
            }
            //college
            var college = _context.FindDetail <College>(1);
            _context.EntityCloneNew(college);
            newLanguage.College = college;

            //carousel
            foreach (var item in _context.Get <WebCarousel>(d => d.LanguageId == 1).ToList())
            {
                _context.EntityCloneNew(item);
                newLanguage.WebCarousels.Add(item);
            }
            //newsType
            foreach (var item in _context.Get <WebNewsType>(d => d.LanguageId == 1).Include(d => d.WebNews).ToList())
            {
                _context.EntityCloneNew(item);
                foreach (var news in item.WebNews)
                {
                    _context.EntityCloneNew(news);
                }
                newLanguage.WebNewsTypes.Add(item);
            }
            //events
            foreach (var item in _context.Get <WebEvent>(d => d.LanguageId == 1).ToList())
            {
                _context.EntityCloneNew(item);
                newLanguage.WebEvents.Add(item);
            }
            //JobType
            foreach (var item in _context.Get <WebJobType>(d => d.LanguageId == 1).ToList())
            {
                _context.EntityCloneNew(item);
                newLanguage.WebJobTypes.Add(item);
            }
            //Departments
            foreach (var item in _context.Get <WebDepartment>(d => d.LanguageId == 1).Include(d => d.WebStaff).Include(d => d.WebStories).Include(d => d.WebStudents).ToList())
            {
                _context.EntityCloneNew(item);
                foreach (var staff in item.WebStaff)
                {
                    _context.EntityCloneNew(staff);
                }
                foreach (var story in item.WebStories)
                {
                    _context.EntityCloneNew(story);
                }
                foreach (var student in item.WebStudents)
                {
                    _context.EntityCloneNew(student);
                }
                newLanguage.WebDepartment.Add(item);
            }
            //userful link
            foreach (var item in _context.Get <WebUsefulLink>(d => d.LanguageId == 1).ToList())
            {
                _context.EntityCloneNew(item);
                newLanguage.WebUsefulLinks.Add(item);
            }
            _context.AddOneEntity(newLanguage);
            #endregion
            #region update languageId
            //newsType
            var languageId = newLanguage.Id;
            foreach (var item in _context.Get <WebNewsType>(d => d.LanguageId == languageId).Include(d => d.WebNews).ToList())
            {
                foreach (var news in item.WebNews)
                {
                    news.LanguageId = languageId;
                }
            }
            //Departments
            foreach (var item in _context.Get <WebDepartment>(d => d.LanguageId == languageId).Include(d => d.WebStaff).Include(d => d.WebStories).Include(d => d.WebStudents).ToList())
            {
                foreach (var staff in item.WebStaff)
                {
                    staff.LanguageId = languageId;
                }
                foreach (var story in item.WebStories)
                {
                    story.LanguageId = languageId;
                }
                //foreach (var student in item.WebStudents)
                //{

                //}
            }
            _context.SaveChange();
            #endregion
            return(RedirectToAction <WebLanguageController>(d => d.Index()));
        }
コード例 #22
0
ファイル: CategoryController.cs プロジェクト: xbf321/MTD
        public ActionResult Add(FormCollection fc, CategoryInfo modelInfo)
        {
            //判断是否选择中文
            //如果选择中文,则是根目录,否则为子类别
            bool isAdd  = modelInfo.Id == 0 ? true : false;
            bool errors = false;
            int  catId  = Controleng.Common.Utils.StrToInt(fc["ddlCat"], 0);

            if (catId == 0)
            {
                errors = true;
                ModelState.AddModelError("CAT", "请选择类别");
            }
            if (string.IsNullOrEmpty(modelInfo.Name))
            {
                errors = true;
                ModelState.AddModelError("NAME", "请输入类别名称");
            }
            //if(CategoryService.ExistsAlias(modelInfo.Id,modelInfo.Alias,)){}
            if (catId == (int)WebLanguage.en || catId == (int)WebLanguage.zh_cn)
            {
                WebLanguage lang = (WebLanguage)Enum.Parse(typeof(WebLanguage), catId.ToString());
                //说明选择的是“中文”或“英文”,添加或编辑的是跟类别
                if (CategoryService.ExistsAlias(modelInfo.Id, modelInfo.Alias, lang))
                {
                    errors = true;
                    ModelState.AddModelError("ALIAS", "别名已存在,请选择其他别名");
                }
                if (CategoryService.ExistsName(modelInfo.Id, modelInfo.Name, 0, lang))
                {
                    errors = true;
                    ModelState.AddModelError("NAME", "分类名称不能重复");
                }
            }
            else
            {
                //说明添加的是子类别
                if (catId > 0)
                {
                    var parentModelInfo = CategoryService.Get(catId);
                    if (CategoryService.ExistsAlias(modelInfo.Id, modelInfo.Alias, parentModelInfo.Language))
                    {
                        ModelState.AddModelError("ALIAS", "别名已存在,请选择其他别名");
                    }
                    if (CategoryService.ExistsName(modelInfo.Id, modelInfo.Name, parentModelInfo.Id, parentModelInfo.Language))
                    {
                        errors = true;
                        ModelState.AddModelError("NAME", "分类名称不能重复");
                    }
                }
            }
            if (isAdd)
            {
                //if(modelInfo.Alias.IndexOf("en")>0){
                //    errors = true;
                //    ModelState.AddModelError("ALIAS_EN","别名不能包含“en”");
                //}
            }
            if (!errors && ModelState.IsValid)
            {
                //modelInfo.TemplateType = Controleng.Common.Utils.StrToInt(fc["ddlTemplates"], 0);

                //在这没判断别名是否重复,暂时没做


                if (catId == (int)WebLanguage.en || catId == (int)WebLanguage.zh_cn)
                {
                    //说明添加的跟类别
                    modelInfo.Language     = (WebLanguage)Enum.Parse(typeof(WebLanguage), catId.ToString());
                    modelInfo.ParentId     = 0;
                    modelInfo.ParentIdList = "0";
                    CategoryService.Create(modelInfo);
                }
                else
                {
                    //说明是子类别,要获取上一类别的语言
                    if (catId > 0)
                    {
                        var parentModelInfo = CategoryService.Get(catId);
                        modelInfo.ParentId     = catId;
                        modelInfo.ParentIdList = string.Format("{0},{1}", parentModelInfo.ParentIdList, modelInfo.ParentId);
                        modelInfo.Language     = parentModelInfo.Language;
                        CategoryService.Create(modelInfo);
                    }
                }
                if (isAdd)
                {
                    ViewBag.Msg = "添加成功!是否继续添加?<a href=\"Add\">【是】</a>&nbsp;&nbsp;<a href=\"List?lang=-1\">【否】</a>";
                }
                else
                {
                    ViewBag.Msg = "更新成功!<a href=\"List?lang=-1\">返回</a>";
                }
            }

            return(View(modelInfo));
        }
コード例 #23
0
        public ActionResult RenderSubNavForChannelPage(int catId, string customTitle = "", WebLanguage language = WebLanguage.zh_cn)
        {
            /*
             * <span class="fgray">您所在的位置:</span><a href="#">首页</a> &gt; <a href="http://www.mtd.com.cn/about.htm">
             *  关于机科</a> &gt; 公司简介
             */
            StringBuilder sbNav = new StringBuilder(string.Format("<span class=\"fgray\">{2}:</span><a href=\"/{1}\">{0}</a>",
                                                                  LanguageResourceHelper.GetString("channel-sub-nav-home-text", language),
                                                                  (language == WebLanguage.zh_cn ? string.Empty : language.ToString()),
                                                                  LanguageResourceHelper.GetString("current-text", language))
                                                    );

            if (catId > 0)
            {
                //可以显示未启用的分类,但是不能显示已删除的分类
                var upList = CategoryService.ListUpById(catId, language).Where(p => p.IsDeleted == false);

                foreach (var item in upList)
                {
                    sbNav.AppendFormat("&nbsp;&nbsp;>&nbsp;&nbsp;<a href=\"{1}\" title=\"{0}\">{0}</a>", item.Name, item.Url);
                }
            }
            if (!string.IsNullOrEmpty(customTitle))
            {
                sbNav.AppendFormat("&nbsp;&nbsp;>&nbsp;&nbsp;{0}", customTitle);
            }

            return(Content(sbNav.ToString()));
        }
コード例 #24
0
        /// <summary>
        /// 根据文章ID,获得相关文章
        /// </summary>
        /// <param name="siteId">所属站点</param>
        /// <param name="article">所属文章</param>
        /// <param name="topCount"></param>
        /// <returns></returns>
        public static IList <ArticleInfo> GetRelatedByArticleId(int siteId, int articleId, int topCount, WebLanguage language = WebLanguage.zh_cn)
        {
            var list = ArticleManage.GetRelatedByArticleId(siteId, articleId, topCount);

            foreach (var item in list)
            {
                LoadExtensionInfo(item, language);
            }
            return(list);
        }
コード例 #25
0
        public ActionResult SubCategoryListForChannelPage(int rootId, int selectedId, WebLanguage language = WebLanguage.zh_cn)
        {
            if (rootId == 0)
            {
                //在当前页面不会列出此站点的所有类别的
                return(Content(string.Empty));
            }
            StringBuilder sbHtml = new StringBuilder();
            //显示启用的以及未删除的所有分类
            var catAllList = CategoryService.ListByLanguage(language).Where(p => (p.IsEnabled == true && p.IsDeleted == false));
            //二级分类
            var subList = catAllList.Where(p => p.ParentId == rootId);

            foreach (var item in subList)
            {
                bool isH3Selected = item.Id == selectedId;
                sbHtml.AppendFormat("<h3{1}><a href=\"{2}\" title=\"{0}\" id=\"{3}\">{0}</a></h3>", item.Name, isH3Selected ? " class=\"on\"" : string.Empty, item.Url, item.Id);

                //三级分类
                var threeList = catAllList.Where(p => p.ParentId == item.Id);
                //是否有三级分类
                var threeListCount = threeList.Count();
                if (threeListCount > 0)
                {
                    //有三级分类,则输出
                    bool isSubUlShow = isH3Selected ? true : threeList.Where(p => p.Id == selectedId).Count() > 0;
                    sbHtml.AppendFormat("<ul class=\"about_list2sort\" style=\"display:{1};\" id=\"sub_cat_{0}\">", item.Id, isSubUlShow ? "block" : "none");
                    foreach (var sub in threeList)
                    {
                        sbHtml.AppendFormat("<li{1}><a href=\"{2}\" title=\"{0}\">{0}</a></li>", sub.Name, sub.Id == selectedId ? " class=\"on\"" : string.Empty, sub.Url);
                    }
                    sbHtml.Append("</ul>");
                }
            }
            return(Content(sbHtml.ToString()));
        }
コード例 #26
0
ファイル: CategoryService.cs プロジェクト: xbf321/Elco
        /// <summary>
        /// 根据父ID获取此ID下一级栏目,只显示一级子分类,包含删除的和未启用的
        /// </summary>
        /// <param name="parentId"></param>
        /// <returns></returns>
        public static IList<CategoryInfo> ListByParentId(int parentId,bool showEnabled = false,bool showDeleted = true,WebLanguage language = WebLanguage.zh_cn) {
            var _list = CategoryManage.ListByParentId(parentId).AsEnumerable();
            if(showEnabled){
                _list = _list.Where(p => p.IsEnabled == true);
            }
            
            if(!showDeleted){
                _list = _list.Where(p=>p.IsDeleted == false);
            }

            foreach (var item in _list)
            {
                LoadExtionsion(item);
            }
            return _list.ToList();
        }
コード例 #27
0
 /// <summary>
 ///分类名是否存在,在同一语言下
 /// </summary>
 /// <param name="id"></param>
 /// <param name="name"></param>
 /// <param name="parentId"></param>
 /// <param name="lang"></param>
 /// <returns></returns>
 public static bool ExistsName(int id, string name, int parentId, WebLanguage lang)
 {
     return(ArticleCategoryManage.ExistsName(id, name, parentId, lang));
 }
コード例 #28
0
        public static string BuildListForAdminWithEdit(IEnumerable <CategoryInfo> list, int parentId, WebLanguage lang)
        {
            var pList = list.Where(nc => nc.ParentId == parentId);

            if (pList.Count() == 0)
            {
                return(string.Empty);
            }
            var sb = new StringBuilder();

            sb.AppendFormat("<ul {0}>", parentId == 0 ? "class=\"treeview-black treeview\"" : string.Empty);
            foreach (var item in pList)
            {
                sb.Append("<li>");
                sb.AppendFormat("{0}", item.Name);
                sb.AppendFormat("({0}-{1}-{2})", item.Id, item.Alias, (TemplateType)Enum.Parse(typeof(TemplateType), item.TemplateType.ToString(), true));
                //sb.AppendFormat("<a id=\"{1}\" title=\"{0}\">{0}({2})</a>", item.Name, item.Id, item.Alias);
                //显示是调用的那个模板
                //sb.AppendFormat("&nbsp;&nbsp;({0})",(TemplateType)Enum.Parse(typeof(TemplateType),item.TemplateType.ToString(),true));
                if (!item.IsEnabled)
                {
                    sb.Append("&nbsp;&nbsp;<font color=\"red\">未启用</font>");
                }
                if (item.IsDeleted)
                {
                    sb.Append("&nbsp;&nbsp;<font color=\"red\">已删除</font>");
                }
                sb.AppendFormat("&nbsp;&nbsp;<a href=\"Add?id={0}\">编辑</a>", item.Id);
                //sb.AppendFormat("&nbsp;&nbsp;<a href=\"javascript:void(0);\" onclick=\"deleteCategory({0},{1})\">删除</a>",item.Id,item.SiteId);
                //递归
                sb.Append(BuildListForAdminWithEdit(list, item.Id, lang));
                sb.AppendLine("</li>");
            }
            sb.Append("</ul>");
            return(sb.ToString());
        }
コード例 #29
0
        public static string RenderTreeViewForAdminWithEdit(WebLanguage lang)
        {
            var list = ListByLanguage(lang); //后台显示所有的,包含删除的和未启用的

            return(BuildListForAdminWithEdit(list, 0, lang));
        }
コード例 #30
0
        /// <summary>
        /// 根据类别名获取文章
        /// </summary>
        /// <param name="siteId"></param>
        /// <param name="categoryNames">格式:【首页设置/焦点图片】或【首页设置】</param>
        /// <param name="topCount"></param>
        /// <param name="topOneImage">第一条是否是图片,默认False</param>
        /// <returns></returns>
        public static IList <ArticleInfo> ListWithoutPageV2(int siteId, string categoryNames, int topCount, bool topOneImage, WebLanguage language = WebLanguage.zh_cn)
        {
            List <string> _categoryNames      = categoryNames.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            Func <List <string>, int, int> fb = null;
            var categoryList = CategoryService.ListBySiteId(siteId, true);

            fb = (n, pid) => {
                string _name = n[0];
                var    _item = categoryList.Where(p => p.Name == _name && p.ParentId == pid).FirstOrDefault();
                if (_item == null || _item.Id == 0)
                {
                    return(0);
                }
                n.Remove(_name);
                if (n.Count == 0)
                {
                    return(_item.Id);
                }
                return(fb(n, _item.Id));
            };

            int cid = fb(_categoryNames, 0);

            return(ListWithoutPage(siteId, cid, topCount, topOneImage, language));
        }
コード例 #31
0
 /// <summary>
 /// 根据类别ID获取TOP几条,没有分页
 /// </summary>
 /// <param name="siteId"></param>
 /// <param name="categoryId"></param>
 /// <param name="topCount"></param>
 /// <returns></returns>
 public static IList <ArticleInfo> ListWithoutPage(int siteId, int categoryId, int topCount, WebLanguage language = WebLanguage.zh_cn)
 {
     return(ListWithoutPage(siteId, categoryId, topCount, false, language));
 }