/// <summary>
        /// 删除资源授权,同时删除但前角色的子角色所拥有的成员
        /// </summary>
        /// <param name="roleResource"></param>
        /// <param name="childRoleList"></param>
        public void DeleteRoleResource(RoleResourceMapping roleResource, List <Role> childRoleList)
        {
            //using (DaoManager daoMgr = new DaoManager())
            //{
            //try
            //{
            //daoMgr.BeginTransaction();

            DeleteRoleResource(roleResource);
            foreach (Role role in childRoleList)
            {
                List <RoleResourceMapping> selectList = QueryByTypeResRole(roleResource.Type, roleResource.Resource.Id, role.ID);
                if (selectList != null && selectList.Count != 0)
                {
                    DeleteRoleResource(selectList[0]);
                }
            }

            //daoMgr.CommitTransaction();
            //}
            //catch (Exception ex)
            //{

            //    //daoMgr.RollBackTransaction();
            //    throw ex;
            //}

            //}
        }
        private List <RoleResourceMapping> QueryList(string sql)
        {
            List <RoleResourceMapping> infoList = new List <RoleResourceMapping>();

            //using (DbDataReader dbReader = base.ExecuteReader(sqlModel))
            //{

            if (this.ExecQuery(sql) < 0)
            {
                return(null);
            }
            while (this.Reader.Read())
            {
                RoleResourceMapping info = new RoleResourceMapping();

                info.Id       = Reader[0].ToString();   //id
                info.Name     = Reader[1].ToString();   //名称
                info.ParentId = Reader[2].ToString();   //父级角色id

                info.Role.ID = Reader[3].ToString();    //角色id
                if (Reader[4] != null)
                {
                    ResourceProcess resProcess = new ResourceProcess();
                    newResList = resProcess.QueryById(Reader[4].ToString());

                    if (newResList.Count != 0)
                    {
                        info.Resource = newResList[0];          //资源id
                    }
                    else
                    {
                        if (Reader[4].ToString() != string.Empty)
                        {
                            info.Resource.Id = Reader[4].ToString();
                        }
                        else
                        {
                            info.Resource.Id = null;
                        }
                    }
                }
                else
                {
                    info.Resource = new Resource();
                }
                info.Type        = Reader[5].ToString();                                          //类型
                info.OrderNumber = FrameWork.Function.NConvert.ToDecimal(Reader[6].ToString());   //本级内序号
                info.Parameter   = Reader[7].ToString();                                          //参数
                info.ValidState  = Reader[8].ToString();                                          //有效性标志 1 在用 0 停用
                info.OperCode    = Reader[9].ToString();                                          //操作员
                info.OperDate    = FrameWork.Function.NConvert.ToDateTime(Reader[10].ToString()); //操作时间
                info.Icon        = Reader[11].ToString();
                infoList.Add(info);
            }

            Reader.Close();

            //}
            return(infoList);
        }
        private int Delete(RoleResourceMapping info)
        {
            //AbstractSqlModel sqlMode = new SqlModel("Privilege.RoleResourceMapping.delete");
            //sqlMode["id"] = info.Id;
            //if (base.ExecuteNonQuery(sqlMode) == 0)
            //{
            //    new Exception();
            //}

            string sql = "";

            if (this.Sql.GetSql("PRIVILEGE.ROLERESOURCEMAPPING.DELETE", ref sql) == -1)
            {
                return(-1);
            }
            try
            {
                sql = string.Format(sql, info.Id);
            }
            catch (Exception ex) { this.Err = ex.Message; return(-1); }
            if (this.ExecNoQuery(sql) <= 0)
            {
                return(-1);
            }
            return(0);
        }
        /// <summary>
        /// 找相同角色同级结点的ORDER_NUMBUER
        /// </summary>
        /// <param name="roleRes"></param>
        /// <returns></returns>
        private List <RoleResourceMapping> Query(RoleResourceMapping roleRes)
        {
            //AbstractSqlModel sqlModel = new SqlModel("Privilege.RoleResourceMapping.QueryByTypeParentRole");
            //sqlModel["type"] = roleRes.Type;
            //sqlModel["parent_id"] = roleRes.Id;
            //sqlModel["role_id"] = roleRes.Role.Id;
            //return this.QueryList(sqlModel);

            string[] args = new string[] {
                roleRes.Role.ID,
                roleRes.Id,
                roleRes.Type
            };
            string sql = "";

            if (this.Sql.GetSql("PRIVILEGE.ROLERESOURCEMAPPING.QUERYBYTYPEPARENTROLE", ref sql) == -1)
            {
                return(null);
            }
            try
            {
                sql = string.Format(sql, args);
            }
            catch (Exception ex) { this.Err = ex.Message; return(null); }
            return(this.QueryList(sql));
        }
