public ActionResult IndexModuleFunction(int?page, int?pagesize, string name, string first) { dynamic data = new System.Dynamic.ExpandoObject(); if (name == null) { name = ""; } var list = _ModuleFunctionRepos.GetModuleById(name); int _page = page.HasValue ? page.Value : 1; int _pagesize = pagesize.HasValue ? pagesize.Value : 12; var vs = list.ToPagedList(_page, _pagesize); var firstone = new ModuleFunction(); if (first != null && first != "") { firstone = list.FirstOrDefault(p => p.ModuleFunctionId == first); var firspage = vs.IndexOf(firstone); if (firspage == -1) { vs.Insert(0, firstone); } else if (firspage > 0) { vs.Remove(firstone); vs.Insert(0, firstone); } } data.name = name; data.list = vs; data.pageSize = _pagesize; data.pageIndex = _page; data.totalCount = vs.TotalCount; string otherparam = ""; if (name != "") { otherparam += "&name=" + name; } data.otherParam = otherparam; return(PartialView(data)); }
private void LoadFunctionAuthority(ModuleFunction f) { Dictionary <int, string> o = new Dictionary <int, string>(); f.UserAuthority = FunctionAuthority.All; Form frm = f.LoadForm(null); if (frm is frmBaseChild) { (frm as frmBaseChild).InitialForm(); o = (frm as frmBaseChild).AuthorityDisplay; } DataRow drAuthority; foreach (int key in o.Keys) { var drAuthoritys = dtModulesFunctionAuthority.Select(String.Format("{0}='{1}' AND {2}='{3}'", sys_ModulesFunctionAuthority.FunctionID, f.FunctionID, sys_ModulesFunctionAuthority.AuthorityID, key)); if (drAuthoritys.Length > 0) { drAuthority = drAuthoritys[0]; drAuthority["Tag"] = "Y"; drAuthority.AcceptChanges(); } else { drAuthority = dtModulesFunctionAuthority.Rows.Add(); drAuthority["Tag"] = "Y"; drAuthority[sys_ModulesFunctionAuthority.FunctionID] = f.FunctionID; drAuthority[sys_ModulesFunctionAuthority.AuthorityID] = key; drAuthority[sys_ModulesFunctionAuthority.AuthorityName] = o[key]; } //if (FunctionAuthorityCommon.APPROVAL.Equals(key))//审核不算权限 // drAuthority[sys_ModulesFunction.AppDoc] = "Y"; drAuthority[sys_ModulesFunctionAuthority.AuthorityNameRef] = o[key]; } }
public ActionResult IndexModuleFunction(int? page, int? pagesize, string name, string first) { dynamic data = new System.Dynamic.ExpandoObject(); if (name == null) name = ""; var list = _ModuleFunctionRepos.GetModuleById(name); int _page = page.HasValue ? page.Value : 1; int _pagesize = pagesize.HasValue ? pagesize.Value : 12; var vs = list.ToPagedList(_page, _pagesize); var firstone = new ModuleFunction(); if (first != null && first != "") { firstone = list.FirstOrDefault(p => p.ModuleFunctionId == first); var firspage = vs.IndexOf(firstone); if (firspage == -1) { vs.Insert(0, firstone); } else if (firspage > 0) { vs.Remove(firstone); vs.Insert(0, firstone); } } data.name = name; data.list = vs; data.pageSize = _pagesize; data.pageIndex = _page; data.totalCount = vs.TotalCount; string otherparam = ""; if (name != "") otherparam += "&name=" + name; data.otherParam = otherparam; return PartialView(data); }
//加载模块功能 private void LoadModuleFunction(NavBarGroup CurrentGroup, BarSubItem CurrentBarItem, ModuleFunction fun) { if (CurrentGroup != null) { //添加功能到navBarControl1 NavBarItem item = navBarControl1.Items.Add(); item.Caption = fun.Caption; item.Tag = fun.FunctionID; //item.SmallImage = FunSmallImage; item.SmallImage = imageList1.Images["Forward"]; item.LinkClicked += item_LinkClicked; CurrentGroup.ItemLinks.Insert(0, item); if (fun.IsNew) { item.Appearance.ForeColor = Color.FromArgb(0x99, 0x00, 0x33); item.Appearance.Font = new Font(CurrentGroup.Appearance.Font, FontStyle.Bold); } } if (CurrentBarItem != null) { //添加功能到bbi_Module var bbif = new DevExpress.XtraBars.BarButtonItem() { Caption = fun.Caption, Tag = fun.FunctionID, //Glyph = FunSmallImage Glyph = imageList1.Images["Forward"] }; //if (fun.IsNew) //{ // item.Appearance.ForeColor = Color.FromArgb(0x99, 0x00, 0x33); // item.Appearance.Font = new Font(CurrentGroup.Appearance.Font, FontStyle.Bold); //} bbif.ItemClick += bbi_ItemClick; this.ribbonControl1.Items.Add(bbif); if (CurrentBarItem.ItemLinks.Count > 0) { CurrentBarItem.InsertItem(CurrentBarItem.ItemLinks[0], bbif); } else { CurrentBarItem.AddItem(bbif); } } }
public static WcfError ValidateSession(String session, String moduleName) { //第一步,获取用户 using (ISession hibernateSession = NHibernateHelper.CurrentHelper.OpenSession()) { var query = hibernateSession.CreateQuery("from SessionToken where SessionGuid = ?"); query.SetString(0, session); var sessionToken = query.List <SessionToken>().FirstOrDefault(); if (sessionToken?.User == null || sessionToken.User <= 0) { return(WcfError.InvalidSession); } //timeout if (sessionToken.LastOperationTime < DateTime.Now.Subtract(new TimeSpan(0, 0, TimeoutInSecond))) { return(WcfError.SessionTimeout); } sessionToken.LastOperationTime = DateTime.Now; sessionToken.LastOperation = moduleName; hibernateSession.Update(sessionToken); hibernateSession.Flush(); //找到Module query = hibernateSession.CreateQuery("from ModuleFunction where end_date is null and FunctionQualifier = ?"); query.SetString(0, moduleName); var module = query.List <ModuleFunction>().FirstOrDefault(); if (module == null) { // ReSharper disable once ConditionIsAlwaysTrueOrFalse if (DEBUG_ALLOW_EVERYTHING) // ReSharper disable once HeuristicUnreachableCode #pragma warning disable 162 { query = hibernateSession.CreateQuery( "from ModuleFunction where end_date is null and FunctionQualifier = ?"); query.SetString(0, "[DEBUG]" + moduleName); module = query.List <ModuleFunction>().FirstOrDefault(); if (module == null) { module = new ModuleFunction { FunctionQualifier = "[DEBUG]" + moduleName, BusinessName = moduleName, ServiceName = moduleName }; module.Id = (int)hibernateSession.Save(module); hibernateSession.Flush(); } } else // ReSharper disable once HeuristicUnreachableCode { return(WcfError.NoSuchModule); } #pragma warning restore 162 } int userId = sessionToken.User.Value; //找到该用户的所有用户组,看是否有权限 var user = hibernateSession.Get <User>(userId); var privilege = PrivilegeApi.GetModuleFunctionPrivilege(userId, module.Id, hibernateSession); if (privilege != null) { if (privilege.Status == PermissionStateTrue) { return(WcfError.None); } else { return(WcfError.InsufficientPrivilege); } } //TODO:寻找用户组间接授权 //没有授权 // ReSharper disable once ConditionIsAlwaysTrueOrFalse if (DEBUG_ALLOW_EVERYTHING) // ReSharper disable once HeuristicUnreachableCode #pragma warning disable 162 { var result = new ModuleFunctionMap(); result.State = PermissionStateTrue; result.ModuleId = module.Id; result.EntityId = userId; result.EntityTypeId = EntityStructureApi.GetStructureByTypeName("UserGroup")?.Id ?? 0; result.Description = "[Debug]为用户[" + user.Name + "]赋予" + module.FunctionQualifier + "的执行权限。"; hibernateSession.Save(result); hibernateSession.Flush(); return(WcfError.None); } else { // ReSharper disable once HeuristicUnreachableCode return(WcfError.InsufficientPrivilege); } #pragma warning restore 162 } }
public static Dictionary<string, ModulePreset> GetPresets( ModuleFunction function ) { return Presets.Where( p => p.Value.Factory.Function == function ).ToDictionary( k => k.Key, v => v.Value ); }
public static Dictionary <string, ModulePreset> GetPresets(ModuleFunction function) { return(Presets.Where(p => p.Value.Factory.Function == function).ToDictionary(k => k.Key, v => v.Value)); }
private void btn_Click(object sender, EventArgs e) { ModuleFunction fun = (sender as SimpleButton).Tag as ModuleFunction; MDIForm.ShowChildForm(fun); }