Ejemplo n.º 1
0
        public static void SetItem(ArticleSetModels item)
        {
            SQLData.Database    db       = new SQLData.Database(WebInfo.Conn);
            SQLData.TableObject tableObj = db.GetTableObject("ArticleSet");
            tableObj.GetDataFromObject(item);

            string sql   = "Select 1 From ArticleSet Where CardNo = " + item.CardNo;
            bool   isNew = db.GetFirstValue(sql) == null;

            if (isNew)
            {
                tableObj["Creator"]    = MemberDAO.SysCurrent.Id;
                tableObj["CreateTime"] = DateTime.Now;

                tableObj.Insert();
            }
            else
            {
                tableObj.Remove("CardNo");
                tableObj.Remove("Creator");
                tableObj.Remove("CreateTime");

                tableObj["Modifier"]   = MemberDAO.SysCurrent.Id;
                tableObj["ModifyTime"] = DateTime.Now;

                tableObj.Update(item.CardNo);
            }
        }
Ejemplo n.º 2
0
        public string GetFirstImg(ArticleSetModels setting)
        {
            if (CustomIcon && !string.IsNullOrWhiteSpace(Icon))
            {
                ResourceImagesModels img = Newtonsoft.Json.JsonConvert.DeserializeObject <ResourceImagesModels>(Icon);
                if (!string.IsNullOrWhiteSpace(img?.Img))
                {
                    return(img.Img);
                }
            }

            string paragraphImg = ParagraphDAO.GetFirstImage(ID);

            if (!string.IsNullOrWhiteSpace(paragraphImg))
            {
                return(paragraphImg);
            }

            if (!string.IsNullOrWhiteSpace(setting?.DefaultImg))
            {
                ResourceImagesModels img = Newtonsoft.Json.JsonConvert.DeserializeObject <ResourceImagesModels>(setting.DefaultImg);
                if (!string.IsNullOrWhiteSpace(img?.Img))
                {
                    return(img.Img);
                }
            }

            return(null);
        }
Ejemplo n.º 3
0
        public static List <ArticleModels> GetItems(ArticleSetModels articleSet, int pageIndex = 1)
        {
            string sql =
                "Select ID, SiteID, CardNo, Type, Title, Link, IsOpenNew, Archive, IssueDate, CustomIcon, Icon, IsShowVideo, VideoID, " +
                "(SELECT TOP(1) Contents FROM Paragraph WHERE SourceNo = A.ID AND Contents <> '' ORDER BY Sort) Summary " +
                "From Article A Where {0} Order By {1}";

            List <string> where = new List <string>();
            where.Add("IsIssue = 1 And MenuID > 0"); // 去除掉模板

            List <string>      orSql = new List <string>();
            IEnumerable <long> menus = articleSet.GetMenus();

            if (menus?.Count() > 0)
            {
                orSql.Add($"MenuID In ({ string.Join(", ", menus) })");
            }

            IEnumerable <long> types = articleSet.GetTypes();

            if (types?.Count() > 0)
            {
                orSql.Add($"ID IN (Select ArticleID From ArticleToType Where TypeID In ({ string.Join(", ", types) }))");
            }

            if (orSql.Count > 0)
            {
                where.Add($"({ string.Join(" OR ", orSql) })");
            }

            IEnumerable <int> issueSetting = articleSet.GetIssueSetting();

            if (issueSetting.Count() == 1)
            {
                if (issueSetting.Contains(0))
                {
                    where.Add("(IssueStart IS NULL OR IssueStart <= GETDATE()) AND (IssueEnd IS NULL OR IssueEnd >= GETDATE())");
                }
                else
                {
                    where.Add("IssueEnd <= GETDATE()");
                }
            }

            string whereSql = string.Join(" AND ", where);

            sql = string.Format(sql, whereSql, articleSet.SortField);

            SQLData.Database db = new SQLData.Database(WebInfo.Conn);
            int       totalRecord;
            DataTable datas = db.GetPageData(sql, articleSet.PageSize, pageIndex, out totalRecord);

            return(GetListItems(datas));
        }
Ejemplo n.º 4
0
        public ActionResult Next(long siteId, long cardNo, int style, int pageIndex)
        {
            ArticleSetModels setting = ArticleSetDAO.GetItem(cardNo);

            ViewBag.Setting = setting;

            IEnumerable <ArticleModels> items = ArticleDAO.GetItems(setting, pageIndex);

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

            // style = 2;
            return(View("NextStyle" + style, items));
        }
Ejemplo n.º 5
0
        public ActionResult Index(CardsModels model)
        {
            ArticleSetModels setting = ArticleSetDAO.GetItem(model.No);

            ViewBag.Setting = setting;

            IEnumerable <ArticleModels> items = ArticleDAO.GetItems(setting);

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

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

            // style = 3;
            return(View("Style" + style, items));
        }
Ejemplo n.º 6
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));
        }
Ejemplo n.º 7
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));
        }