示例#5
0
        /// <summary>
        /// 生成菜单项
        /// </summary>
        /// <param name="menu"></param>
        /// <returns></returns>
        private static ToolStripMenuItem CreateMenuItem(RoleResourceMapping menu)
        {
            ToolStripMenuItem _menuItem = new ToolStripMenuItem();
            string            _menuName = "";

            if (string.IsNullOrEmpty(menu.Resource.Shortcut))
            {
                _menuName = menu.Name;
            }
            else
            {
                _menuName = menu.Name;
                _menuItem.ShowShortcutKeys = true;
                Shortcut _shortcut = (Shortcut)Enum.Parse(typeof(Shortcut), menu.Resource.Shortcut);
                _menuItem.ShortcutKeys = (Keys)_shortcut;
            }

            _menuItem.Text        = _menuName;
            _menuItem.ToolTipText = _menuName;
            if (!string.IsNullOrEmpty(menu.Icon))
            {
                _menuItem.Image = Neusoft.FrameWork.WinForms.Classes.Function.GetImage((Neusoft.FrameWork.WinForms.Classes.EnumImageList)(Neusoft.FrameWork.Function.NConvert.ToInt32(menu.Icon)));
            }
            ;
            _menuItem.Tag     = menu;
            _menuItem.Enabled = Neusoft.FrameWork.Function.NConvert.ToBoolean(menu.ValidState);
            _menuItem.Click  += new EventHandler(MenuItemClick);

            return(_menuItem);
        }
 public AddAuthorizeForm(Role crole, Role prole, RoleResourceMapping roleResource, String pageType)
 {
     InitializeComponent();
     parentRole          = prole;
     currentRole         = crole;
     controlRoleResource = roleResource;
     pageJudge           = pageType;
     Init();
 }
