private static MenusModels CreateData(DataRow dr) { MenusModels nData = new MenusModels { ID = (long)dr["id"], SiteID = (long)dr["SiteID"], ParentID = (long)dr["ParentID"], AreaID = (byte)dr["AreaID"], Title = dr["Title"].ToString().Trim(), SN = dr["SN"].ToString().Trim(), DataType = dr["DataType"].ToString().Trim(), DataTypeValue = dr["DataTypeValue"].ToString().Trim(), ShowStatus = (byte)dr["ShowStatus"], Sort = (int)dr["Sort"], Creator = (long)dr["Creator"], CreateTime = dr["CreateTime"] as DateTime?, Modifier = dr["Modifier"] as long?, ModifyTime = dr["ModifyTime"] as DateTime?, MenuIcon = dr["MenuIcon"].ToString().Trim(), MenuURLAction = dr["MenuURLAction"].ToString().Trim(), MenuEditURLAction = dr["MenuEditURLAction"].ToString().Trim(), MenuiFrameH = (int)dr["MenuiFrameH"], MenuiFrameW = (int)dr["MenuiFrameW"], MenuCode = dr["MenuCode"].ToString(), MenuManageURL = GetManageURLs(dr["MenuManageURL"].ToString()), MenuIsNeedSN = (bool)dr["MenuIsNeedSN"], DisableDelete = (bool)dr["DisableDelete"] }; return(nData); }
public static void SaveInfo(MenusModels data) { SQLData.Database db = new SQLData.Database(WebInfo.Conn); SQLData.TableObject TableObj = db.GetTableObject("Menus"); //TableObj.GetDataFromObject(data); TableObj.Add("Title", data.Title); TableObj.Add("ShowStatus", data.ShowStatus); SQLData.ParameterCollection para = new SQLData.ParameterCollection(); if (data.ID == 0) { TableObj.Add("ID", GetItem.NewSN()); TableObj.Add("SN", data.SN); TableObj.Add("SiteID", data.SiteID); TableObj.Add("AreaID", data.AreaID); TableObj.Add("ParentID", data.ParentID); TableObj.Add("DataType", data.DataType); TableObj.Add("Sort", data.Sort); TableObj.Add("Creator", MemberDAO.SysCurrent.Id); TableObj.Add("CreateTime", DateTime.Now.ToString(WebInfo.DateTimeFmt)); TableObj.Insert(); } else { TableObj.Add("Modifier", MemberDAO.SysCurrent.Id); TableObj.Add("ModifyTime", DateTime.Now.ToString(WebInfo.DateTimeFmt)); para.Add("@ID", data.ID); TableObj.Update(para); } }
//wei20180808 複製功能抄徵件 public static void Copy(long siteId, IEnumerable <long> ids) { if (ids == null || ids.Count() == 0) { return; } long menuId = RewardDAO.GetMenuID(siteId); MenusModels menu = DataAccess.MenusDAO.GetInfo(siteId, menuId); SQLData.Database db = new SQLData.Database(WebInfo.Conn); foreach (long id in ids) { SQLData.TableObject tableObj = db.GetTableObject("Reward", id); if (tableObj.Count == 0) { continue; } long newId = WorkLib.GetItem.NewSN(); tableObj["ID"] = newId; //tableObj["CardNo"] = Golbal.PubFunc.AddPage(siteId, menuId, menu.SN, "Reward", "Index", true); tableObj["Sort"] = 1; tableObj["Creator"] = Areas.Backend.Models.DataAccess.MemberDAO.SysCurrent.Id; tableObj["CreateTime"] = DateTime.Now; tableObj.Remove("Modifier"); tableObj.Remove("ModifyTime"); tableObj.Insert(); } }
private static MenusModels ConvertDynamicToMenusModel(dynamic obj) { MenusModels nData = new MenusModels { ID = obj.ID, SiteID = obj.SiteID, ParentID = obj.ParentID, AreaID = obj.AreaID, Title = obj.Title, SN = obj.SN, DataType = obj.DataType, DataTypeValue = obj.DataTypeValue, ShowStatus = obj.ShowStatus, Sort = obj.Sort, Creator = obj.Creator, CreateTime = obj.CreateTime, Modifier = obj.Modifier, ModifyTime = obj.ModifyTime, MenuIcon = obj.MenuIcon, MenuURLAction = obj.MenuURLAction, MenuEditURLAction = obj.MenuEditURLAction, MenuiFrameH = obj.MenuiFrameH, MenuiFrameW = obj.MenuiFrameW, MenuCode = obj.MenuCode, MenuManageURL = GetManageURLs(obj.MenuManageURL), MenuIsNeedSN = obj.MenuIsNeedSN }; return(nData); }
public static void SetItem(ArticleModels item, int cardStyleID = 1) { SQLData.Database db = new SQLData.Database(WebInfo.Conn); SQLData.TableObject tableObj = db.GetTableObject("Article"); tableObj.GetDataFromObject(item); string sql = "Select 1 From Article Where ID = " + item.ID; bool isNew = db.GetFirstValue(sql) == null; if (isNew) { MenusModels menu = MenusDAO.GetInfo(item.SiteID, item.MenuID); long cardNo = WorkV3.Golbal.PubFunc.AddPage(item.SiteID, item.MenuID, menu.SN, "Article", "Content", true, item.Title, CardStyleId: cardStyleID); tableObj["CardNo"] = cardNo; tableObj["Creator"] = MemberDAO.SysCurrent.Id; tableObj["CreateTime"] = DateTime.Now; tableObj["Sort"] = 1; tableObj.Insert(); } else { tableObj.Remove("ID"); tableObj.Remove("SiteID"); tableObj.Remove("MenuID"); tableObj.Remove("CardNo"); tableObj.Remove("Clicks"); tableObj.Remove("Creator"); tableObj.Remove("CreateTime"); tableObj["Modifier"] = MemberDAO.SysCurrent.Id; tableObj["ModifyTime"] = DateTime.Now; tableObj.Update(item.ID); } }
/// <summary> /// 取得資料 /// </summary> /// <returns></returns> public static List <MenusModels> GetData(long SiteID, MenusAreaIDType AreaID = MenusAreaIDType.All) { using (var conn = new SqlConnection(WebInfo.Conn)) { string Sql = @"Select ID,SiteID,ParentID,AreaID,M.Title,SN,DataType,DataTypeValue,ShowStatus,M.Sort,Creator,CreateTime,Modifier,ModifyTime,CT.Code MenuCode, CT.ICON as MenuIcon, CT.URLAction MenuURLAction, CT.iFrameH MenuiFrameH, CT.iFrameW MenuiFrameW, CT.EditURLAction MenuEditURLAction, CT.ManageURL MenuManageURL, CT.IsNeedSN MenuIsNeedSN from Menus M inner join CardsType CT on DataType=CT.Code where SiteID=@SiteID"; if (AreaID != MenusAreaIDType.All) { Sql += " and AreaID=" + AreaID; } Sql += " order by Sort"; List <dynamic> queryResult = conn.Query <dynamic>(Sql, new { SiteID = SiteID }).ToList(); List <MenusModels> result = new List <MenusModels>(); for (int i = 0; i < queryResult.Count; i++) { MenusModels item = ConvertDynamicToMenusModel(queryResult[i]); result.Add(item); } return(result); } }
public static void Save_Single(MenusModels data) { SQLData.Database db = new SQLData.Database(WebInfo.Conn); SQLData.TableObject TableObj = db.GetTableObject("Menus"); TableObj.Add("Title", data.Title); //TableObj.Add("ParentID", data.ParentID); TableObj.Add("ShowStatus", data.ShowStatus); //TableObj.Add("Sort", data.Sort); TableObj.Add("Modifier", MemberDAO.SysCurrent.Id); TableObj.Add("ModifyTime", DateTime.Now.ToString(WebInfo.DateTimeFmt)); SQLData.ParameterCollection para = new SQLData.ParameterCollection(); para.Add("@ID", data.ID); TableObj.Update(para); PagesModels mPage = PagesDAO.GetPageInfo(data.SiteID, data.ID); if (mPage != null) { mPage.Title = data.Title; PagesDAO.SetPageInfo(mPage); } }
public ActionResult MenuEdit_File(long?id) { ViewBag.HasChildren = false; //檔案上限 ViewBag.FileLimit = 1; ViewBag.FileExtensions = UpdFileInfo.FileExtensionsType.Custom;//Joe 20190925 問題單:後台單一檔案允許格式 if (uCheck.IsNumeric(id)) { long SiteId = GetItem.SiteID(); string vPath = UpdFileInfo.GetVPathBySiteID(SiteId, "Menus"); MenusModels mm = MenusDAO.GetInfo(SiteId, (long)id); ResourceFilesModels newFile = ResourceFilesDAO.GetInfo(SiteId, (long)id, (byte)SourceType.Menu, 1, 1, 1); if (newFile != null) { ViewBag.FileExists = new HtmlString(ResourceFilesDAO.fileuploader(newFile, vPath)); } var childList = MenusDAO.GetChildren(id.Value); if (childList != null && childList.Count() > 0) { ViewBag.HasChildren = true; } return(View(mm)); } return(View()); }
public void MenuAdd(MenusModels MData) { long NewID = GetItem.NewSN(); MData.ID = NewID; MenusDAO.Insert_Single(MData); List <CardsTypeModels> CardsType = CardsTypeDAO.GetData(); CardsTypeModels CT = CardsType.FindLast(dr => dr.Code == MData.DataType); if (CT.isNeedSN == true) { //新增 // PubFunc.AddPage(MData.SiteID, MData.ID, MData.SN, MData.DataType, CT.EditURLAction, false, MData.Title, 1, true); PubFunc.AddPage(MData.SiteID, MData.ID, MData.SN, MData.DataType, null, false, MData.Title, 1, true); } SysLog.SaveLog(SysActions.Add, SysMgrNo.Menu, MData.Title, MData.SiteID, MData.ID, null); if (CT != null) { Response.Redirect(Url.Action(CT.URLAction, "Menus", new { id = NewID, SiteID = MData.SiteID })); } else { TempData["refreshData"] = 1; Response.Redirect(Request.RawUrl); } }
public ActionResult Index(int?page, MenuListType type = MenuListType.Top) { MenusModels model = new MenusModels(); int total = 0; int PageSize = 10; int CurrentPageIndex = page.HasValue ? page.Value - 1 : 0; IList <Menu> lst = menuBarSrv.GetList(type, CurrentPageIndex, PageSize, out total); model.Type = type; model.PageListMenus = new PagedList <Menu>(lst, CurrentPageIndex, PageSize, total); return(View(model)); }
/// <summary> /// 取得瀏覽目錄by SiteID /// </summary> /// <param name="SiteID"></param> /// <param name="MenuID"></param> /// <returns></returns> public static string GetVPathByMenuID(long SiteID, long MenuID) { string Path = GetItem.ViewUpdUrl().TrimEnd('/'); MenusModels datas = MenusDAO.GetInfo(SiteID, MenuID); if (datas != null) { Path += "/" + datas.SiteSN + "/" + datas.SN + "/"; } return(Path); }
/// <summary> /// 取得實體上傳目錄by SiteID /// </summary> /// <param name="MenuID"></param> /// <param name="SiteID"></param> /// <returns></returns> public static string GetUPathByMenuID(long SiteID, long MenuID) { string Path = GetItem.UpdPath(); MenusModels datas = MenusDAO.GetInfo(SiteID, MenuID); if (datas != null) { Path += "\\" + datas.SiteSN + "\\" + datas.SN + "\\"; } return(Path); }
public void MenuEdit_Folder(MenusModels MData) { ViewBag.HasChildren = false; var childList = MenusDAO.GetChildren(MData.ID); if (childList != null && childList.Count() > 0) { ViewBag.HasChildren = true; } MenusDAO.Save_Folder(MData); SysLog.SaveLog(SysActions.Edit, SysMgrNo.Menu, MData.Title, MData.SiteID, MData.ID); TempData["refreshData"] = SysActions.Edit; Response.Redirect(Request.RawUrl); }
public ActionResult MenuEdit_Folder(long?id) { ViewBag.HasChildren = false; if (uCheck.IsNumeric(id)) { MenusModels mm = MenusDAO.GetInfo(GetItem.SiteID(), (long)id); var childList = MenusDAO.GetChildren(id.Value); if (childList != null && childList.Count() > 0) { ViewBag.HasChildren = true; } return(View(mm)); } return(View()); }
public static void Save_Folder(MenusModels data) { SQLData.Database db = new SQLData.Database(WebInfo.Conn); SQLData.TableObject TableObj = db.GetTableObject("Menus"); TableObj.Add("Title", data.Title); TableObj.Add("ShowStatus", data.ShowStatus); TableObj.Add("DataTypeValue", data.DataTypeValue); TableObj.Add("Modifier", MemberDAO.SysCurrent.Id); TableObj.Add("ModifyTime", DateTime.Now.ToString(WebInfo.DateTimeFmt)); SQLData.ParameterCollection para = new SQLData.ParameterCollection(); para.Add("@ID", data.ID); TableObj.Update(para); }
public static void UpdateParentID(List <MenusModels> datas, long?parentID) { string fmt = "Update Menus Set ParentID = {1} Where ID = {0};\n"; StringBuilder sql = new StringBuilder(); if (datas.Count > 0) { for (int i = 0, len = datas.Count; i < len; ++i) { MenusModels menu = datas[i]; sql.AppendFormat(fmt, menu.ID, parentID.HasValue?parentID.Value.ToString():"Null"); } SQLData.Database db = new SQLData.Database(WebInfo.Conn); db.ExecuteNonQuery(sql.ToString()); } }
public static MenusModels GetInfo(long Id) { string Sql = "Select *, S.SN SiteSN From Menus M Inner join Sites S on S.ID =M.SiteID where M.ID={0}"; SQLData.Database db = new SQLData.Database(WebInfo.Conn); DataTable dt = db.GetDataTable(string.Format(Sql, Id)); MenusModels _TempRow = new MenusModels(); if (dt.Rows.Count > 0) { _TempRow = CreateData(dt.Rows[0]); } return(_TempRow); }
public static void UpdateSort(List <MenusModels> datas) { string fmt = "Update Menus Set AreaID = {0}, Sort = {1}, ParentID = {2} Where ID = {3} and SiteID={4};\n"; StringBuilder sql = new StringBuilder(); if (datas.Count > 0) { for (int i = 0, len = datas.Count; i < len; ++i) { MenusModels menu = datas[i]; sql.AppendFormat(fmt, menu.AreaID, i + 1, menu.ParentID, menu.ID, menu.SiteID); } SQLData.Database db = new SQLData.Database(WebInfo.Conn); db.ExecuteNonQuery(sql.ToString()); } }
public ActionResult Index(int?parentId, int?page, int position = 0) { int pageIndex = page.HasValue ? page.Value - 1 : 0; int pageSize = 20; int totalRecord = 0; Company company = ((EInvoiceContext)FXContext.Current).CurrentCompany; IMenusService menuSrv = IoC.Resolve <IMenusService>(); MenusModels model = new MenusModels(); model.RootMenus = MenuModel.GetRoots(company.id, position); int pId = parentId.HasValue ? parentId.Value : model.RootMenus[0].Id; var list = MenuModel.GetTree(company.id, pId); totalRecord = list.Count; model.PagedListMenus = new PagedList <MenuModel>(list, pageIndex, pageSize, totalRecord); return(View(model)); }
public static void Insert_Single(MenusModels data) { SQLData.Database db = new SQLData.Database(WebInfo.Conn); SQLData.TableObject TableObj = db.GetTableObject("Menus"); SQLData.ParameterCollection para = new SQLData.ParameterCollection(); TableObj.Add("Title", data.Title); TableObj.Add("ParentID", 0); TableObj.Add("ShowStatus", data.ShowStatus); TableObj.Add("Sort", 0); TableObj.Add("ID", data.ID); TableObj.Add("SN", data.SN); TableObj.Add("SiteID", data.SiteID); TableObj.Add("AreaID", data.AreaID); TableObj.Add("DataType", data.DataType); TableObj.Add("Creator", MemberDAO.SysCurrent.Id); TableObj.Add("CreateTime", DateTime.Now.ToString(WebInfo.DateTimeFmt)); TableObj.Add("DisableDelete", data.DisableDelete); TableObj.Insert(); }
public static MenusModels GetInfo(long siteId, string menuSn) { if (string.IsNullOrWhiteSpace(menuSn)) { return(null); } string Sql = "Select *, S.SN SiteSN From Menus M Inner join Sites S on S.ID =M.SiteID where SiteID = {0} AND M.SN = N'{1}'"; SQLData.Database db = new SQLData.Database(WebInfo.Conn); DataTable dt = db.GetDataTable(string.Format(Sql, siteId, menuSn.Replace("'", "''"))); MenusModels _TempRow = new MenusModels(); if (dt.Rows.Count > 0) { _TempRow = CreateData(dt.Rows[0]); } return(_TempRow); }
public void GetAddMenuTag(long?id) { long SiteID = GetItem.SiteID(); if (uCheck.IsNumeric(id)) { MenusModels mm = MenusDAO.GetInfo(SiteID, (long)id); string Fmt = "<li class=\"dd-item\" data-id=\"" + mm.ID + "\">" + "<div class=\"dd-handle\">" + " <i class=\"\"></i>" + " <span class=\"menu-title\">" + mm.Title + "</span>" + " <span class=\"icons-box\">" + " <i class=\""+ mm.GetShowStatusClass() + "\"></i>" + " <a class=\"openEdit\" href=\""+ Url.Action(mm.MenuURLAction, "Menus", new { id = mm.ID, SiteID = mm.SiteID }) + "\" data-height=\"" + mm.MenuiFrameH + "\" data-width=\"" + mm.MenuiFrameW + "\"><i class=\"cc cc-settings\"></i></a>" + " </span>" + "</div>" + "</li>"; Response.Write(Fmt); } }
public static MenusModels GetInfo(long Id) { string Sql = @" Select ID,SiteID,ParentID,AreaID,M.Title,SN,DataType,DataTypeValue,ShowStatus,M.Sort,Creator,CreateTime,Modifier,ModifyTime, CT.Code MenuCode,CT.ICON as MenuIcon, CT.URLAction MenuURLAction, CT.iFrameH MenuiFrameH, CT.iFrameW MenuiFrameW, CT.EditURLAction MenuEditURLAction, CT.ManageURL MenuManageURL, CT.IsNeedSN MenuIsNeedSN ,M.DisableDelete from Menus M inner join CardsType CT on DataType=CT.Code where ID={0} "; SQLData.Database db = new SQLData.Database(WebInfo.Conn); DataTable dt = db.GetDataTable(string.Format(Sql, Id)); MenusModels _TempRow = new MenusModels(); if (dt.Rows.Count > 0) { _TempRow = CreateData(dt.Rows[0]); } return(_TempRow); }
private static MenusModels CreateData(DataRow dr) { MenusModels nData = new MenusModels { Id = (long)dr["id"], SiteID = (long)dr["SiteID"], SiteSN = dr["SiteSN"].ToString().Trim(), ParentID = (long)dr["ParentID"], AreaID = (byte)dr["AreaID"], Title = dr["Title"].ToString().Trim(), SN = dr["SN"].ToString().Trim(), DataType = dr["DataType"].ToString().Trim(), DataTypeValue = dr["DataTypeValue"].ToString().Trim(), ShowStatus = (byte)dr["ShowStatus"], Sort = (int)dr["Sort"], Creator = (long)dr["Creator"], CreateTime = dr["CreateTime"] as DateTime?, Modifier = dr["Modifier"] as long?, ModifyTime = dr["ModifyTime"] as DateTime?, }; return(nData); }
public ActionResult CleanIndex(string SiteSN, string PageSN, long?id) { bool PageisExist = false; byte ShowStatus = 3; SitesModels mSites = SitesDAO.GetSiteInfo(SiteSN); PageCache pageCache = new PageCache(); if (mSites != null) { ViewBag.SiteID = mSites.Id; PagesModels mPages = PagesDAO.GetPageInfo(mSites.Id, PageSN); if (mPages != null) { pageCache.SiteID = mPages.SiteID; pageCache.MenuID = mPages.MenuID; pageCache.PageNO = mPages.No; pageCache.PageSN = mPages.SN; pageCache.SiteName = mSites.Title; pageCache.SiteSN = mSites.SN; MenusModels mMenus = MenusDAO.GetInfo(mPages.SiteID, mPages.MenuID); if (mMenus != null) { ShowStatus = mMenus.ShowStatus; } if (ShowStatus != 3) { ShowStatus = mPages.ShowStatus; } PageisExist = true; ViewBag.PageNo = mPages.No; ViewBag.Title = mPages.Title; ViewBag.SiteName = mSites.Title; } #region GA List <SitesModels.GAInfoCont> GA = new List <SitesModels.GAInfoCont>(); if (mSites.GAInfo != string.Empty) { GA = JsonConvert.DeserializeObject <List <SitesModels.GAInfoCont> >(mSites.GAInfo); } ViewBag.GA = GA; #endregion } ViewBag.SiteSN = SiteSN; ViewBag.PageSN = PageSN; ViewBag.Id = id; PageCache.SetTempDataPageCache(TempData, pageCache); ViewBag.CustomCont = LoadCustomCont(pageCache); if (PageisExist == true) { if (ShowStatus == 3) { Response.Redirect(Url.Action("PageNotFound", "ErrorPages")); } else { #region 網頁點擊LOG long?memberID = null; WorkV3.Common.Member curUser = WorkV3.Common.Member.Current; if (curUser != null) { memberID = curUser.ID; } string referUrl = "", referUrlTitle = "", referrerUrlPageNo = ""; if (Request.UrlReferrer != null) { referUrl = Request.UrlReferrer.AbsoluteUri; if (referUrl.StartsWith(WorkLib.uUrl.GetURL())) { if (referUrl.Split('/').Length > 0) { string pageSN = referUrl.Split('/')[referUrl.Split('/').Length - 1]; Models.PagesModels pageInfo = Models.DataAccess.PagesDAO.GetPageInfo(pageCache.SiteID, pageSN); if (pageInfo != null) { referUrlTitle = pageInfo.Title; referrerUrlPageNo = pageInfo.No.ToString(); } else { Models.MenusModels menuInfo = Models.DataAccess.MenusDAO.GetInfo(pageCache.SiteID, pageSN); if (menuInfo != null) { referUrlTitle = menuInfo.Title; referrerUrlPageNo = menuInfo.Id.ToString(); } } } } } AddPageLog((long)pageCache.PageNO, mSites.Lang, 3, mSites.Id, getSessionID(), memberID, referUrl, referUrlTitle, referrerUrlPageNo); #endregion return(View()); } } else { string DefaultSiteSN = GetItem.appSet("DefaultSiteSN").ToString(); if (DefaultSiteSN != "") { Response.Redirect("~/w/" + DefaultSiteSN + "/index"); } } return(View("EmptyPage")); }
public ActionResult IndexWithoutLayout(string SiteSN, string PageSN, long?id, string lay = "") { PageCache pageCache = new PageCache(); bool PageisExist = false; byte ShowStatus = 3; SitesModels mSites = SitesDAO.GetSiteInfo(SiteSN); if (mSites != null) { ViewBag.SiteID = mSites.Id; PagesModels mPages = PagesDAO.GetPageInfo(mSites.Id, PageSN); if (mPages != null) { pageCache.SiteID = mPages.SiteID; pageCache.MenuID = mPages.MenuID; pageCache.PageNO = mPages.No; pageCache.PageSN = mPages.SN; pageCache.SiteName = mSites.Title; pageCache.SiteSN = mSites.SN; MenusModels mMenus = MenusDAO.GetInfo(mPages.SiteID, mPages.MenuID); if (mMenus != null) { ShowStatus = mMenus.ShowStatus; } if (ShowStatus != 3) { ShowStatus = mPages.ShowStatus; } PageisExist = true; ViewBag.PageNo = mPages.No; ViewBag.Title = mPages.Title; ViewBag.SiteName = mSites.Title; #region 網頁SEO wei 20180914 對集點 if (mPages != null) { string imgUrl = "", description = "", author = "", Title = ""; var pageSEO = PagesDAO.GetPageSEO(mPages.SiteID, mPages.No, mPages.Title); var siteSEO = Areas.Backend.Models.DataAccess.SiteSeoSettingDAO.GetItem(mPages.SiteID); var contentSEO = PagesDAO.GetContentSEO(mPages.SiteID, mPages.MenuID, mPages.No); string typeKeywords = contentSEO.Keywords;//PagesDAO.GetContentTypeKeyword(mPages.SiteID, mPages.MenuID, mPages.No); if (!string.IsNullOrEmpty(mPages.Title)) { ViewBag.SEO_Title = mPages.Title; // 以單頁的先給值 } //先設定頁面的 SEO //若PAGE SEO 存在, 則取代碼 => PAGE > SITE if (pageSEO != null) { string UploadUrl = UpdFileInfo.GetVPathByMenuID(mPages.SiteID, mPages.MenuID).TrimEnd('/') + "/"; if (!string.IsNullOrEmpty(pageSEO.Title)) { ViewBag.SEO_Title = pageSEO.Title; } if (!string.IsNullOrEmpty(pageSEO.Description)) { ViewBag.SEO_Description = pageSEO.Description; } if (!string.IsNullOrEmpty(pageSEO.Author)) { author = pageSEO.Author; } if (!string.IsNullOrEmpty(pageSEO.Copyright)) { ViewBag.SEO_Copyright = pageSEO.Copyright; } if (!string.IsNullOrEmpty(pageSEO.Keywords)) { ViewBag.SEO_Keywords = pageSEO.Keywords; } if (!string.IsNullOrEmpty(pageSEO.Image)) { ViewBag.SEO_Image = UploadUrl + pageSEO.Image; } description = ViewBag.SEO_Description; Title = ViewBag.SEO_Title; } if (contentSEO != null) { if (!string.IsNullOrEmpty(contentSEO.SocialImage)) { ViewBag.SEO_Image = contentSEO.SocialImage; } if (string.IsNullOrEmpty(description) && !string.IsNullOrEmpty(contentSEO.Description)) { ViewBag.SEO_Description = contentSEO.Description; } if (string.IsNullOrEmpty(Title) && !string.IsNullOrEmpty(contentSEO.Title)) { ViewBag.SEO_Title = contentSEO.Title; } if (contentSEO != null && !string.IsNullOrEmpty(contentSEO.Author)) { author = author.Trim(';') + ";" + contentSEO.Author; } } imgUrl = ViewBag.SEO_Image; ViewBag.SEO_Keywords = typeKeywords; //以SITE SEO 先給值, 若PAGE SEO 存在, 則取代碼 => PAGE > SITE if (siteSEO != null) { if (!string.IsNullOrEmpty(siteSEO.Title) && string.IsNullOrEmpty(ViewBag.SEO_Title)) { ViewBag.SEO_Title = siteSEO.Title; } if (!string.IsNullOrEmpty(siteSEO.Description) && string.IsNullOrEmpty(ViewBag.SEO_Description)) { ViewBag.SEO_Description = siteSEO.Description; } if (!string.IsNullOrEmpty(siteSEO.Author)) { author = author.Trim(';') + ";" + siteSEO.Author; } if (!string.IsNullOrEmpty(siteSEO.Copyright) && string.IsNullOrEmpty(ViewBag.SEO_Copyright)) { ViewBag.SEO_Copyright = siteSEO.Copyright; } if (!string.IsNullOrEmpty(siteSEO.Keywords)) { ViewBag.SEO_Keywords += (string.IsNullOrEmpty(ViewBag.SEO_Keywords) ? "" : ";") + siteSEO.Keywords; } WorkV3.Areas.Backend.Models.SocialSettingModels siteSocialSetting = WorkV3.Areas.Backend.Models.DataAccess.SocialSettingDAO.GetItem(mPages.SiteID); if (siteSocialSetting != null && !string.IsNullOrEmpty(siteSocialSetting.SocialDefaultImage)) { if (string.IsNullOrEmpty(imgUrl) && !string.IsNullOrEmpty(siteSocialSetting.SocialDefaultImage)) { string customImageFolder = "SocialImage"; WorkV3.Models.ImageModel imgModel = Newtonsoft.Json.JsonConvert.DeserializeObject <WorkV3.Models.ImageModel>(siteSocialSetting.SocialDefaultImage); string UploadUrl = UpdFileInfo.GetVPathBySiteID(mPages.SiteID, customImageFolder).TrimEnd('/') + "/"; ViewBag.SEO_Image = UploadUrl + imgModel.Img; } } } ViewBag.SEO_Author = author.Trim(';'); } #endregion } #region GA List <SitesModels.GAInfoCont> GA = new List <SitesModels.GAInfoCont>(); if (!string.IsNullOrEmpty(mSites.GAInfo)) { GA = JsonConvert.DeserializeObject <List <SitesModels.GAInfoCont> >(mSites.GAInfo); } ViewBag.GA = GA; #endregion } PageCache.SetTempDataPageCache(TempData, pageCache); ViewBag.SiteSN = SiteSN; ViewBag.PageSN = PageSN; ViewBag.Id = id; ViewBag.CustomCont = LoadCustomCont(pageCache); if (PageisExist == true) { if (ShowStatus == 3) { Response.Redirect(Url.Action("PageNotFound", "ErrorPages")); } else { #region 網頁點擊LOG long?memberID = null; WorkV3.Common.Member curUser = WorkV3.Common.Member.Current; if (curUser != null) { memberID = curUser.ID; } string referUrl = "", referUrlTitle = "", referrerUrlPageNo = ""; if (Request.UrlReferrer != null) { referUrl = Request.UrlReferrer.AbsoluteUri; if (referUrl.StartsWith(WorkLib.uUrl.GetURL())) { if (referUrl.Split('/').Length > 0) { string pageSN = referUrl.Split('/')[referUrl.Split('/').Length - 1]; Models.PagesModels pageInfo = Models.DataAccess.PagesDAO.GetPageInfo(pageCache.SiteID, pageSN); if (pageInfo != null) { referUrlTitle = pageInfo.Title; referrerUrlPageNo = pageInfo.No.ToString(); } else { Models.MenusModels menuInfo = Models.DataAccess.MenusDAO.GetInfo(pageCache.SiteID, pageSN); if (menuInfo != null) { referUrlTitle = menuInfo.Title; referrerUrlPageNo = menuInfo.Id.ToString(); } } } } } AddPageLog((long)pageCache.PageNO, mSites.Lang, 3, mSites.Id, getSessionID(), memberID, referUrl, referUrlTitle, referrerUrlPageNo); #endregion ViewBag.lay = null; if (lay != "") { ViewBag.lay = lay; } return(View()); } } else { string DefaultSiteSN = GetItem.appSet("DefaultSiteSN").ToString(); if (DefaultSiteSN != "") { Response.Redirect("~/w/" + DefaultSiteSN + "/index"); } } return(View("EmptyPage")); }
public ActionResult Index(string SiteSN, string PageSN, long?id) { bool PageisExist = false; byte ShowStatus = 3; SitesModels mSites = SitesDAO.GetSiteInfo(SiteSN); PageCache pageCache = new PageCache(); if (mSites != null) { if (mSites.IsDelete || !mSites.Issue) { var member = WorkV3.Areas.Backend.Models.DataAccess.MemberDAO.SysCurrent; if (member == null) { return(HttpNotFound()); } } ViewBag.SiteID = mSites.Id; Areas.Backend.Models.SiteSeoSettingModels siteSeoSetting = Areas.Backend.Models.DataAccess.SiteSeoSettingDAO.GetItem(mSites.Id); if (siteSeoSetting != null) { if (!siteSeoSetting.Robot) { ViewBag.NoRobot = true; } ViewBag.GoogleSearchCode = siteSeoSetting.GoogleSearch; ViewBag.BaidoSearchCode = siteSeoSetting.BaiduMA; ViewBag.BingSearchCode = siteSeoSetting.Bing; if (!string.IsNullOrEmpty(siteSeoSetting.GA)) { ViewBag.GACode = "<script async src=\"https://www.googletagmanager.com/gtag/js?id=" + siteSeoSetting.GA + "\"></script><script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', '" + siteSeoSetting.GA + "');</script>"; } if (!string.IsNullOrEmpty(siteSeoSetting.Baidu)) { ViewBag.Baidu = @"<script> var _hmt = _hmt || []; (function() { var hm = document.createElement('script'); hm.src = 'https://hm.baidu.com/hm.js?" + siteSeoSetting.Baidu + @"'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(hm, s); })(); </script> "; } if (!string.IsNullOrEmpty(siteSeoSetting.GTM)) { ViewBag.GTM_Head = @"<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','" + siteSeoSetting.GTM + @"');</script> <!-- End Google Tag Manager -->"; ViewBag.GTM_Body = "<noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=" + siteSeoSetting.GTM + "\" height=\"0\" width=\"0\" style = \"display:none;visibility:hidden\"></iframe></noscript>"; } if (siteSeoSetting.IsExtraCode) { ViewBag.ExtraCode = siteSeoSetting.ExtraCode; } } pageCache.SiteID = mSites.Id; pageCache.SiteName = mSites.Title; pageCache.SiteSN = mSites.SN; PagesModels mPages = PagesDAO.GetPageInfo(mSites.Id, PageSN); if (mPages != null) { pageCache.SiteID = mPages.SiteID; pageCache.MenuID = mPages.MenuID; pageCache.PageNO = mPages.No; pageCache.PageSN = mPages.SN; pageCache.SiteName = mSites.Title; pageCache.SiteSN = mSites.SN; MenusModels mMenus = MenusDAO.GetInfo(mPages.SiteID, mPages.MenuID); if (mMenus != null) { ShowStatus = mMenus.ShowStatus; } if (ShowStatus != 3) { ShowStatus = mPages.ShowStatus; } PageisExist = true; ViewBag.PageNo = mPages.No; ViewBag.Title = mPages.Title; ViewBag.MenuID = mPages.MenuID; ViewBag.SiteName = mSites.Title; ViewBag.FaviconPath = $"{WorkV3.Golbal.UpdFileInfo.GetVPathBySiteID(mSites.Id, "Header")}/{mSites.Favicon}"; #region 網頁SEO if (mPages != null) { string imgUrl = "", description = "", author = "", Title = ""; SEOModels pageSEO = null; if (PageSN == "RecruitDetail") //20190516 Nina 徵才需用ID取得SEO { long Id = 0; bool result = long.TryParse(Request.QueryString["ID"], out Id); if (result) { pageSEO = PagesDAO.GetPageSEO(mPages.SiteID, mPages.No, mPages.Title, Id); } } else { pageSEO = PagesDAO.GetPageSEO(mPages.SiteID, mPages.No, mPages.Title); } var siteSEO = Areas.Backend.Models.DataAccess.SiteSeoSettingDAO.GetItem(mPages.SiteID); var contentSEO = PagesDAO.GetContentSEO(mPages.SiteID, mPages.MenuID, mPages.No); string typeKeywords = contentSEO.Keywords;//PagesDAO.GetContentTypeKeyword(mPages.SiteID, mPages.MenuID, mPages.No); if (!string.IsNullOrEmpty(mPages.Title)) { ViewBag.SEO_Title = mPages.Title; // 以單頁的先給值 } //先設定頁面的 SEO //若PAGE SEO 存在, 則取代碼 => PAGE > SITE if (pageSEO != null) { string UploadUrl = UpdFileInfo.GetVPathByMenuID(mPages.SiteID, mPages.MenuID).TrimEnd('/') + "/"; if (!string.IsNullOrEmpty(pageSEO.Title)) { ViewBag.SEO_Title = pageSEO.Title; } if (!string.IsNullOrEmpty(pageSEO.Description)) { ViewBag.SEO_Description = pageSEO.Description; } if (!string.IsNullOrEmpty(pageSEO.Author)) { author = pageSEO.Author; } if (!string.IsNullOrEmpty(pageSEO.Copyright)) { ViewBag.SEO_Copyright = pageSEO.Copyright; } if (!string.IsNullOrEmpty(pageSEO.Keywords)) { ViewBag.SEO_Keywords = pageSEO.Keywords; } if (!string.IsNullOrEmpty(pageSEO.Image)) { ViewBag.SEO_Image = UploadUrl + pageSEO.Image; } description = ViewBag.SEO_Description; Title = ViewBag.SEO_Title; } if (contentSEO != null) { if (!string.IsNullOrEmpty(contentSEO.SocialImage)) { ViewBag.SEO_Image = contentSEO.SocialImage; } if (string.IsNullOrEmpty(description) && !string.IsNullOrEmpty(contentSEO.Description)) { ViewBag.SEO_Description = contentSEO.Description; } if (string.IsNullOrEmpty(Title) && !string.IsNullOrEmpty(contentSEO.Title)) { ViewBag.SEO_Title = contentSEO.Title; } if (contentSEO != null && !string.IsNullOrEmpty(contentSEO.Author)) { author = author.Trim(';') + ";" + contentSEO.Author; } } imgUrl = ViewBag.SEO_Image; ViewBag.SEO_Keywords = typeKeywords; //以SITE SEO 先給值, 若PAGE SEO 存在, 則取代碼 => PAGE > SITE if (siteSEO != null) { if (!string.IsNullOrEmpty(siteSEO.Title) && string.IsNullOrEmpty(ViewBag.SEO_Title)) { ViewBag.SEO_Title = siteSEO.Title; } if (!string.IsNullOrEmpty(siteSEO.Description) && string.IsNullOrEmpty(ViewBag.SEO_Description)) { ViewBag.SEO_Description = siteSEO.Description; } if (!string.IsNullOrEmpty(siteSEO.Author)) { author = author.Trim(';') + ";" + siteSEO.Author; } if (!string.IsNullOrEmpty(siteSEO.Copyright) && string.IsNullOrEmpty(ViewBag.SEO_Copyright)) { ViewBag.SEO_Copyright = siteSEO.Copyright; } if (!string.IsNullOrEmpty(siteSEO.Keywords)) { ViewBag.SEO_Keywords += (string.IsNullOrEmpty(ViewBag.SEO_Keywords) ? "" : ";") + siteSEO.Keywords; } WorkV3.Areas.Backend.Models.SocialSettingModels siteSocialSetting = WorkV3.Areas.Backend.Models.DataAccess.SocialSettingDAO.GetItem(mPages.SiteID); if (siteSocialSetting != null && !string.IsNullOrEmpty(siteSocialSetting.SocialDefaultImage)) { if (string.IsNullOrEmpty(imgUrl) && !string.IsNullOrEmpty(siteSocialSetting.SocialDefaultImage)) { string customImageFolder = "SocialImage"; WorkV3.Models.ImageModel imgModel = Newtonsoft.Json.JsonConvert.DeserializeObject <WorkV3.Models.ImageModel>(siteSocialSetting.SocialDefaultImage); string UploadUrl = UpdFileInfo.GetVPathBySiteID(mPages.SiteID, customImageFolder).TrimEnd('/') + "/"; ViewBag.SEO_Image = UploadUrl + imgModel.Img; } } } ViewBag.SEO_Author = author.Trim(';'); } #endregion } #region GA List <SitesModels.GAInfoCont> GA = new List <SitesModels.GAInfoCont>(); if (!string.IsNullOrEmpty(mSites.GAInfo)) { GA = JsonConvert.DeserializeObject <List <SitesModels.GAInfoCont> >(mSites.GAInfo); } ViewBag.GA = GA; #endregion } ViewBag.SiteSN = SiteSN; ViewBag.PageSN = PageSN; ViewBag.Id = id; PageCache.SetTempDataPageCache(TempData, pageCache); ViewBag.CustomCont = LoadCustomCont(pageCache); if (PageisExist == true) { if (ShowStatus == 3) { Response.Redirect(Url.Action("PageNotFound", "ErrorPages")); } else { #region 網頁點擊LOG long?memberID = null; WorkV3.Common.Member curUser = WorkV3.Common.Member.Current; if (curUser != null) { memberID = curUser.ID; } string referUrl = "", referUrlTitle = "", referrerUrlPageNo = ""; if (Request.UrlReferrer != null) { referUrl = Request.UrlReferrer.AbsoluteUri; if (referUrl.StartsWith(WorkLib.uUrl.GetURL())) { if (referUrl.Split('/').Length > 0) { string pageSN = referUrl.Split('/')[referUrl.Split('/').Length - 1]; Models.PagesModels pageInfo = Models.DataAccess.PagesDAO.GetPageInfo(pageCache.SiteID, pageSN); if (pageInfo != null) { referUrlTitle = pageInfo.Title; referrerUrlPageNo = pageInfo.No.ToString(); } else { Models.MenusModels menuInfo = Models.DataAccess.MenusDAO.GetInfo(pageCache.SiteID, pageSN); if (menuInfo != null) { referUrlTitle = menuInfo.Title; referrerUrlPageNo = menuInfo.Id.ToString(); } } } } } AddPageLog((long)pageCache.PageNO, mSites.Lang, 3, mSites.Id, getSessionID(), memberID, referUrl, referUrlTitle, referrerUrlPageNo); #endregion return(View()); } } else { //客製start string DefaultWebSite = Request.Url.AbsoluteUri; if (DefaultWebSite.Contains("webdemo") || DefaultWebSite.Contains("localhost")) { string DefaultSiteSN = GetItem.appSet("DefaultSiteSN").ToString(); if (DefaultSiteSN != null) { Response.Redirect("~/w/" + DefaultSiteSN + "/index"); } } else { DefaultWebSite = DefaultWebSite.Replace("www.", "").Replace("http://", "").Replace(".com.tw/", ""); if (DefaultWebSite == "nhmc") { DefaultWebSite = "NewHopeMarketing"; } else if (DefaultWebSite == "edec") { DefaultWebSite = "ELITEDREAM"; } Response.Redirect("~/w/" + DefaultWebSite + "/index"); } //客製end } return(View("EmptyPage")); }
/// <summary> /// /// </summary> /// <param name="ID"></param> /// <param name="menuClass"></param> /// <param name="type"></param> /// <returns></returns> public static IEnumerable <Menu> GetChildren(long ID, int menuClass = 3) { if (ID == 0) { return(new List <Menu>()); } using (var conn = new SqlConnection(WebInfo.Conn)) { Dictionary <string, object> param = new Dictionary <string, object>(); param.Add("@ParentID", ID); string sql = ""; IEnumerable <Menu> retValue = new List <Menu>(); switch (menuClass) { case 1: long siteId = BackendMenuDAO.GetSiteId(ID); IEnumerable <MenusModels> submenu = MenusDAO.GetRootDataBySite(siteId); foreach (MenusModels item in submenu) { item.GetChildren(); } List <Menu> childMenu = new List <Menu>(); MenusModels lv1Menu = new MenusModels(); MenusModels lv2Menu = new MenusModels(); MenusModels lv3Menu = new MenusModels(); lv1Menu.Type = 1; lv1Menu.Title = "上導覽列"; lv1Menu.ID = long.MaxValue; lv1Menu.Children = submenu.Where(m => m.AreaID == 1); lv2Menu.Type = 1; lv2Menu.Title = "主選單"; lv2Menu.ID = long.MaxValue - 1; lv2Menu.Children = submenu.Where(m => m.AreaID == 2); lv3Menu.Type = 1; lv3Menu.Title = "下導覽列"; lv3Menu.ID = long.MaxValue - 2; lv3Menu.Children = submenu.Where(m => m.AreaID == 3); if (lv1Menu.Children.Count() > 0) { childMenu.Add(lv1Menu); } if (lv2Menu.Children.Count() > 0) { childMenu.Add(lv2Menu); } if (lv3Menu.Children.Count() > 0) { childMenu.Add(lv3Menu); } return(childMenu); case 2: case 3: default: sql = @" SELECT * FROM BackendMenu WHERE ParentID = @ParentID ORDER BY Sort "; retValue = conn.Query <BackendMenuModel>(sql, param); foreach (BackendMenuModel menu in retValue) { menu.GetChildren(); } return(retValue); } } }
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 MenuEdit_File(MenusModels MData, HttpPostedFileBase updFiles) { ViewBag.HasChildren = false; var childList = MenusDAO.GetChildren(MData.ID); if (childList != null && childList.Count() > 0) { ViewBag.HasChildren = true; } MenusDAO.Save_Single(MData); //單檔 if (updFiles != null) { if (updFiles.ContentLength > 0) { string uPath = UpdFileInfo.GetUPathBySiteID(MData.SiteID, "Menus"); string fileName = UpdFileInfo.SaveFiles(updFiles, uPath); ResourceFilesModels newFile = new ResourceFilesModels(); newFile.Id = 1; newFile.SiteID = MData.SiteID; newFile.SourceNo = MData.ID; newFile.SourceType = (byte)SourceType.Menu; newFile.Ver = 1; newFile.AreaID = 1; newFile.FileInfo = fileName; newFile.FileType = ResourceFileType.inFile; newFile.ClickType = (byte)ClickType.OpenNewWin; newFile.FileSize = newFile.GetSize(uPath); newFile.FileMimeType = newFile.GetMimeType(); ResourceFilesDAO.Save_Menu(newFile); } else { ResourceFilesDAO.DelAll(MData.SiteID, MData.ID, (byte)SourceType.Menu, 1, 1); } } //多檔 //List<ResourceFilesModels> newFileList = new List<ResourceFilesModels>(); //int Count = 0; //foreach (var ff in updFiles) //{ // if (ff != null) // { // if (ff.ContentLength > 0) // { // Count += 1; // var fileName = Path.GetFileName(ff.FileName); // var path = Path.Combine(GetItem.UpdPath(GetItem.SiteID() + "\\Menus"), fileName); // ff.SaveAs(path); // } // } //} SysLog.SaveLog(SysActions.Edit, SysMgrNo.Menu, MData.Title, MData.SiteID, MData.ID); TempData["refreshData"] = SysActions.Edit; Response.Redirect(Request.RawUrl); return(View()); }