コード例 #1
0
ファイル: FormController.cs プロジェクト: jim-deng-git/Ask
        public ActionResult Edit(long siteId, CardsModels model, Captcha captcha)
        {
            SitePage  curPage = CardsDAO.GetPage(model.No);
            FormModel item    = FormDAO.GetItemFromSourceID(curPage.MenuID);

            if (item.HasCaptcha)
            {
                if (captcha == null || !captcha.Validate())
                {
                    return(new HttpStatusCodeResult(System.Net.HttpStatusCode.NonAuthoritativeInformation, "驗證碼錯誤"));
                }
            }

            FormItem formItem = FormItemSave(item);

            SendEmail(curPage.SiteID, item, formItem);

            ViewBag.CurPage         = curPage;
            ViewBag.FormItem        = formItem;
            ViewBag.UploadDesignUrl = Golbal.UpdFileInfo.GetVPathBySiteID(curPage.SiteID, formDesignFileDir).TrimEnd('/') + "/";
            ViewBag.UploadUrl       = Golbal.UpdFileInfo.GetVPathByMenuID(curPage.SiteID, curPage.MenuID);
            ViewBag.Int64Convert    = new Golbal.Int64Converter();

            ViewBag.Exit = true;

            return(View(item));
        }
コード例 #2
0
ファイル: FormController.cs プロジェクト: jim-deng-git/Ask
        public ActionResult Edit(CardsModels model)
        {
            SitePage curPage = CardsDAO.GetPage(model.No);

            ViewBag.CurPage = curPage;

            FormModel item = FormDAO.GetItemFromSourceID(curPage.MenuID);

            ViewBag.UploadDesignUrl = Golbal.UpdFileInfo.GetVPathBySiteID(curPage.SiteID, formDesignFileDir).TrimEnd('/') + "/";
            ViewBag.UploadUrl       = Golbal.UpdFileInfo.GetVPathByMenuID(curPage.SiteID, curPage.MenuID);
            ViewBag.Int64Convert    = new Golbal.Int64Converter();
            return(View(item));
        }
コード例 #3
0
        public ActionResult Setting(long cardNo)
        {
            SitePage page = CardsDAO.GetPage(cardNo);

            SettingInit(cardNo, page);

            ArticleSetModels item = ArticleSetDAO.GetItem(cardNo);

            if (item == null)
            {
                item = new ArticleSetModels {
                    PagingMode   = "點擊看更多",
                    PageSize     = 10,
                    IssueSetting = "0", // 刊登期間內的當期資料
                    SortMode     = "時間排序"
                };
            }
            return(View(item));
        }
コード例 #4
0
        public ActionResult Index(CardsModels model, int?index)
        {
            ViewBag.SiteID = model.SiteID;
            SitePage page = CardsDAO.GetPage(model.No);

            ViewBag.SitePage = page;
            ViewBag.CardNo   = model.No;

            int        pageIndex  = index ?? 1;
            Pagination pagination = new Pagination {
                PageSize = 20, PageIndex = index ?? 1
            };

            int totalRecord;
            IEnumerable <ArticleModels> items = CustomArticleDAO.GetItems(page.MenuID, pagination.PageSize, pagination.PageIndex, out totalRecord);

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

            int style = model.StylesID == 0 ? 1 : model.StylesID;

            return(View("ListStyle" + style, items));
        }
コード例 #5
0
        public ActionResult Setting(long cardNo, ArticleSetModels item)
        {
            SitePage page = CardsDAO.GetPage(cardNo);

            SettingInit(cardNo, page);

            if (item.SortMode == "隨機排序")
            {
                item.SortField = "NewID()";
            }

            if (!string.IsNullOrWhiteSpace(item.DefaultImg))
            {
                ResourceImagesModels imgModel = Newtonsoft.Json.JsonConvert.DeserializeObject <ResourceImagesModels>(item.DefaultImg);
                if (imgModel.ID == 0)   // 新上傳的圖片
                {
                    HttpPostedFileBase postedFile = Request.Files["fDefaultImg"];
                    if (postedFile == null || postedFile.ContentLength == 0)
                    {
                        item.DefaultImg = string.Empty;
                    }
                    else
                    {
                        string saveName = WorkV3.Golbal.UpdFileInfo.SaveFilesByMenuID(postedFile, page.SiteID, page.MenuID);
                        imgModel.ID  = 1;
                        imgModel.Img = saveName;

                        item.DefaultImg = Newtonsoft.Json.JsonConvert.SerializeObject(imgModel);
                    }
                }
            }

            ArticleSetDAO.SetItem(item);

            ViewBag.Success = true;
            return(View(item));
        }