示例#7
0
        /// <summary>
        /// 利用反射动态生成控件
        /// </summary>
        /// <param name="menuItem"></param>
        /// <returns></returns>
        private static Control DynamicCreateControl(RoleResourceMapping menuItem)
        {
            string _controlName = menuItem.Resource.WinName.Trim();
            string _argument    = "";

            if (_controlName.IndexOf(" ") > 0)//控件带参数
            {
                _argument    = _controlName.Substring(_controlName.IndexOf(" ") + 1).Trim();
                _controlName = _controlName.Substring(0, _controlName.IndexOf(" "));
            }

            object  _obj;
            Control _control;

            try
            {
                //装载程序集
                Assembly _assembly;

                Type _type = Type.GetType(_controlName);
                if (_type == null)
                {
                    _assembly = Assembly.LoadFrom(Application.StartupPath + "\\" + menuItem.Resource.DllName.Trim() + ".dll");
                }
                else
                {
                    _assembly = System.Reflection.Assembly.GetAssembly(_type);
                }

                _type = _assembly.GetType(_controlName);
                if (_type == null)
                {
                    MessageBox.Show("程序集:" + menuItem.Resource.DllName.Trim() + ".dll中无类型为" + _controlName + "的控件!");
                    return(null);
                }

                object[] _arguments = null;
                if (!string.IsNullOrEmpty(_argument))
                {
                    _arguments    = new object[1];
                    _arguments[0] = _argument;
                }
                _obj = Activator.CreateInstance(_type, _arguments);
            }
            catch (Exception e)
            {
                SystemErrorForm _error = new SystemErrorForm(e);
                _error.ShowDialog();
                return(null);
            }

            _control      = _obj as Control;
            _control.Tag  = menuItem.Parameter;
            _control.Text = menuItem.Name;
            return(_control);
        }
        private void LoadRoleResource()
        {
            nTreeListView1.Items.Clear();
            PrivilegeService _proxy = Common.Util.CreateProxy();

            using (_proxy as IDisposable)
            {
                if (currentRole != null)
                {
                    currentRoleResourcList = _proxy.QueryByTypeRoleId(pageJudge, currentRole.ID);
                }
            }



            TreeListViewItem rootNode = null;

            if (pageJudge == MenuPageJudge)
            {
                rootNode = new TreeListViewItem("授权的菜单:", 0);
            }
            if (pageJudge == WebPageJudge)
            {
                rootNode = new TreeListViewItem("授权Web菜单:", 6);
            }
            if (pageJudge == UserPageJudge)
            {
                rootNode = new TreeListViewItem("授权的用户:", 0);
            }
            if (pageJudge == DictionaryPageJudge)
            {
                rootNode = new TreeListViewItem("授权的常数:", 3);
            }
            if (pageJudge == ReportPageJudge)
            {
                rootNode = new TreeListViewItem("授权的报表:", 0);
            }
            currentRoleResource = new RoleResourceMapping();

            currentRoleResource.ParentId    = "root";
            currentRoleResource.Id          = "root";
            currentRoleResource.OrderNumber = 0;
            currentRoleResource.ValidState  = "1";
            rootNode.Tag = currentRoleResource;
            nTreeListView1.Items.Add(rootNode);

            if (currentRoleResourcList == null || currentRoleResourcList.Count == 0)
            {
                return;
            }

            ConstructTreeNode(rootNode, currentRoleResourcList);
            nTreeListView1.ExpandAll();
        }
        private void ConstructTreeNode(TreeListViewItem parent, List <RoleResourceMapping> currentRoleResourcList)
        {
            List <TreeListViewItem> childs = null;

            if (parent != null)
            {
                childs = new List <TreeListViewItem>();
                RoleResourceMapping        parentRoleResourceMapping = parent.Tag as RoleResourceMapping;
                List <RoleResourceMapping> childRoleResourceList     = new List <RoleResourceMapping>();

                foreach (RoleResourceMapping roleResourceMapping in currentRoleResourcList)
                {
                    if (roleResourceMapping.ParentId == parentRoleResourceMapping.Id)
                    {
                        childRoleResourceList.Add(roleResourceMapping);
                    }
                }

                for (int j = 1; j < childRoleResourceList.Count; j++)
                {
                    for (int i = 0; i < childRoleResourceList.Count - j; i++)
                    {
                        if (childRoleResourceList[i].OrderNumber > childRoleResourceList[i + 1].OrderNumber)
                        {
                            RoleResourceMapping roleResourceChange = new RoleResourceMapping();
                            roleResourceChange           = childRoleResourceList[i];
                            childRoleResourceList[i]     = childRoleResourceList[i + 1];
                            childRoleResourceList[i + 1] = roleResourceChange;
                            ;
                        }
                    }
                }

                foreach (RoleResourceMapping sequenceRoleResource in childRoleResourceList)
                {
                    TreeListViewItem item = new TreeListViewItem(sequenceRoleResource.Name, 1);
                    item.Tag = sequenceRoleResource;
                    item.SubItems.AddRange(GetRoleResInfo(sequenceRoleResource));
                    childs.Add(item);
                }

                foreach (TreeListViewItem item in childs)
                {
                    parent.Items.Add(item);
                    ConstructTreeNode(item, currentRoleResourcList);
                    initImage(item);
                }
            }
        }
