public ActionResult Para(long siteId, long menuId, string type)
        {
            ViewBag.SiteID    = siteId;
            ViewBag.MenuID    = menuId;
            ViewBag.Type      = type ?? "series";
            ViewBag.UploadUrl = WorkV3.Golbal.UpdFileInfo.GetVPathByMenuID(siteId, menuId);

            IEnumerable <ArticleSeriesModels> series = ArticleSeriesDAO.GetItems(menuId);

            if (series == null)
            {
                series = new List <ArticleSeriesModels>();
            }
            ViewBag.Series = series;

            IEnumerable <ArticleTypesModels> types = ArticleTypesDAO.GetItems(menuId);

            if (types == null)
            {
                types = new List <ArticleTypesModels>();
            }
            ViewBag.Types = types;

            IEnumerable <ArticlePosterModels> posters = ArticlePosterDAO.GetItems(menuId);

            if (posters == null)
            {
                posters = new List <ArticlePosterModels>();
            }
            ViewBag.Posters = posters;

            return(View());
        }
        private void SettingInit(long cardNo, SitePage page)
        {
            ViewBag.CardNo = cardNo;

            IEnumerable <IDValue> listCardMenus = WorkV3.Models.DataAccess.MenusDAO.GetListCards("Article");
            Dictionary <long, IEnumerable <IDValue> > listCardTypes = new Dictionary <long, IEnumerable <IDValue> >();

            foreach (IDValue menu in listCardMenus)
            {
                listCardTypes.Add(menu.ID, ArticleTypesDAO.GetItems(menu.ID).Select(t => new IDValue {
                    ID = t.ID, Value = t.Name
                }));
            }
            ViewBag.ListCardMenus = listCardMenus;
            ViewBag.ListCardTypes = listCardTypes;

            ViewBag.UploadUrl = WorkV3.Golbal.UpdFileInfo.GetVPathByMenuID(page.SiteID, page.MenuID).TrimEnd('/');
            ViewBag.Page      = page;
        }
        public ActionResult Index(CardsModels model, string key, string type, long?typeId, int?index)
        {
            ViewBag.SiteID = model.SiteID;

            long menuId = CardsDAO.GetMenuID(model.No);

            ViewBag.Menu = MenusDAO.GetInfo(model.SiteID, menuId);

            ViewBag.SitePage = CardsDAO.GetPage((long)MenusDAO.GetFirstCardNo(menuId, "Article"));
            SitePage page = CardsDAO.GetPage(model.No);

            ArticleSettingModels setting = ArticleSettingDAO.GetItem(menuId);

            #region 文章列表是否限制會員觀看
            if (setting.ReadMode == 1 && !string.IsNullOrWhiteSpace(setting.ReadModeSet))
            {
                Member curUser      = Member.Current;
                string IdentityName = ""; //限制身分的名稱
                IEnumerable <Areas.Backend.Models.CategoryModels> listReadModeCategorie = Areas.Backend.Models.DataAccess.CategoryDAO.GetItems(IdentityType, setting.ReadModeSet);
                foreach (var readModeList in listReadModeCategorie)
                {
                    IdentityName += readModeList.Title + "、";
                }
                IdentityName         = IdentityName.TrimEnd('、');
                ViewBag.IdentityName = IdentityName;

                if (curUser == null)
                {
                    ViewBag.CheckReadMode = false;
                    ViewBag.IsLogin       = false;
                }
                else
                {
                    bool checkReadMode = ArticleDAO.ListCheckReadMode(curUser.ID, IdentityType, listReadModeCategorie);
                    if (!checkReadMode)
                    {
                        ViewBag.CheckReadMode = false;
                    }
                }
            }
            #endregion

            if (setting.PagingMode == "不分頁")
            {
                setting.PageSize = int.MaxValue;
            }

            IEnumerable <ArticleTypesModels> types = ArticleTypesDAO.GetItems(menuId);
            if (setting.Types != "all")
            {
                IEnumerable <long> allowTypeIds = setting.GetTypes();
                types         = types.Where(t => allowTypeIds.Contains(t.ID));
                setting.Types = string.Join(",", types.Select(t => t.ID));
            }
            ViewBag.Types = types;

            int pageIndex = index ?? 1;

            int totalRecord;
            IEnumerable <ArticleModels> items = ArticleDAO.GetItems(setting, key, type, typeId, pageIndex, out totalRecord);

            ViewBag.ItemTypes = ArticleDAO.GetItemTypes(items.Select(item => item.ID));
            ViewBag.ItemPages = CardsDAO.GetPages(items.Select(item => item.CardNo));

            ViewBag.UploadUrl  = UpdFileInfo.GetVPathByMenuID(model.SiteID, menuId).TrimEnd('/') + "/";
            ViewBag.Pagination = new Pagination {
                PageSize = setting.PageSize, PageIndex = pageIndex, TotalRecord = totalRecord
            };
            ViewBag.Setting = setting;
            ViewBag.Type    = type;

            int style = model.StylesID == 0 ? 1 : model.StylesID;
            // style = 6;
            return(View("ListStyle" + style, items));
        }