/// <summary> /// 检查导航权限 /// </summary> /// <param name="user"></param> /// <param name="toolBar"></param> /// <returns></returns> public bool CheckHasPms(UserInfo user, CompanyWebsite_ToolBar toolBar) { BLLUser bllUser = new BLLUser(); if (toolBar.VisibleSet == 1 && !bllUser.IsDistributionMember(user)) { return(false); } if (toolBar.VisibleSet == 2) { if (user == null || user.AutoID == 0) { return(false); } BLLPermission.BLLMenuPermission bllMpms = new BLLPermission.BLLMenuPermission(""); if (!bllMpms.CheckUserHasGroupIdInGroupIds(user.UserID, toolBar.PermissionGroup)) { return(false); } } return(true); }
//更新导航 public static void UpdateToolbar(string toolbars) { BLLCompanyWebSite bllToolbar = new BLLCompanyWebSite(); List <toolbar> listToolbar = JsonConvert.DeserializeObject <List <toolbar> >(toolbars); List <string> listType = new List <string>(); if (listToolbar.Count > 0) { listType = listToolbar.Select(p => p.key_type).Distinct().Where(g => !string.IsNullOrWhiteSpace(g) && g != "null").ToList(); } foreach (string type in listType) { List <toolbar> listTypeToolbar = listToolbar.Where(p => p.key_type == type && p.id >= 0).ToList(); List <CompanyWebsite_ToolBar> listOldToolbar = bllToolbar.GetToolBarList(int.MaxValue, 1, bllToolbar.WebsiteOwner, null, type, true, null); List <CompanyWebsite_ToolBar> listOldBaseToolbar = bllToolbar.GetToolBarList(int.MaxValue, 1, null, null, type, true, null, true); int i = 0; List <CompanyWebsite_ToolBar> listPostToolbar = new List <CompanyWebsite_ToolBar>(); foreach (toolbar item in listTypeToolbar) { i++; CompanyWebsite_ToolBar sli = listOldToolbar.FirstOrDefault(p => item.id > 0 && (p.AutoID == item.id || p.BaseID == item.id)); if (sli != null) { sli.ToolBarName = item.title; sli.ImageUrl = item.img; sli.ToolBarImage = item.ico; sli.ActBgColor = item.active_bg_color; sli.BgColor = item.bg_color; sli.ActColor = item.active_color; sli.Color = item.color; sli.IcoColor = item.ico_color; sli.ActBgImage = item.active_bg_img; sli.BgImage = item.bg_img; sli.ToolBarType = item.type; sli.ToolBarTypeValue = item.url; sli.Stype = item.s_type; sli.Stext = item.s_text; sli.Svalue = item.s_value; sli.PlayIndex = i; sli.VisibleSet = item.visible_set; sli.PermissionGroup = item.permission_group; sli.RightText = item.right_text; listPostToolbar.Add(sli); } else { CompanyWebsite_ToolBar bli = listOldBaseToolbar.FirstOrDefault(p => p.AutoID == item.id); sli = new CompanyWebsite_ToolBar(); sli.ToolBarName = item.title; sli.ImageUrl = item.img; sli.ToolBarImage = item.ico; sli.ActBgColor = item.active_bg_color; sli.BgColor = item.bg_color; sli.ActColor = item.active_color; sli.Color = item.color; sli.IcoColor = item.ico_color; sli.ActBgImage = item.active_bg_img; sli.BgImage = item.bg_img; sli.ToolBarType = item.type; sli.ToolBarTypeValue = item.url; sli.PlayIndex = i; sli.WebsiteOwner = bllToolbar.WebsiteOwner; sli.KeyType = item.key_type; sli.UseType = "nav"; sli.IsShow = "1"; sli.Stype = item.s_type; sli.Stext = item.s_text; sli.Svalue = item.s_value; if (bli != null) { sli.BaseID = bli.AutoID; sli.IsSystem = 1; } sli.VisibleSet = item.visible_set; sli.PermissionGroup = item.permission_group; sli.RightText = item.right_text; listPostToolbar.Add(sli); } } List <CompanyWebsite_ToolBar> listAddBaseToolbar = listOldBaseToolbar.Where(p => !listPostToolbar.Exists(pi => pi.BaseID == p.AutoID) && !listOldToolbar.Exists(po => po.BaseID == p.AutoID)).ToList(); foreach (CompanyWebsite_ToolBar item in listAddBaseToolbar) { i++; item.IsShow = "0"; item.BaseID = item.AutoID; item.AutoID = 0; item.IsSystem = 0; item.WebsiteOwner = bllToolbar.WebsiteOwner; item.PlayIndex = i; listPostToolbar.Add(item); } List <CompanyWebsite_ToolBar> listDeleteToolbar = listOldToolbar.Where(p => !listPostToolbar.Exists(pi => pi.AutoID == p.AutoID || (pi.AutoID != 0 && pi.BaseID != 0 && pi.BaseID == p.BaseID)) && p.IsShow == "1").ToList(); foreach (CompanyWebsite_ToolBar item in listDeleteToolbar) { CompanyWebsite_ToolBar bli = listOldBaseToolbar.FirstOrDefault(p => p.AutoID == item.BaseID); if (bli != null) { i++; bli.IsShow = "0"; bli.BaseID = bli.AutoID; bli.AutoID = 0; bli.IsSystem = 0; bli.WebsiteOwner = bllToolbar.WebsiteOwner; bli.PlayIndex = i; listPostToolbar.Add(bli); } bllToolbar.Delete(item); } foreach (CompanyWebsite_ToolBar item in listPostToolbar) { if (item.AutoID == 0) { bllToolbar.Add(item); } else { bllToolbar.Update(item); } } } }
/// <summary> /// /// </summary> /// <param name="componentKey"></param> /// <param name="websiteOwner"></param> private void AddSysToolBar(string toolBarKey, string websiteOwner, JToken sysJson) { JArray nJArray = JArray.FromObject(sysJson); if (nJArray.Count == 0) { return; } StringBuilder sbSql = new StringBuilder(); sbSql.AppendFormat(" WebsiteOwner='{0}' ", websiteOwner); sbSql.AppendFormat(" AND KeyType='{0}' ", toolBarKey); CompanyWebsite_ToolBar oToolBar = Get <CompanyWebsite_ToolBar>(sbSql.ToString()); if (oToolBar != null) { return; } int sort = 1; foreach (JToken item in nJArray) { CompanyWebsite_ToolBar nToolBar = new CompanyWebsite_ToolBar(); if (item["ToolBarName"] != null) { nToolBar.ToolBarName = item["ToolBarName"].ToString(); } if (item["ToolBarImage"] != null) { nToolBar.ToolBarImage = item["ToolBarImage"].ToString(); } if (item["ToolBarType"] != null) { nToolBar.ToolBarType = item["ToolBarType"].ToString(); } if (item["ToolBarTypeValue"] != null) { nToolBar.ToolBarTypeValue = item["ToolBarTypeValue"].ToString(); } nToolBar.KeyType = toolBarKey; if (item["UseType"] != null) { nToolBar.UseType = item["UseType"].ToString(); } if (item["ActBgColor"] != null) { nToolBar.ActBgColor = item["ActBgColor"].ToString(); } if (item["BgColor"] != null) { nToolBar.BgColor = item["BgColor"].ToString(); } if (item["ActColor"] != null) { nToolBar.ActColor = item["ActColor"].ToString(); } if (item["Color"] != null) { nToolBar.Color = item["Color"].ToString(); } if (item["PreID"] != null) { nToolBar.PreID = Convert.ToInt32(item["PreID"]); } if (item["IcoColor"] != null) { nToolBar.IcoColor = item["IcoColor"].ToString(); } if (item["PermissionGroup"] != null) { nToolBar.PermissionGroup = item["PermissionGroup"].ToString(); } nToolBar.WebsiteOwner = websiteOwner; nToolBar.PlayIndex = sort; nToolBar.IsShow = "1"; Add(nToolBar); sort++; } }
protected void Page_Load(object sender, EventArgs e) { aid = Request["aid"]; webAction = Request["Action"]; actionStr = webAction == "add" ? "添加" : "编辑"; List <int> limitPreList = new List <int>(); if (webAction == "edit") { model = bll.GetCompanyWebsiteToolBarById(aid); if (model == null) { Response.End(); } else { limitPreList.Add(model.AutoID); limitPreList.AddRange(bll.GetChildToolBarIDList(model.AutoID, bll.WebsiteOwner)); } } userType = bll.GetCurrentUserInfo().UserType; string is_system = this.Request["is_system"]; string isPc = Request["isPc"]; StringBuilder sbWhere = new StringBuilder(); StringBuilder sbWhere1 = new StringBuilder(); sbWhere.AppendFormat(" WebsiteOwner = '{0}'", bll.WebsiteOwner); sbWhere1.AppendFormat(" WebsiteOwner Is null"); if (!string.IsNullOrEmpty(isPc)) { sbWhere.AppendFormat(" And IsPc = '{0}'", isPc); sbWhere1.AppendFormat(" And IsPc = '{0}'", isPc); } else { sbWhere.AppendFormat(" And IsNull(IsPc,0)=0"); sbWhere1.AppendFormat(" And IsNull(IsPc,0)=0"); } List <CompanyWebsite_ToolBar> dataList = bll.GetColList <CompanyWebsite_ToolBar>(int.MaxValue, 1, sbWhere.ToString(), "AutoID,KeyType,BaseID"); if (is_system != "1") { List <CompanyWebsite_ToolBar> dataList1 = bll.GetColList <CompanyWebsite_ToolBar>(int.MaxValue, 1, sbWhere1.ToString(), "AutoID,KeyType"); List <int> nList = dataList.Select(p => p.BaseID).Distinct().ToList(); foreach (CompanyWebsite_ToolBar item in dataList1.Where(p => !nList.Contains(p.AutoID))) { dataList.Add(item); } } List <string> result = dataList.OrderBy(p => p.KeyType).Select(p => p.KeyType).Distinct().ToList(); groups = JsonConvert.SerializeObject(result); limitPres = JsonConvert.SerializeObject(limitPreList); //图标引用js icoScript = bll.GetIcoScript(); iconclasses = bll.GetIcoClassArray(); }