示例#10
0
        private static List <RoleResourceMapping> sequenceLists(List <RoleResourceMapping> childRoleResourceList)
        {
            for (int j = 1; j < childRoleResourceList.Count; j++)
            {
                for (int i = 0; i < childRoleResourceList.Count - j; i++)
                {
                    if (childRoleResourceList[i].OrderNumber > childRoleResourceList[i + 1].OrderNumber)
                    {
                        RoleResourceMapping roleResourceChange = new RoleResourceMapping();
                        roleResourceChange           = childRoleResourceList[i];
                        childRoleResourceList[i]     = childRoleResourceList[i + 1];
                        childRoleResourceList[i + 1] = roleResourceChange;
                    }
                }
            }

            return(childRoleResourceList);
        }
        public void ModifyRoleRes()
        {
            if (nTreeListView1.SelectedIndices.Count == 0)
            {
                return;
            }
            if (nTreeListView1.SelectedIndices[0] == 0)
            {
                return;
            }
            currentRoleResource = nTreeListView1.SelectedItems[0].Tag as RoleResourceMapping;
            AddAuthorizeForm updateAuthorizeForm = new AddAuthorizeForm(currentRole, parentRole, currentRoleResource, pageJudge, "UpdateRes");

            updateAuthorizeForm.ShowDialog();
            if (updateAuthorizeForm.DialogResult == DialogResult.OK)
            {
                LoadRoleResource();
            }
        }
        private RoleResourceMapping Update(RoleResourceMapping info)
        {
            //AbstractSqlModel sqlModel = new SqlModel("Privilege.RoleResourceMapping.update");
            //this.SetInfo(sqlModel, info);
            //base.ExecuteNonQuery(sqlModel);

            string[] args = new string[] {
                info.Id,
                info.Name,
                info.ParentId,
                info.Role.ID,
                info.Resource.Id,
                info.Type,
                info.OrderNumber.ToString(),
                info.Parameter,
                info.ValidState,
                info.OperCode,
                info.OperDate.ToString(),
                info.Icon
            };

            string sql = "";

            if (this.Sql.GetSql("PRIVILEGE.ROLERESOURCEMAPPING.UPDATE", ref sql) == -1)
            {
                return(null);
            }
            try
            {
                sql = string.Format(sql, args);
            }
            catch (Exception ex) { this.Err = ex.Message; return(null); }
            if (this.ExecNoQuery(sql) <= 0)
            {
                return(null);
            }

            return(info);
        }
        private void SetRoleOrgValue()
        {
            foreach (TreeListViewItem newItem in nTreeListView1.Items)
            {
                RoleResourceMapping newRoleRes = new RoleResourceMapping();
                if (newItem.Checked == true)
                {
                    string[] orgTypeArray = newItem.Tag as string[];
                    newRoleRes.Id          = new NFC.Management.DataBaseManger().GetSequence("PRIV.SEQ_ROLE_RESOURCE ");
                    newRoleRes.Type        = pageJudge;
                    newRoleRes.OperCode    = ((Context.Operator as NeuPrincipal).Identity as NeuIdentity).User.Id;
                    newRoleRes.OperDate    = NFC.Function.NConvert.ToDateTime(new NFC.Management.DataBaseManger().GetSysDateTime());
                    newRoleRes.Resource.Id = orgTypeArray[0];
                    newRoleRes.Name        = orgTypeArray[1];
                    newRoleRes.Parameter   = orgTypeArray[2];
                    newRoleRes.Role.Id     = currentRole.Id;
                    //newRoleRes.Parameter=newItem.

                    saveRoleResourcList.Add(newRoleRes);
                }
            }
        }
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="roleResource"></param>
        public void DeleteRoleResource(RoleResourceMapping roleResource)
        {
            //using (DaoManager daoMgr = new DaoManager())
            //{
            //try
            //{
            //daoMgr.BeginTransaction();

            Delete(roleResource);
            //删除菜单授权时,把其窗口的设置信息也同时删除// {EA8B2DAB-A171-49df-8C3F-087EB627A032}

            //Framework.Facade.ConfigurationManager.Delete(roleResource.Id, "FormSetting");
            //重置节点内序号

            List <RoleResourceMapping> currentRoleResList = QueryByTypeParentId(roleResource.Type, roleResource.ParentId);

            if (currentRoleResList != null)
            {
                foreach (RoleResourceMapping currentRoleRes in currentRoleResList)
                {
                    if (currentRoleRes.OrderNumber > roleResource.OrderNumber)
                    {
                        currentRoleRes.OrderNumber = currentRoleRes.OrderNumber - 1;
                        UpdateRoleResource(currentRoleRes);
                    }
                }
            }

            //daoMgr.CommitTransaction();
            //}
            //catch (Exception ex)
            //{
            //    //daoMgr.RollBackTransaction();
            //    throw ex;
            //}

            //}
        }
        public void AddRoleRes()
        {
            if (nTreeListView1.ItemsCount == 0 || nTreeListView1.SelectedItems.Count == 0)
            {
                //设置默认根节点
                currentRoleResource             = new RoleResourceMapping();
                currentRoleResource.ParentId    = "root";
                currentRoleResource.Id          = "root";
                currentRoleResource.OrderNumber = 0;
                currentRoleResource.ValidState  = "1";
            }
            else
            {
                currentRoleResource = nTreeListView1.SelectedItems[0].Tag as RoleResourceMapping;
            }

            AddAuthorizeForm addAuthorizeForm = new AddAuthorizeForm(currentRole, parentRole, currentRoleResource, pageJudge);

            addAuthorizeForm.ShowDialog();
            if (addAuthorizeForm.DialogResult == DialogResult.OK)
            {
                AuthorizeResourceControl_Load(null, null);
            }
        }
        private string[] GetRoleResInfo(RoleResourceMapping sequenceRoleRes)
        {
            string[] sequenceRoleResString = null;
            string   ValidStateString      = string.Empty;

            if (sequenceRoleRes.Resource.Id != null)
            {
                if (sequenceRoleRes.ValidState == "1")
                {
                    ValidStateString = "启用";
                }
                else
                {
                    ValidStateString = "禁用";
                }
                sequenceRoleResString = new string[] { sequenceRoleRes.Resource.Name, sequenceRoleRes.Resource.WinName, sequenceRoleRes.Resource.DllName, sequenceRoleRes.Parameter, ValidStateString, sequenceRoleRes.OperCode, sequenceRoleRes.OperDate.ToString() };
            }
            else
            {
                sequenceRoleResString = new string[] { " ", " ", " ", sequenceRoleRes.Parameter, ValidStateString, sequenceRoleRes.OperCode, sequenceRoleRes.OperDate.ToString() };
            }

            return(sequenceRoleResString);
        }