コード例 #6
0
ファイル: ArticleController.cs プロジェクト: jim-deng-git/Ask
        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));
        }
コード例 #7
0
ファイル: ArticleController.cs プロジェクト: jim-deng-git/Ask
        public ActionResult Content(CardsModels model)
        {
            long menuId = CardsDAO.GetMenuID(model.No);
            ArticleSettingModels setting = ArticleSettingDAO.GetItem(menuId);

            ViewBag.Setting = setting;

            ArticleModels item = ArticleDAO.GetItemByCard(model.No);

            item.ReplyCommentSetting = setting;
            IEnumerable <ArticleTypesModels> types = item.GetTypes();

            ViewBag.Types = types;
            IEnumerable <ArticleSeriesModels> series = item.GetSeries();

            ViewBag.Series = series;
            IEnumerable <ArticleCategoryModels> readModeCategories = item.GetCategories(IdentityType);

            ViewBag.ReadModeCategories = readModeCategories;

            string uploadUrl = UpdFileInfo.GetVPathByMenuID(model.SiteID, menuId).TrimEnd('/') + "/";

            RecommendHandler(item.ID, setting, uploadUrl, types);
            RecommendHandler2(item.ID, setting, uploadUrl, types);

            //string key = "AllArticleID_" + menuId;
            //long[] allArticleIds = HttpRuntime.Cache[key] as long[];
            //if(allArticleIds == null) {
            //    allArticleIds = ArticleDAO.GetAllIDs(menuId).ToArray();
            //    HttpRuntime.Cache.Add(key, allArticleIds, null, System.Web.Caching.Cache.NoAbsoluteExpiration, new TimeSpan(0, 30, 0), System.Web.Caching.CacheItemPriority.Normal, null);
            //}
            long[] allArticleIds = ArticleDAO.GetAllIDs(setting).ToArray();
            int    index         = Array.IndexOf(allArticleIds, item.ID);

            ViewBag.ListSitePageIndex = (index / setting.PageSize) + 1;

            if (index <= 0)
            {
                ViewBag.Prev = null;
            }
            else
            {
                ArticleModels prev = ArticleDAO.GetItem(allArticleIds[index - 1]);
                ViewBag.Prev         = prev;
                ViewBag.PrevSitePage = CardsDAO.GetPage(prev.CardNo);
            }

            ViewBag.ListSitePage = MenusDAO.GetListPage(menuId);

            if (index == allArticleIds.Length - 1)
            {
                ViewBag.Next = null;
            }
            else
            {
                ArticleModels next = ArticleDAO.GetItem(allArticleIds[index + 1]);
                ViewBag.Next         = next;
                ViewBag.NextSitePage = CardsDAO.GetPage(next.CardNo);
            }
            SitePage page   = CardsDAO.GetPage(model.No);
            long     pageID = page.PageNo;

            ViewBag.UploadUrl        = uploadUrl;
            ViewBag.SiteID           = model.SiteID;
            ViewBag.SiteSN           = page.SiteSN;
            ViewBag.MenuID           = menuId;
            ViewBag.PageID           = pageID;
            ViewBag.CollectionResult = MemberShipDAO.CheckMemberCollectionExist(pageID);
            ViewBag.CollectionCount  = MemberShipDAO.GetPageCollectionCount(pageID);
            ViewBag.Style            = model.StylesID == 0 ? 1 : model.StylesID;

            ArticleDAO.AddItemClicks(item.ID);

            int    style        = model.StylesID == 0 ? 1 : model.StylesID;
            string ViewFileName = string.Format("~/Views/Article/ContentStyle{0}.cshtml", style);

            if (!System.IO.File.Exists(Server.MapPath(ViewFileName)))
            {
                style = 1;
            }
            ViewFileName = string.Format("~/Views/Article/ContentStyle{0}.cshtml", style);
            return(View(ViewFileName, item));
        }