Ejemplo n.º 1
0
        public ActionResult PosterSelect(long siteId, long menuId, long articleId)
        {
            ViewBag.SiteID = siteId;
            ViewBag.MenuID = menuId;

            IEnumerable <ArticlePosterModels> items = ArticlePosterDAO.GetIssueItems(menuId);
            string uploadUrl = WorkV3.Golbal.UpdFileInfo.GetVPathByMenuID(siteId, menuId).TrimEnd('/') + "/";

            foreach (ArticlePosterModels p in items)
            {
                if (!string.IsNullOrWhiteSpace(p.Photo))
                {
                    ResourceImagesModels photo = Newtonsoft.Json.JsonConvert.DeserializeObject <ResourceImagesModels>(p.Photo);
                    if (photo.Img != string.Empty)
                    {
                        p.Photo = uploadUrl + photo.Img;
                    }
                }
            }

            IEnumerable <long> curPosterIds = ArticleDAO.GetItemPosters(articleId).Select(p => p.ID);

            if (curPosterIds == null)
            {
                curPosterIds = new List <long>();
            }
            ViewBag.Posters = curPosterIds;

            ViewBag.Int64Converter = new WorkV3.Golbal.Int64Converter();
            return(View(items));
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        public string PosterQuickAdd(long siteId, long menuId, string name)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                return(null);
            }

            ArticlePosterModels poster = new ArticlePosterModels {
                ID      = WorkLib.GetItem.NewSN(),
                MenuID  = menuId,
                Name    = name,
                Photo   = string.Empty,
                Intro   = string.Empty,
                Resume  = string.Empty,
                IsIssue = true,
                Sort    = int.MaxValue
            };

            ArticlePosterDAO.SetItem(poster);
            return(poster.ID.ToString());
        }
Ejemplo n.º 4
0
        public ActionResult PosterEdit(long siteId, long menuId, long?id)
        {
            ViewBag.SiteID    = siteId;
            ViewBag.MenuID    = menuId;
            ViewBag.UploadUrl = WorkV3.Golbal.UpdFileInfo.GetVPathByMenuID(siteId, menuId);

            ArticlePosterModels type = null;

            if (id != null)
            {
                type = ArticlePosterDAO.GetItem((long)id);
            }
            if (type == null)
            {
                type = new ArticlePosterModels {
                    ID = WorkLib.GetItem.NewSN(), IsIssue = true, Sort = int.MaxValue
                }
            }
            ;

            return(View(type));
        }
Ejemplo n.º 5
0
        public ActionResult PosterEdit(long siteId, long menuId, ArticlePosterModels item)
        {
            if (!Utility.CheckIsLogin())
            {
                Response.Redirect(Url.Action("Login", "Home"));
            }
            ViewBag.SiteID    = siteId;
            ViewBag.MenuID    = menuId;
            ViewBag.UploadUrl = WorkV3.Golbal.UpdFileInfo.GetVPathByMenuID(siteId, menuId);
            ViewBag.Exit      = true;

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

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

            ArticlePosterDAO.SetItem(item);

            return(View(item));
        }
Ejemplo n.º 6
0
 public void PosterToggleIssue(long siteId, long menuId, long id)
 {
     ArticlePosterDAO.ToggleIssue(id);
 }
Ejemplo n.º 7
0
 public void PosterDel(long siteId, long menuId, IEnumerable <long> ids)
 {
     ArticlePosterDAO.Delete(ids);
 }
Ejemplo n.º 8
0
 public void PosterSort(long siteId, long menuId, IEnumerable <SortItem> items)
 {
     ArticlePosterDAO.Sort(menuId, items);
 }