示例#17
0
        /// <summary>
        /// 生成系统默认帮助菜单
        /// </summary>
        /// <param name="menuStrip"></param>
        private static void CreateDefaultMenu(MenuStrip menuStrip, int iShortCut)
        {
            ToolStripMenuItem helpMenu = new ToolStripMenuItem("帮助" + "(&" + ((char)iShortCut).ToString() + ")");

            helpMenu.Image           = Neusoft.FrameWork.WinForms.Classes.Function.GetImage(Neusoft.FrameWork.WinForms.Classes.EnumImageList.PR菜单下);//ImageRes.主菜单节点_关闭16;
            helpMenu.DropDownOpened += new EventHandler(menuItem_DropDownOpened);
            helpMenu.DropDownClosed += new EventHandler(menuItem_DropDownClosed);


            RoleResourceMapping _register = new RoleResourceMapping();

            _register.Name             = "注册";
            _register.Resource.WinName = "*#$%Register";
            _register.ValidState       = "1";
            _register.Icon             = Neusoft.FrameWork.WinForms.Classes.EnumImageList.Z注销.GetHashCode().ToString();

            helpMenu.DropDownItems.Add(CreateMenuItem(_register));

            RoleResourceMapping _changeRegister = new RoleResourceMapping();

            _changeRegister.Name             = "更改登录";
            _changeRegister.Resource.WinName = "*#$%ResetGroup";
            _changeRegister.ValidState       = "1";
            _changeRegister.Icon             = Neusoft.FrameWork.WinForms.Classes.EnumImageList.J集体.GetHashCode().ToString();

            helpMenu.DropDownItems.Add(CreateMenuItem(_changeRegister));

            helpMenu.DropDownItems.Add(new ToolStripSeparator());

            RoleResourceMapping _change = new RoleResourceMapping();

            _change.Name             = "修改密码";
            _change.Resource.WinName = "*#$%ChangePWD";
            _change.ValidState       = "1";
            _change.Icon             = Neusoft.FrameWork.WinForms.Classes.EnumImageList.X修改.GetHashCode().ToString();

            helpMenu.DropDownItems.Add(CreateMenuItem(_change));

            helpMenu.DropDownItems.Add(new ToolStripSeparator());

            RoleResourceMapping _about = new RoleResourceMapping();

            _about.Name             = "关于";
            _about.Resource.WinName = "*#$%About";
            _about.ValidState       = "1";
            _about.Icon             = Neusoft.FrameWork.WinForms.Classes.EnumImageList.X信息.GetHashCode().ToString();

            helpMenu.DropDownItems.Add(CreateMenuItem(_about));

            #region {DD84CBE6-6C42-4b29-AB55-4775F7A759D0}

            RoleResourceMapping _calc = new RoleResourceMapping();
            _calc.Name             = "计算器";
            _calc.Resource.WinName = "*#$%Calc";
            _calc.ValidState       = "1";
            _calc.Icon             = Neusoft.FrameWork.WinForms.Classes.EnumImageList.X信息.GetHashCode().ToString();

            helpMenu.DropDownItems.Add(CreateMenuItem(_calc));

            #endregion

            RoleResourceMapping _helpManual = new RoleResourceMapping();
            _helpManual.Name             = "帮助";
            _helpManual.Resource.WinName = "*#$%Help";
            _helpManual.ValidState       = "1";
            _helpManual.Icon             = Neusoft.FrameWork.WinForms.Classes.EnumImageList.B帮助.GetHashCode().ToString();

            helpMenu.DropDownItems.Add(CreateMenuItem(_helpManual));

            helpMenu.DropDownItems.Add(new ToolStripSeparator());

            //RoleResourceMapping _language = new RoleResourceMapping();
            //_language.Name = "语言设置";
            //_language.Resource.WinName = "*#$%Language";
            //_language.ValidState = "1";

            //_help.DropDownItems.Add(CreateMenuItem(_language));

            //RoleResourceMapping _skin = new RoleResourceMapping();
            //_skin.Name = "皮肤";
            //_skin.Resource.WinName = "*#$%Skin";
            //_skin.ValidState = "1";

            //_help.DropDownItems.Add(CreateMenuItem(_skin));

            RoleResourceMapping _exit = new RoleResourceMapping();
            _exit.Name             = "退出";
            _exit.Resource.WinName = "*#$%Exit";
            _exit.ValidState       = "1";
            _exit.Icon             = Neusoft.FrameWork.WinForms.Classes.EnumImageList.T退出.GetHashCode().ToString();

            helpMenu.DropDownItems.Add(CreateMenuItem(_exit));

            menuStrip.Items.Add(helpMenu);
        }
 /// <summary>
 /// 找相同角色同级结点的ORDER_NUMBUER
 /// </summary>
 /// <param name="roleRes"></param>
 /// <returns></returns>
 public List <RoleResourceMapping> QueryByTypeParentRole(RoleResourceMapping roleRes)
 {
     return(Query(roleRes));
 }
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="roleResourceMapping"></param>
 /// <returns></returns>
 public RoleResourceMapping UpdateRoleResource(RoleResourceMapping roleResourceMapping)
 {
     return(Update(roleResourceMapping));
 }
 /// <summary>
 /// 插入
 /// </summary>
 /// <param name="roleResourceMapping"></param>
 public void InsertRoleResource(RoleResourceMapping roleResourceMapping)
 {
     Insert(roleResourceMapping);
 }
