private void RecommendHandler2(long id, ArticleSettingModels setting, string uploadUrl, IEnumerable <ArticleTypesModels> types) { if (setting.ExtendReadOpen2) { IEnumerable <ArticleModels> recommends = ArticleDAO.GetRecommendItems2(setting, id, types.Select(t => t.ID)); Dictionary <long, SitePage> recommendSitePages = CardsDAO.GetPages(recommends.Select(r => r.CardNo)); Dictionary <long, dynamic> imgPathInfo = new Dictionary <long, dynamic>(); imgPathInfo.Add(setting.MenuID, new { Setting = setting, UploadUrl = uploadUrl }); foreach (ArticleModels item in recommends) { SitePage page = recommendSitePages[item.CardNo]; dynamic pathInfo; if (!imgPathInfo.TryGetValue(page.MenuID, out pathInfo)) { ArticleSettingModels newSetting = ArticleSettingDAO.GetItem(page.MenuID); string newUploadUrl = UpdFileInfo.GetVPathByMenuID(page.SiteID, page.MenuID).TrimEnd('/') + "/"; pathInfo = new { Setting = newSetting, UploadUrl = newUploadUrl }; imgPathInfo.Add(page.MenuID, pathInfo); } string img = item.GetFirstImg(pathInfo.Setting); item.Icon = string.IsNullOrWhiteSpace(img) ? string.Empty : pathInfo.UploadUrl + img; } ViewBag.Recommends2 = recommends; ViewBag.RecommendSitePages2 = recommendSitePages; } }
public ActionResult Edit(CardsModels model) { if (!ModelState.IsValid) { ViewBag.IsValid = false; return(View(model)); } var strDescriptions = model.Descriptions.ReplaceEnterToBr().TrimTags(); if (strDescriptions == "請填入內文") { model.Descriptions = ""; } DateTime now = DateTime.Now; model.Modifier = MemberDAO.SysCurrent.Id; model.ModifyTime = now; int result = CardsDAO.UpdateTitleAndDescriptions(model.No, model.Title, model.Descriptions); if (result == 0) { ViewBag.EditResult = "儲存發生錯誤"; } else { ViewBag.EditResult = "儲存成功"; } return(View(model)); }
public ActionResult Render(long SiteID, long ZoneNo) { List <ImageTextModel> imageTextList = new List <ImageTextModel>(); var Zone = CardsDAO.GetZoneInfo(ZoneNo); var Cards = CardsDAO.GetZoneData(SiteID, ZoneNo); string RenderViewFileName = "~/Views/Article/ImageTextListStyleDefault.cshtml"; if (Cards != null && Cards.Count > 0) { foreach (CardsModels Card in Cards) { if (Card.CardsType == "Article") { WorkV3.Common.SitePage curPage = WorkV3.Models.DataAccess.CardsDAO.GetPage(Card.No); ViewBag.UploadVPath = UpdFileInfo.GetVPathByMenuID(curPage.SiteID, curPage.MenuID); var article = ArticleDAO.GetItemByCard(Card.No); if (article != null) { imageTextList = ImageTextDAO.Get(article.ID, true, null); string ViewFileName = string.Format("~/Views/Article/ImageTextListStyle{0}.cshtml", Card.StylesID.ToString()); if (System.IO.File.Exists(Server.MapPath(ViewFileName))) { RenderViewFileName = ViewFileName; } } } } } return(View(RenderViewFileName, imageTextList)); }
public void Copy(long siteId, long menuId, long[] ArticleIds, long TargetMenuID) { ViewBag.SiteID = siteId; ViewBag.MenuID = menuId; ViewBag.ActionType = "copy"; if (ArticleIds.Length == 0) { return; } var targetMenu = MenusDAO.GetInfo(TargetMenuID); foreach (long ArticleId in ArticleIds) { ArticleModels articleItem = ArticleDAO.GetItem(ArticleId); CardsModels cardItem = CardsDAO.GetByNo(articleItem.CardNo); ZonesModels zoneItem = ZonesDAO.GetByNo(cardItem.ZoneNo.Value); PagesModels pageItem = PagesDAO.GetPageInfo(zoneItem.PageNo); long newCardNo = WorkV3.Golbal.PubFunc.CopyPage(pageItem, targetMenu.SiteID, targetMenu.ID); long newArticleId = WorkLib.GetItem.NewSN(); bool IsForceRelative = false; if (pageItem.SiteID == targetMenu.SiteID && pageItem.MenuID == targetMenu.ID) { IsForceRelative = true; } ArticleDAO.CopyArticle(ArticleId, newArticleId, newCardNo, targetMenu.ID, targetMenu.SiteID, IsForceRelative); WorkV3.Golbal.PubFunc.CopyIcon(articleItem.Icon, siteId, menuId, targetMenu.SiteID, targetMenu.ID); WorkV3.Golbal.PubFunc.CopyParagraphPhotos(articleItem.ID, siteId, menuId, targetMenu.SiteID, targetMenu.ID); } }
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)); }
public ActionResult Next(long siteId, long menuId, int style, int pageIndex) { int totalRecord; IEnumerable <ArticleModels> items = CustomArticleDAO.GetItems(menuId, 20, pageIndex, out totalRecord); ViewBag.ItemPages = CardsDAO.GetPages(items.Select(item => item.CardNo)); ViewBag.ItemTypes = ArticleDAO.GetItemTypes(items.Select(item => item.ID)); return(View("NextStyle" + style, items)); }
/// <summary> /// 為一個主頁面增加相關的 Page、Zone、Card 信息 /// </summary> /// <param name="sourcePage">原始頁面</param> /// <param name="targetSiteId">站點 ID</param> /// <param name="targetMenuId">選單 ID</param> /// <returns>返回 CardID</returns> public static long CopyPage(PagesModels sourcePage, long targetSiteId, long targetMenuId) { long CardNO = 0; long PageNo = WorkLib.GetItem.NewSN(); var sourceMnu = WorkV3.Models.DataAccess.MenusDAO.GetInfo(sourcePage.SiteID, sourcePage.MenuID); var targetMnu = WorkV3.Models.DataAccess.MenusDAO.GetInfo(targetSiteId, targetMenuId); PagesModels newPage = new PagesModels { No = PageNo, SiteID = targetSiteId, MenuID = targetMenuId, SN = targetMnu.SN, Title = sourcePage.Title + "- (複製)" }; newPage.SN += "_" + newPage.No; //WorkLib.WriteLog.Write(true, "newPage.No:" + newPage.No.ToString()+"/"+ newPage.Title); SysLog.SaveLog(SysActions.Add, SysMgrNo.Page, newPage.Title, targetSiteId, targetMenuId, PageNo); PagesDAO.SetPageInfo(newPage); var sourceZones = WorkV3.Models.DataAccess.ZonesDAO.GetPageData(sourcePage.SiteID, sourcePage.No); foreach (WorkV3.Models.ZonesModels sourceZone in sourceZones) { ZonesModels newZone = new ZonesModels { No = WorkLib.GetItem.NewSN(), SiteID = targetSiteId, PageNo = newPage.No, StyleID = sourceZone.StyleID, Sort = sourceZone.Sort, ShowStatus = sourceZone.ShowStatus }; ZonesDAO.SetZoneInfo(newZone); var sourceCards = WorkV3.Models.DataAccess.CardsDAO.GetZoneData(sourceZone.SiteID, sourceZone.No); foreach (WorkV3.Models.CardsModels sourceCard in sourceCards) { CardsModels newCard = new CardsModels { No = WorkLib.GetItem.NewSN(), ZoneNo = newZone.No, CardsType = sourceCard.CardsType, ViewAction = sourceCard.ViewAction, Status = sourceCard.Status, StylesID = sourceCard.StylesID }; CardsDAO.SetCardInfo(newCard); if (newCard.CardsType == "Article" || newCard.CardsType == "Event") { CardNO = newCard.No; } } } return(CardNO); }
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)); }
public ActionResult Index(CardsModels model) { // 注意:CardsModels 中的 MenuID 是無效的 long menuId = CardsDAO.GetMenuID(model.No); ArticleIntroModels intro = ArticleIntroDAO.GetItem(model.No); ViewBag.SiteID = model.SiteID; ViewBag.MenuID = menuId; ViewBag.Style = model.StylesID == 0 ? 1 : model.StylesID; return(View(intro)); }
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)); }
public ActionResult Next(long siteId, long menuId, int style, int pageIndex, string key, string type, long?typeId) { ArticleSettingModels setting = ArticleSettingDAO.GetItem(menuId); int totalRecord; IEnumerable <ArticleModels> items = ArticleDAO.GetItems(setting, key, type, typeId, pageIndex, out totalRecord); ViewBag.ItemPages = CardsDAO.GetPages(items.Select(item => item.CardNo)); ViewBag.ItemTypes = ArticleDAO.GetItemTypes(items.Select(item => item.ID)); ViewBag.UploadUrl = WorkV3.Golbal.UpdFileInfo.GetVPathByMenuID(siteId, menuId).TrimEnd('/') + "/"; ViewBag.Setting = setting; return(View("NextStyle" + style, items)); }
public ActionResult Edit(long No) { var model = CardsDAO.GetByNo(No); if (model == null) { return(RedirectToAction("List")); } if (string.IsNullOrWhiteSpace(model.Descriptions)) { model.Descriptions = "請填入內文"; } return(View(model)); }
public static void SaveArticleDelLog(long ArticleID) { var articleInfo = ArticleDAO.GetItem(ArticleID); if (articleInfo != null) { var cardInfo = CardsDAO.GetByNo(articleInfo.CardNo); if (cardInfo != null && cardInfo.ZoneNo.HasValue) { var zoneInfo = ZonesDAO.GetByNo(cardInfo.ZoneNo.Value); if (zoneInfo != null) { SysLog.SaveLog(SysActions.Del, SysMgrNo.Page, articleInfo.Title, articleInfo.SiteID, articleInfo.MenuID, zoneInfo.PageNo); } } } }
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)); }
/// <summary> /// Cast a WonderDAO steps array into the Wonder applicable steps array. /// </summary> /// <param name="wonderDAO">The object containing the steps information.</param> /// <returns>The list of wonder steps.</returns> private static List <Step> GetSteps(WonderDAO wonderDAO) { List <Step> steps = new List <Step>(); foreach (WonderDAO.StepDAO stepDAO in wonderDAO.Steps) { steps.Add(new Step( CardsDAO.GetResources(stepDAO.StepBuildCondition.ToList()), stepDAO.StepTypes.Cast <StepType>().ToArray(), stepDAO.Reward != null ? CardsDAO.GetReward(stepDAO.Reward.ToList()): new BonusCard.RewardQuantity[0], stepDAO.WarPoints, (AcquisitionType)stepDAO.TradeType, (BonusCard.ResourceMetaType)stepDAO.Resources, (BuilderType)stepDAO.BuildType )); } return(steps); }
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)); }
// GET: BackEnd public ActionResult Index(string SiteSN) { ViewBag.Member = Session[WebInfo.SysMemSkey] == null ?null:(Request.Cookies["sessionId"] != null? MemberDAO.Current(Request.Cookies["sessionId"].Value): null); ViewBag.UploadUrl = uploadUrl; if (ViewBag.Member != null) { WorkV3.Models.SitesModels SiteItem = WorkV3.Models.DataAccess.SitesDAO.GetSiteInfo(SiteSN); if (SiteItem != null) { MemberModels mem = MemberDAO.SysCurrent; PageCache.SiteID = SiteItem.Id; PageCache.SiteName = SiteItem.Title; ViewBag.SiteSN = SiteSN; ViewBag.SiteID = PageCache.SiteID; ViewBag.SiteName = PageCache.SiteName; List <MenusModels> mm = MenusDAO.GetData(PageCache.SiteID); long siteId = PageCache.SiteID; List <Menu> backendMenu = BackendMenuDAO.GetRoots(siteId).ToList(); List <CardsViewModel> cards = CardsDAO.GetBySiteID(PageCache.SiteID); MemberModels curUser = ViewBag.Member; GroupModels group = ViewBag.Member == null ? new GroupModels() : GroupDAO.GetItem(curUser.GroupId, siteId); ViewBag.MenuList = mm; ViewBag.Cards = cards; ViewBag.CardTypes = CardsTypeDAO.GetData(); ViewBag.BackendMenu = backendMenu; ViewBag.Permissions = group.GetPermissions(siteId); } else { Response.Redirect(Url.Action("Sites")); } return(View()); } else { Response.Redirect(Url.Action("Login")); return(View()); } }
public ActionResult Zone(ZonesModels Zone) { List <CardsModels> Cards; ViewBag.ZoneNo = Zone.No; //取得該Zone底下的Card集合 if (Zone.AreaSetID == null) { Cards = CardsDAO.GetZoneData(Zone.SiteID, Zone.No); if (Cards != null && Zone.CardsModels != null) { //Zone.CardsModels 有資料時代表有右側廣告 List <CardsModels> RightSideAd = Zone.CardsModels.OrderBy(m => m.TempSort).ToList(); foreach (CardsModels card in Cards) { RightSideAd.Insert(0, card); } Cards = RightSideAd; } } else { Cards = AdvertisementRenderTools.GenCard(Zone); //AreaSetID不為Null代表為廣告 } var articleCars = Cards.Where(card => card.CardsType == "Article"); if (articleCars != null && articleCars.Count() > 0) { WorkV3.Common.SitePage curPage = WorkV3.Models.DataAccess.CardsDAO.GetPage(articleCars.First().No); var article = ArticleDAO.GetItemByCard(articleCars.First().No); if (article != null) { var imageTextList = ImageTextDAO.Get(article.ID, true, null); if (imageTextList != null && imageTextList.Count() > 0) { Zone.StyleID = 9; } } } return(PartialView("Zones/_Style" + Zone.StyleID, Cards)); }
/// <summary> /// Distribute appropriate cards to all players. /// </summary> public void DistributeCards() { List <Card> availableCards = CardsDAO.GetCards(NbPlayers, Age); if (Age == 3) { availableCards = this.RemoveExtraGuildCards(availableCards); } Random rand = new Random(); foreach (Player player in this.Players) { for (int i = 0; i < GameConsts.STARTING_CARDS_NUMBER; i++) { Card nextCard = availableCards.ElementAt(rand.Next(availableCards.Count)); player.Hand.Add(nextCard); availableCards.Remove(nextCard); } } }
public ActionResult Index(string SiteSN, string PageSN, string type) { var mSites = SitesDAO.GetSiteInfo(SiteSN); if (mSites != null) { var mPages = PagesDAO.GetPageInfo(mSites.Id, PageSN); if (mPages != null) { //取得該Page底下的Zone集合 var zones = ZonesDAO.GetPageData(mPages.SiteID, mPages.No); foreach (var zone in zones) { var cards = CardsDAO.GetZoneData(zone.SiteID, zone.No); var card = cards.Where(x => x.CardsType != "Header" && x.CardsType != "BreadCrumbs" && x.CardsType != "Footer").FirstOrDefault(); if (card != null) { ViewBag.Type = type; ViewBag.Title = mPages.Title; ViewBag.SiteName = mSites.Title; return(View(card)); } } } } string DefaultSiteSN = GetItem.appSet("DefaultSiteSN").ToString(); if (DefaultSiteSN != "") { Response.Redirect("~/w/" + DefaultSiteSN + "/index"); } return(RedirectToAction("EmptyPage", "Home")); }
public void Move(long siteId, long menuId, long[] ArticleIds, long TargetMenuID) { ViewBag.SiteID = siteId; ViewBag.MenuID = menuId; ViewBag.ActionType = "move"; if (ArticleIds.Length == 0) { return; } foreach (long ArticleId in ArticleIds) { ArticleModels articleItem = ArticleDAO.GetItem(ArticleId); CardsModels cardItem = CardsDAO.GetByNo(articleItem.CardNo); ZonesModels zoneItem = ZonesDAO.GetByNo(cardItem.ZoneNo.Value); PagesModels pageItem = PagesDAO.GetPageInfo(zoneItem.PageNo); var targetMenu = MenusDAO.GetInfo(TargetMenuID); WorkV3.Golbal.PubFunc.MovePage(pageItem, targetMenu.SiteID, targetMenu.ID); ArticleDAO.Move(ArticleId, targetMenu.ID, targetMenu.SiteID); WorkV3.Golbal.PubFunc.CopyIcon(articleItem.Icon, siteId, menuId, targetMenu.SiteID, targetMenu.ID); WorkV3.Golbal.PubFunc.CopyParagraphPhotos(articleItem.ID, siteId, menuId, targetMenu.SiteID, targetMenu.ID); } }
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)); }
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)); }
public ActionResult List(long siteId, long menuId) { WorkV3.Models.PagesModels pageModel; try { pageModel = pageRepository.GetItem(menuId, "MenuID"); } catch (Exception) { pageModel = pageRepository.GetItem(new Dictionary <string, object> { { "SiteID", siteId }, { "SN", homePageSN } }); } ViewBag.SiteID = siteId; ViewBag.MenuID = menuId; ViewBag.PageNo = pageModel.No; var query = new Query(); query.Where.Add(new QWhere("SiteID", COperator.Equal, siteId)); query.Where.Add(new QWhere("Title", COperator.NoEqual, " ")); var forms = WorkV3.Models.FormDAO.Instance.Get(query); ViewBag.FormItem = forms; var model = new IntroListVIewModel(); model.Cards = CardsDAO.GetZoneByPageNo(siteId, pageModel.No); model.SiteID = siteId; model.MenuID = menuId; model.PageNo = pageModel.No; model.Forms = forms; model.FormTitle = pageModel.Title; return(View(model)); }
public void Sort(IEnumerable <SortItem> items) { CardsDAO.Sort(items); }
public ActionResult Edit(long siteId, long menuId, string type, long?id, long?templateId) { ViewBag.SiteID = siteId; ViewBag.MenuID = menuId; ViewBag.Types = ArticleTypesDAO.GetIssueItems(menuId); ViewBag.Series = ArticleSeriesDAO.GetIssueItems(menuId); ViewBag.Categories = CategoryDAO.GetItems(FavorityType); ViewBag.Sites = WorkV3.Models.DataAccess.SitesDAO.GetDatas(); ViewBag.UploadUrl = WorkV3.Golbal.UpdFileInfo.GetVPathByMenuID(siteId, menuId); ViewBag.ListIdentity = CategoryDAO.GetIssueItems(IdentityType); int cardStyleID = 1; List <CardsModels> cardItem = CardsDAO.GetPageData(siteId, menuId); foreach (var cards in cardItem) { if (cards.CardsType == "Article") { cardStyleID = cards.StylesID; break; } } ArticleModels item = null; if (id != null) { item = ArticleDAO.GetItem((long)id); SetLinkDetailViewBag(item.LinkDetail); } if (item == null && templateId != null) { MenusModels menu = MenusDAO.GetInfo(siteId, menuId); long newArticleId = WorkLib.GetItem.NewSN(); long cardNo = WorkV3.Golbal.PubFunc.AddPage(siteId, menuId, menu.SN, "Article", "Content", true, CardStyleId: cardStyleID); ArticleDAO.Copy((long)templateId, newArticleId, cardNo, menuId, siteId, true); item = ArticleDAO.GetItem(newArticleId); item.VideoType = "youtube"; ViewBag.FromTemplate = true; } if (item == null) { item = new ArticleModels { ID = WorkLib.GetItem.NewSN(), Type = type, IsIssue = true }; ViewBag.ArticleTypes = new long[] { }; ViewBag.ArticleSeries = new long[] { }; ViewBag.ArticleCategories = new long[] { }; ViewBag.ArticlePosters = new ArticlePosterModels[] { }; } else { ViewBag.ArticleTypes = ArticleDAO.GetItemTypes(item.ID); ViewBag.ArticleSeries = ArticleDAO.GetItemSeries(item.ID); ViewBag.ArticleCategories = ArticleDAO.GetItemCategories(item.ID); IEnumerable <ArticlePosterModels> posters = ArticleDAO.GetItemPosters(item.ID); foreach (ArticlePosterModels p in posters) { if (!string.IsNullOrWhiteSpace(p.Photo)) { ResourceImagesModels photo = Newtonsoft.Json.JsonConvert.DeserializeObject <ResourceImagesModels>(p.Photo); if (photo.Img != string.Empty) { p.Photo = photo.Img; } } } ViewBag.ArticlePosters = posters; } ViewBag.showMainVideo = false; if (item.VideoID != "") { ViewBag.showMainVideo = true; } return(View(item)); }
public ActionResult Edit(long siteId, long menuId, ArticleModels item, long[] types, long[] series, long[] categories, long[] sites, string posters, IEnumerable <ParagraphModels> paragraphs, string deletedParagraphs, bool saveTemplate, HttpPostedFileBase fVideoImg, string fVideoImgBase64, string fVideoImgBase64_Resize, string customVideo, string LinkSites, string[] Pages, string PageDetailID, long[] readModeCategories) { if (!Utility.CheckIsLogin()) { Response.Redirect(Url.Action("Login", "Home")); } ViewBag.SiteID = siteId; ViewBag.MenuID = menuId; ViewBag.Types = ArticleTypesDAO.GetIssueItems(menuId); ViewBag.Series = ArticleSeriesDAO.GetIssueItems(menuId); ViewBag.Categories = CategoryDAO.GetItems(FavorityType); ViewBag.Sites = WorkV3.Models.DataAccess.SitesDAO.GetDatas(); ViewBag.UploadUrl = WorkV3.Golbal.UpdFileInfo.GetVPathByMenuID(siteId, menuId).TrimEnd('/'); SaveIconAndArchive(siteId, menuId, item); item.MenuID = menuId; if (sites?.Length > 0) { item.IsIssue = true; } if (item.VideoType == "custom") { item.VideoID = customVideo; } #region 影片截圖 if (!string.IsNullOrWhiteSpace(item.VideoImg) && item.VideoImgIsCustom) { if (item.VideoImg[0] == '{') { WorkV3.Models.ImageModel imgModel = JsonConvert.DeserializeObject <WorkV3.Models.ImageModel>(item.VideoImg); if (imgModel.ID == 0) { if (fVideoImg == null || fVideoImg.ContentLength == 0) { item.VideoImg = string.Empty; } else { string fileName = Golbal.UpdFileInfo.SaveFilesByMenuID(fVideoImg, siteId, menuId, fVideoImgBase64, fVideoImgBase64_Resize); imgModel.ID = 1; imgModel.Img = fileName; item.VideoImg = JsonConvert.SerializeObject(imgModel); } } } else { item.VideoImg = string.Empty; } } #endregion int cardStyleID = 1; List <CardsModels> cardItem = CardsDAO.GetPageData(siteId, menuId); foreach (var cards in cardItem) { if (cards.CardsType == "Article") { cardStyleID = cards.StylesID; break; } } if (Request["LinkType"].Contains("true")) { item.LinkType = ResourceLinkType.inLink; if (!string.IsNullOrEmpty(PageDetailID)) { item.LinkDetail = PageDetailID; var pageInfo = WorkV3.Areas.Backend.Models.DataAccess.PagesDAO.GetPageInfo(long.Parse(PageDetailID)); if (pageInfo != null) { var siteInfo = WorkV3.Models.DataAccess.SitesDAO.GetInfo(pageInfo.SiteID); item.Link = Url.RouteUrl("FrontSitePage", new { SiteSN = siteInfo.SN, PageSN = pageInfo.SN }); } } else if (Pages != null) { for (int i = 0; i < Pages.Length; i++) { if (!string.IsNullOrEmpty(Pages[i])) { item.LinkDetail = Pages[i]; } } if (!string.IsNullOrEmpty(item.LinkDetail)) { var pageInfo = WorkV3.Areas.Backend.Models.DataAccess.PagesDAO.GetPageInfo(long.Parse(item.LinkDetail)); if (pageInfo != null) { var siteInfo = WorkV3.Models.DataAccess.SitesDAO.GetInfo(pageInfo.SiteID); item.Link = Url.RouteUrl("FrontSitePage", new { SiteSN = siteInfo.SN, PageSN = pageInfo.SN }); } } } item.Link = item.Link; } else { item.LinkType = ResourceLinkType.outLink; } ArticleDAO.SetItem(item, cardStyleID); SysLog.SaveArticleEditLog(item.ID); ArticleDAO.SetItemTypes(item.ID, types); ArticleDAO.SetItemSeries(item.ID, series); ArticleDAO.SetItemCategories(item.ID, FavorityType, categories); ArticleDAO.SetItemCategories(item.ID, IdentityType, readModeCategories); ArticleDAO.SetItemPosters(item.ID, Newtonsoft.Json.JsonConvert.DeserializeObject <long[]>(posters)); ArticleDAO.SetItemSites(item.ID, sites); SaveParagraph(item, paragraphs, deletedParagraphs); ViewBag.ArticleTypes = types ?? (new long[] { }); ViewBag.ArticleSeries = series ?? (new long[] { }); ViewBag.ArticlePosters = GetPoster(item, posters); ViewBag.ArticleCategories = categories ?? (new long[] { }); SetLinkDetailViewBag(item.LinkDetail); if (saveTemplate) { long tmplId = WorkLib.GetItem.NewSN(); ArticleDAO.Copy(item.ID, tmplId, 0, -menuId, null, true); ViewBag.TemplateID = tmplId; } else { ViewBag.Exit = true; } return(View(item)); }
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)); }
/// <summary> /// 最新消息內頁, 需傳入Token /// </summary> /// <param name="data"></param> /// <returns></returns> public ApiResult <ArticlesDetailResult> Post([FromBody] ArticlesDetailRequest data) { ApiResult <ArticlesDetailResult> result = new ApiResult <ArticlesDetailResult>(); try { ArticlesDetailResultCode rcode = ArticlesDetailResultCode.Success; if (string.IsNullOrEmpty(data.SiteSN)) { rcode = ArticlesDetailResultCode.SiteNull; result.Success = false; result.Code = (int)rcode; result.Message = rcode.GetMessage(); return(result); } long SiteID = GetSiteID(data.SiteSN); if (SiteID <= 0) { rcode = ArticlesDetailResultCode.SiteNull; result.Success = false; result.Code = (int)rcode; result.Message = rcode.GetMessage(); return(result); } long menuId = CardsDAO.GetMenuID(data.CardNo); string uploadUrl = Golbal.UpdFileInfo.GetVPathByMenuID(SiteID, menuId); string uploadPath = Golbal.UpdFileInfo.GetUPathByMenuID(SiteID, menuId).TrimEnd('\\'); ArticleModels item = ArticleDAO.GetItemByCard(data.CardNo); #region 主影片 MainVision mainVisionsItem = null; if (item.isShowVideo && item.VideoID != null) { int width = 0, height = 0; string link = item.VideoID, shotUrl = item.VideoImg; if (item.VideoType == "custom") { link = uploadUrl + item.VideoID; } string imgSource = ""; if (item.VideoImgIsCustom) { ResourceImagesModels imgModel = Newtonsoft.Json.JsonConvert.DeserializeObject <ResourceImagesModels>(item.VideoImg); shotUrl = uploadUrl + imgModel.Img; imgSource = $"{uploadPath}\\{imgModel.Img}"; } else { imgSource = item.VideoImg; } GetImageWidthAndHeight(imgSource, out width, out height); mainVisionsItem = new MainVision() { Type = item.VideoType, Link = link, ImgUrl = shotUrl, ImgWidth = width, ImgHeight = height }; } #endregion #region Paragraph List <ParagraphItem> paragraphList = new List <ParagraphItem>(); if (item == null) { rcode = ArticlesDetailResultCode.ArticlesNull; result.Success = false; result.Code = (int)rcode; result.Message = rcode.GetMessage(); return(result); } else { paragraphList = GetParagraphItem(item.ID, uploadUrl, uploadPath); } #endregion #region 文章類別 IEnumerable <ArticleTypesModels> ItemTypes = ArticleDAO.GetItemTypes(item.ID); List <ArticleTypes> articleTypesItem = new List <ArticleTypes>(); foreach (var type in ItemTypes) { articleTypesItem.Add(new ArticleTypes() { Name = type.Name, Color = GetColorCode(type.Color) }); } #endregion result.Content = new ArticlesDetailResult() { Title = item.Title, IssueDate = item.IssueDate?.ToString("yyyy.MM.dd"), ArticleTypes = articleTypesItem, MainVision = mainVisionsItem, ParagraphList = paragraphList }; result.Success = true; result.Code = (int)rcode; result.Message = rcode.GetMessage(); return(result); } catch (Exception ex) { result.Code = (int)ResultCode.Exception; result.Success = false; result.Message = ex.ToString(); } return(result); }
public int ChangeStatus(long No, int Status) { return(CardsDAO.UpdateStatus(No, Status)); }