Ejemplo n.º 9
0
        public ActionResult Index(CardsModels model, string key, string SearchType, long?SearchPoster, long?SearchSeries)
        {
            ViewBag.Card = model;
            ViewBag.Key  = key;

            // neil 20180331 新增關鍵字搜尋 start
            bool isPreview = Request["isPreview"] != null && Request["isPreview"] == "true";

            if (!isPreview)
            {
                WorkV3.Areas.Backend.Models.DataAccess.KeywordDAO keywordDao = new Areas.Backend.Models.DataAccess.KeywordDAO();
                keywordDao.AddKeywordQueried(key);
            }
            // neil 20180331 新增關鍵字搜尋 end

            IEnumerable <SearchMenuModel>   menus = SearchResultDAO.GetSearchMenus(model.SiteID);
            IEnumerable <SearchResultModel> items = null;

            // charlie_shan 20180802 新增作者搜尋-> 只搜文章模組 start
            if (!string.IsNullOrEmpty(SearchType))
            {
                if (SearchType == "Poster")
                {
                    if (SearchPoster.HasValue)
                    {
                        ViewBag.PosterModel = ArticlePosterDAO.GetItem(SearchPoster.Value);
                    }
                    items = SearchResultDAO.GetItemsByPoster(menus, key, SearchPoster);
                }
                // charlie_shan 20180822 新增系列搜尋-> 只搜文章模組 start
                else if (SearchType == "Series")
                {
                    items = SearchResultDAO.GetItemsBySeries(menus, key, SearchSeries);
                }
                // charlie_shan 20180822 新增系列搜尋-> 只搜文章模組 end
                else
                {
                    items = SearchResultDAO.GetItems(menus, key);
                }
            }
            else
            {
                items = SearchResultDAO.GetItems(menus, key);
            }
            // charlie_shan 20180802 新增作者搜尋-> 只搜文章模組 end

            ViewBag.SitePages = Models.DataAccess.CardsDAO.GetPages(items.Select(item => item.CardNo)) ?? new Dictionary <long, Common.SitePage>();

            IEnumerable <long> menuIds = items.Select(item => item.MenuID).Distinct();

            menus         = menus.Where(m => menuIds.Contains(m.ID));
            ViewBag.Menus = menus;

            List <SearchMenuModel> singlePageMenus = menus.Where(m => m.Module.ToLower() == "articleintro").ToList();
            List <string[]>        singleRootMenus = SearchResultDAO.GetRootMenus(singlePageMenus.Where(m => m.ParentID > 0).Select(m => m.ParentID));
            Dictionary <string, List <SearchResultModel> > singlePageResults = new Dictionary <string, List <SearchResultModel> >();

            foreach (SearchResultModel item in items)
            {
                SearchMenuModel menu = singlePageMenus.FirstOrDefault(s => s.ID == item.MenuID);
                if (menu == null)
                {
                    continue;
                }

                item.Title = menu.Title;

                string[] rootMenuInfo = singleRootMenus == null ? null : singleRootMenus.FirstOrDefault(r => r[0] == menu.ParentID.ToString());

                List <SearchResultModel> results;
                if (rootMenuInfo == null)
                {
                    if (!singlePageResults.TryGetValue(menu.Title, out results))
                    {
                        results = new List <SearchResultModel>();
                        singlePageResults.Add(menu.Title, results);
                    }
                    results.Add(item);
                    continue;
                }

                string rootMenuName = rootMenuInfo[2];
                if (string.IsNullOrWhiteSpace(rootMenuName))
                {
                    rootMenuName = rootMenuInfo[1];
                }
                else
                {
                    item.Title = rootMenuInfo[1] + " / " + item.Title;
                }

                if (!singlePageResults.TryGetValue(rootMenuName, out results))
                {
                    results = new List <SearchResultModel>();
                    singlePageResults.Add(rootMenuName, results);
                }
                results.Add(item);
            }
            ViewBag.SinglePageResults = singlePageResults;

            SearchResultDAO.GetMenuItems(model.SiteID, key);
            if (!string.IsNullOrEmpty(SearchType))
            {
                if (SearchType == "Poster")
                {
                    ViewBag.MenuResults = new List <SearchMenuResultModel>();
                }
                else
                {
                    ViewBag.MenuResults = SearchResultDAO.GetMenuItems(model.SiteID, key);
                }
            }
            else
            {
                ViewBag.MenuResults = SearchResultDAO.GetMenuItems(model.SiteID, key);
            }

            return(View("Style" + model.StylesID, items));
        }