示例#21
0
 /// <summary>
 /// 找相同角色同级结点的ORDER_NUMBUER
 /// </summary>
 /// <param name="type"></param>
 /// <param name="parentId"></param>
 /// <param name="roleId"></param>
 /// <returns></returns>
 public List <RoleResourceMapping> QueryByTypeParentRole(RoleResourceMapping parentRoleRes)
 {
     return(this.Channel.QueryByTypeParentRole(parentRoleRes));
 }
示例#22
0
 public RoleResourceMapping UpdateRoleResource(RoleResourceMapping roleResource)
 {
     return(this.Channel.UpdateRoleResource(roleResource));
 }
        private RoleResourceMapping SetRoleResource()
        {
            RoleResourceMapping currentRoleResource = new RoleResourceMapping();

            if (cbResource.SelectedValue != null)
            {
                currentRoleResource.Resource.Id = cbResource.SelectedValue.ToString();
            }
            else
            {
                currentRoleResource.Resource.Id = null;
            }

            if (nrbRight.Checked == true)
            {
                currentRoleResource.ValidState = "1";
            }
            else
            {
                currentRoleResource.ValidState = "0";
            }

            if (controlRoleResource == null)
            {
                currentRoleResource.ParentId = "root";

                PrivilegeService _proxy = Common.Util.CreateProxy();
                using (_proxy as IDisposable)
                {
                    currentRoleResource.OrderNumber = _proxy.QueryRoleResource(pageJudge, "root").Count;
                }
            }
            else
            {
                if (pageUpdate == JudgeOperate)
                {
                    currentRoleResource.ParentId    = controlRoleResource.ParentId;
                    currentRoleResource.OrderNumber = controlRoleResource.OrderNumber;
                }
                else
                {
                    currentRoleResource.ParentId = controlRoleResource.Id;

                    PrivilegeService _proxy = Common.Util.CreateProxy();
                    using (_proxy as IDisposable)
                    {
                        //为根节点默认当前的角色
                        if (controlRoleResource.Id == "root")
                        {
                            controlRoleResource.Role = currentRole;
                            controlRoleResource.Type = pageJudge;
                        }
                        currentRoleResource.OrderNumber = _proxy.QueryByTypeParentRole(controlRoleResource).Count;
                    }
                }
            }

            if (pageUpdate == JudgeOperate)
            {
                currentRoleResource.Role.ID = controlRoleResource.Role.ID;
                currentRoleResource.Id      = controlRoleResource.Id;
            }
            else
            {
                currentRoleResource.Role.ID = currentRole.ID;
                currentRoleResource.Id      = new FrameWork.Management.DataBaseManger().GetSequence("PRIV.SEQ_ROLE_RESOURCE");
            }
            currentRoleResource.Parameter = tbparameter.Text.Trim();
            currentRoleResource.Type      = pageJudge;
            currentRoleResource.Name      = tbTypeName.Text.Trim();
            currentRoleResource.OperCode  = Neusoft.FrameWork.Management.Connection.Operator.ID;
            currentRoleResource.OperDate  = FrameWork.Function.NConvert.ToDateTime(new FrameWork.Management.DataBaseManger().GetSysDateTime());

            if (cmbImage.SelectedIndex != -1)
            {
                currentRoleResource.Icon = cmbImage.SelectedIndex.ToString();
            }
            //if (cmbImage.Text == string.Empty)
            //{
            //    currentRoleResource.Icon = null;
            //}
            return(currentRoleResource);
        }
示例#24
0
        private static System.Windows.Forms.Control DynamicCreateForm(Control control, RoleResourceMapping menuItem)
        {
            System.Windows.Forms.Form _form = null;

            IMaintenanceControlable _query = control as IMaintenanceControlable;

            if (_query != null)//实现该接口,为一般查询窗口,对应承载窗体为frmQueryBase
            {
                _form      = new frmQuery(_query);
                _form.Text = control.Text;
                _form.Icon = HIS.Properties.Resources.标无白边;
                return(_form);
            }

            IControlable _operation = control as IControlable;

            if (_operation != null)//业务操作窗口,承载窗体为frmOperationBase
            {
                TreeView _tree = null;

                //生成树
                if (!string.IsNullOrEmpty(menuItem.Resource.TreeName))
                {
                    _tree = CreateTree(menuItem.Resource.TreeName, menuItem.Resource.TreeDllName);
                    if (_tree == null)
                    {
                        return(null);
                    }
                }

                if (_tree == null)
                {
                    _form = new frmBaseForm(control);
                }
                else
                {
                    _form = new frmBaseForm(control, _tree);
                }
                _form.Text = control.Text;
            }
            else
            {
                //_form = new System.Windows.Forms.Form();
                //_form.Controls.Add(control);
                //_form.Size = new Size(control.Size.Width + 10, control.Size.Height + 30);
                //_form.StartPosition = FormStartPosition.CenterScreen;

                // _form.Text = control.Text;
                return(control);
            }

            _form.Tag  = menuItem.Parameter;
            _form.Icon = HIS.Properties.Resources.标无白边;
            return(_form);
        }
示例#25
0
        private static void MenuItemClick(object sender, EventArgs e)
        {
            RoleResourceMapping _menuItem =
                (sender as ToolStripMenuItem).Tag as RoleResourceMapping;

            if (_menuItem == null)
            {
                return;
            }
            if (string.IsNullOrEmpty(_menuItem.Resource.WinName))
            {
                return;
            }
            int _rtn = ResponseDefaultMenu(_menuItem);

            //if (_rtn == 0 | _rtn == 1) return;//返回2继续
            //{D55E413A-9947-4783-B031-9EA1F2E6104B}
            if (_rtn == 0 | _rtn == 1 | _rtn == -1)
            {
                return;                                  //返回2继续
            }
            //控制重复打开窗口
            if (openedForms.ContainsKey(_menuItem.Id))
            {
                Form form = openedForms[_menuItem.Id] as Form;
                if (form != null && form.Visible)
                {
                    form.Icon = HIS.Properties.Resources.标无白边;
                    ((Form)openedForms[_menuItem.Id]).Activate();
                    return;
                }
            }

            Control _control = DynamicCreateControl(_menuItem);

            if (_control == null)
            {
                return;
            }
            _control.Dock = DockStyle.Fill;

            Control preTemControl = _control;

            //传入的控件不是窗口,用系统自动创建承载窗体
            if (!_control.GetType().IsSubclassOf(typeof(System.Windows.Forms.Form)))
            {
                _control = (Control)DynamicCreateForm(_control, _menuItem);
            }

            if (_control == null)
            {
                return;
            }


            if (_control.GetType() == typeof(frmBaseForm) ||
                _control.GetType().IsSubclassOf(typeof(frmBaseForm)))
            {
                //要修改,读取菜单的样式。
                (_control as frmBaseForm).SetFormID(_menuItem.Id);//设置窗体显示风格
            }
            #region 4.5中有此段代码,移植过来的
            //获取接口是否实现
            Neusoft.FrameWork.WinForms.Classes.IPreArrange preArrange = preTemControl as Neusoft.FrameWork.WinForms.Classes.IPreArrange;

            if (preArrange != null)
            {
                if (preArrange.PreArrange() == -1)
                {
                    return;
                }
            }
            #endregion
            openedForms[_menuItem.Id] = _control as Form;


            //显示窗体
            ShowControl(_control, _menuItem.Resource.WinName.Trim(), _menuItem.Resource.ShowType);
        }
示例#26
0
 public void InsertRoleResource(RoleResourceMapping roleResourceMapping)
 {
     this.Channel.InsertRoleResource(roleResourceMapping);
 }
示例#27
0
        private static int ResponseDefaultMenu(RoleResourceMapping menuItem)
        {
            switch (menuItem.Resource.WinName)
            {
            case "*#$%Register":

                frmLogin _frmLogin = new frmLogin();
                _frmLogin.ShowDialog();

                return(0);

            case "*#$%ResetGroup":
                foreach (Form f in parentForm.MdiChildren)
                {
                    f.Close();
                }
                Neusoft.HISFC.Models.Base.Employee user = Neusoft.FrameWork.Management.Connection.Operator as Neusoft.HISFC.Models.Base.Employee;
                //{D55E413A-9947-4783-B031-9EA1F2E6104B}
                //LoginFunction.Login(user.User01, user.Password);
                if (LoginFunction.Login(user.User01, user.Password) < 0)
                {
                    return(-1);
                }
                if (HIS.Program.MainForm == null)
                {
                    HIS.Program.MainForm = new frmMain();
                }
                HIS.Program.MainForm.InitMenu(((Neusoft.HISFC.Models.Base.Employee)Neusoft.FrameWork.Management.Connection.Operator).CurrentGroup.ID);

                return(0);

            case "*#$%ChangePWD":

                frmChangePwd _frmChange = new frmChangePwd();
                _frmChange.ShowDialog();

                return(0);

            case "*#$%Help":
                try
                {
                    System.Diagnostics.Process.Start(Neusoft.FrameWork.WinForms.Classes.Function.CurrentPath + "help.chm");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                return(0);

            case "*#$%About":
                frmAbout frm = new frmAbout();
                frm.ShowDialog();

                return(0);

                #region {DD84CBE6-6C42-4b29-AB55-4775F7A759D0}
            case "*#$%Calc":
                try
                {
                    System.Diagnostics.Process.Start("calc.exe");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("加载系统计算器时发生异常");
                }
                return(0);

                #endregion
            case "*#$%Language":
                //frmLanguage language = new frmLanguage();
                //language.ShowDialog();
                return(0);

            case "*#$%SuperMan":
                //frmSelectUser frmSuperMan = new frmSelectUser();
                //frmSuperMan.MdiParent = mainForm;
                //frmSuperMan.Show();
                //frmSuperMan.WindowState = FormWindowState.Normal;
                //frmSuperMan.WindowState = FormWindowState.Maximized;
                return(0);

            case "*#$%Skin":
                //frmSkinManager frmSkin = new frmSkinManager();
                //frmSkin.ShowDialog();
                return(0);

            case "*#$%Exit":
                parentForm.Close();
                return(0);
            }

            return(2);//继续下面的
        }
示例#28
0
 public void DeleteRoleResource(RoleResourceMapping roleResource)
 {
     this.Channel.DeleteRoleResource(roleResource);
 }
示例#29
0
 public void DeleteRoleResource(RoleResourceMapping roleResource, List <Role> childRoleList)
 {
     this.Channel.DeleteRoleResource(roleResource, childRoleList);
 }
 /// <summary>
 /// 找相同角色同级结点的ORDER_NUMBUER
 /// </summary>
 /// <param name="parentRoleres"></param>
 public List <RoleResourceMapping> QueryByTypeParentRole(RoleResourceMapping parentRoleres)
 {
     return(new RoleResourceProcess().QueryByTypeParentRole(parentRoleres));
 }