void btnOK_Click(object sender, EventArgs e)
        {
            //保存菜单
            if (Check() == -1)
            {
                return;
            }

            Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem _menu = GetValue();

            try
            {
                IPrivilegeService _proxy = Common.Util.CreateProxy();
                using (_proxy as IDisposable)
                {
                    _current = _proxy.SaveMenuItem(_menu);
                }
            }
            catch (Exception ex)
            {
                _current = null;
                MessageBox.Show(ex.Message, "提示");
                return;
            }
            MessageBox.Show("保存成功!", "提示");

            //this.Close();
        }
        private void LoadRole()
        {
            try
            {
                IPrivilegeService _proxy = Common.Util.CreateProxy();

                using (_proxy as IDisposable)
                {
                    _roles = _proxy.QueryRole();
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "提示");
                return;
            }

            NeuPrincipal _principal = (NeuPrincipal)Facade.Context.Operator;
            TreeNode     _root      = NewNode(_principal.CurrentRole, 6);

            this.tvRole.Nodes.Add(_root);

            this.AddRoleNode(_root, _principal.CurrentRole.Id);
            _root.Expand();
        }
Example #3
0
        private int LoadPerson()
        {
            IPrivilegeService proxy = Common.Util.CreateProxy();

            try
            {
                IList <string> keys;
                using (proxy as IDisposable)
                {
                    keys = proxy.QueryAppID();
                    foreach (string _key in keys)
                    {
                        IList <IPerson> collection = proxy.QueryPerson(_key);
                        foreach (IPerson person in collection)
                        {
                            persons.Add(person);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "提示");
                return(-1);
            }

            return(0);
        }
        private void QueryMenu(string roleId)
        {
            IPrivilegeService _proxy = Common.Util.CreateProxy();
            IList <Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem> _objs;

            using (_proxy as IDisposable)
            {
                _objs = _proxy.QueryMenu(roleId);
            }

            tvMenu.AfterCheck  -= this.tvMenu_AfterCheck;
            tvMenu.BeforeCheck -= this.tvMenu_BeforeCheck;
            //恢复初始状态
            GetAuthorizableNodes();

            foreach (Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem _obj in _objs)
            {
                TreeNode _findNode = SeekNode(tvMenu.Nodes, _obj.Id);
                if (_findNode != null)
                {
                    _findNode.Checked = true;
                    //CheckParentNode(_findNode);
                }
            }

            tvMenu.AfterCheck  += this.tvMenu_AfterCheck;
            tvMenu.BeforeCheck += this.tvMenu_BeforeCheck;
        }
        private void RemoveUser()
        {
            ListView.SelectedListViewItemCollection _selected = lvUser.SelectedItems;
            if (_selected.Count == 0)
            {
                return;
            }

            if ((_selected[0].Tag as IUser).Id == "admin")
            {
                MessageBox.Show("该用户为系统默认用户,不能删除!", "提示");
                return;
            }

            if (MessageBox.Show("是否要删除该用户?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
            {
                return;
            }

            try
            {
                IPrivilegeService _proxy = Common.Util.CreateProxy();
                using (_proxy as IDisposable)
                {
                    _proxy.RemoveUser((_selected[0].Tag as IUser).Id);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "提示");
                return;
            }

            lvUser.Items.Remove(_selected[0]);
        }
 public SubmissionService CreateService(
     IHttpContextAccessor httpContext               = null,
     IAgreementService agreementService             = null,
     ISubmissionRulesService submissionRulesService = null,
     IBusinessEventService businessEventService     = null,
     IEmailService emailService       = null,
     IEnrolleeService enrolleeService = null,
     IEnrolleeSubmissionService enrolleeSubmissionService     = null,
     IVerifiableCredentialService verifiableCredentialService = null,
     IPrivilegeService privilegeService = null,
     ILogger <SubmissionService> logger = null)
 {
     return(new SubmissionService(
                TestDb,
                httpContext ?? A.Fake <IHttpContextAccessor>(),
                agreementService ?? A.Fake <IAgreementService>(),
                submissionRulesService ?? A.Fake <ISubmissionRulesService>(),
                businessEventService ?? A.Fake <IBusinessEventService>(),
                emailService ?? A.Fake <IEmailService>(),
                enrolleeService ?? A.Fake <IEnrolleeService>(),
                enrolleeSubmissionService ?? A.Fake <IEnrolleeSubmissionService>(),
                verifiableCredentialService ?? A.Fake <IVerifiableCredentialService>(),
                privilegeService ?? A.Fake <IPrivilegeService>(),
                logger ?? A.Fake <ILogger <SubmissionService> >()
                ));
 }
        void btnSave_Click(object sender, EventArgs e)
        {
            TreeNode _current = tvRole.SelectedNode;

            if (_current == null)
            {
                return;
            }

            List <string> roles = new List <string>();

            roles.Add((_current.Tag as IRole).Id);

            List <string> menus = new List <string>();

            menus = GetSelectedMenuID(tvMenu.Nodes);

            try
            {
                IPrivilegeService _proxy = Common.Util.CreateProxy();
                using (_proxy as IDisposable)
                {
                    _proxy.AddRoleMenuMap(roles, menus);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "提示");
                return;
            }

            MessageBox.Show("保存成功!", "提示");
        }
 public UserController(IPrivilegeService PService, IUserService UService, IDocumentTypesService DTService, IDocumentService DService)
 {
     userService         = UService;
     privilegeService    = PService;
     documentService     = DService;
     documentTypeService = DTService;
 }
Example #9
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env,
                              IPrivilegeService privilegeService, IRoleService roleService,
                              IUserService userService)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                app.UseHsts();
            }
            app.UseStatusCodePagesWithReExecute("/Home/StatusCodePage", "?code={0}");

            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            PrivilegeInitializer.SeedData(privilegeService);
            RoleInitializer.SeedData(privilegeService, roleService);
            UserInitializer.SeedData(userService, roleService);

            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id:int?}");
            });
        }
 public PrivilegeController(IPrivilegeService iPrivilege, ILogger <PrivilegeController> logger, IMapper mapper, IHttpContextAccessor httpContextAccessor)
 {
     _privilegeService    = iPrivilege;
     _logger              = logger;
     _mapper              = mapper;
     _httpContextAccessor = httpContextAccessor;
 }
Example #11
0
 public PrivilegeController(
     IPrivilegeService privilegeService,
     IProgramService programService
     )
 {
     _privilegeService = privilegeService;
     _programService = programService;
 }
Example #12
0
 public PrivilegeController(IWebAppContext appContext
                            , IPrivilegeService privilegeService
                            , IPrivilegeTreeBuilder privilegeTreeBuilder)
     : base(appContext)
 {
     _privilegeService     = privilegeService;
     _privilegeTreeBuilder = privilegeTreeBuilder;
 }
Example #13
0
        private IModelService modelService;         // 模块配置的Service

        #endregion


        #region 构造函数

        /// <summary>
        /// 构造函数,初始化相关Service
        /// </summary>
        public RoleForm()
        {
            this.privilegeService = (IPrivilegeService)GetObject("PrivilegeService");

            this.modelService   = (IModelService)GetObject("ModelService");
            this.roleService    = (IRoleService)GetObject("RoleService");
            this.ouLevelService = (IOULevelService)GetObject("OULevelService");
        }
Example #14
0
        private void GetRoleOrgMapping()
        {
            IPrivilegeService proxy = Common.Util.CreateProxy();

            using (proxy as IDisposable)
            {
                roleOrgDictionary = proxy.QueryAuthorityRoleOrg(origin);
            }
        }
Example #15
0
        public static void SeedData(IPrivilegeService privilegeService)
        {
            List <Privilege> privilegesHardCoded = privilegeService.GetAllConstPrivileges();
            List <Privilege> privilegesOnDB      = privilegeService.GetAll();

            foreach (var priv in privilegesHardCoded)
            {
                if (!IsHardCodedPrivInDB(priv, privilegesOnDB))
                {
                    privilegeService.Add(priv);
                }
            }
        }
Example #16
0
 public RoleService(
     RoleManager <Role> roleManager,
     UserManager <User> userManager,
     ITokenService tokenService,
     IPrivilegeService <Permission, PermissionDto> permissionService,
     IMapper mapper
     ) : base(mapper)
 {
     _roleManager       = roleManager;
     _userManager       = userManager;
     _tokenService      = tokenService;
     _permissionService = permissionService;
 }
        void tvMenu_BeforeCheck(object sender, TreeViewCancelEventArgs e)
        {
            TreeNode _selected = tvRole.SelectedNode;

            if (_selected == null)
            {
                e.Cancel = true;
                return;
            }
            if (_selected.Level == 0)//第一级不允许修改,因为你不能增加权限,也不能减少自己的权限
            {
                e.Cancel = true;
            }
            else if (_selected.Level == 1)//下一级可以随便授权,因为他是全包含
            {
            }
            else//其余的,必须验证选择的节点是否是上一级的子集,不是不可以授权
            {
                try
                {
                    IList <Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem> _parentMenus;
                    IPrivilegeService _proxy = Common.Util.CreateProxy();

                    using (_proxy as IDisposable)
                    {
                        _parentMenus = _proxy.QueryMenu((_selected.Parent.Tag as IRole).Id);
                    }

                    bool _isContained = false;

                    foreach (Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem _menu in _parentMenus)
                    {
                        if (_menu.Id == (e.Node.Tag as Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem).Id)
                        {
                            _isContained = true;
                            break;
                        }
                    }

                    if (!_isContained)
                    {
                        e.Cancel = true;
                    }
                }
                catch (Exception ex)
                {
                    e.Cancel = true;
                    MessageBox.Show(ex.Message, "提示");
                }
            }
        }
Example #18
0
 private int Save()
 {
     GetValue();
     if (Check())
     {
         IPrivilegeService proxy = Common.Util.CreateProxy();
         using (proxy as IDisposable)
         {
             int ret = proxy.SaveAuthorityRoleOrg(currentUser, roleOrgDictionary);
             return(ret);
         }
     }
     return(0);
 }
Example #19
0
 /// <summary>
 ///  加载组织结构
 /// </summary>
 ///
 private void LoadOrg()
 {
     try
     {
         IPrivilegeService _proxy = Common.Util.CreateProxy();
         using (_proxy as IDisposable)
         {
             organizations = _proxy.QueryUnit("HIS");
         }
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message, "提示");
         return;
     }
 }
        /// <summary>
        /// 获取可授权的菜单集
        /// </summary>
        private void GetAuthorizableNodes()
        {
            TreeNode _node = tvRole.SelectedNode;

            if (_node == null)
            {
                return;
            }

            if (_node.Level == 0)//第一级不允许修改,因为你不能增加权限,也不能减少自己的权限,所以没有可授权的权限
            {
                UncheckNodes(tvMenu.Nodes, false);
            }
            else if (_node.Level == 1)//下一级可以随便授权,因为他是全包含
            {
                UncheckNodes(tvMenu.Nodes, true);
            }
            else
            {
                UncheckNodes(tvMenu.Nodes, false);

                try
                {
                    IPrivilegeService _proxy = Common.Util.CreateProxy();
                    IList <Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem> _parentMenus;
                    using (_proxy as IDisposable)
                    {
                        _parentMenus = _proxy.QueryMenu((_node.Parent.Tag as IRole).Id);
                    }

                    foreach (Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem _menu in _parentMenus)
                    {
                        TreeNode _findNode = SeekNode(tvMenu.Nodes, _menu.Id);
                        if (_findNode != null)
                        {
                            _findNode.SelectedImageIndex = 3;
                            _findNode.ImageIndex         = 3;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "提示");
                }
            }
        }
 public PersonProjectService(
     IPersonProjectRepository personProjectRepository,
     IProjectRepository projectRepository,
     IPrivilegeService privilegeService,
     IPersonProjectHistoryRepository personProjectHistoryRepository,
     IPersonService personService,
     ILogger <PersonProjectService> logger,
     PersonCreatedByCache personCreatedByCache)
 {
     _personProjectRepository        = personProjectRepository;
     _projectRepository              = projectRepository;
     _privilegeService               = privilegeService;
     _personProjectHistoryRepository = personProjectHistoryRepository;
     _personService        = personService;
     _logger               = logger;
     _personCreatedByCache = personCreatedByCache;
 }
Example #22
0
        private void RemoveMenu()
        {
            if (lvMenu.SelectedItems.Count == 0)
            {
                MessageBox.Show("请选择待删除菜单!", "提示");
                return;
            }

            TreeListViewItem _current = lvMenu.SelectedItems[0];

            if (_current.Level == 0)
            {
                return;
            }

            if (MessageBox.Show("是否要删除该菜单?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
            {
                return;
            }

            if (_current.Items.Count > 0)
            {
                DialogResult dlg = MessageBox.Show("删除该菜单,将删除其包含的全部菜单项,是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                if (dlg == DialogResult.No)
                {
                    return;
                }
            }

            try
            {
                IPrivilegeService _proxy = Common.Util.CreateProxy();
                using (_proxy as IDisposable)
                {
                    _proxy.RemoveMenuItem((_current.Tag as Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem).Id);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "提示");
                return;
            }

            RemoveMenuFromList((_current.Tag as Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem).Id);
            _current.Parent.Items.Remove(_current);
        }
        private void QueryUser(IRole role)
        {
            IList <IUser> _objs = null;

            try
            {
                IPrivilegeService _proxy = Common.Util.CreateProxy();
                using (_proxy as IDisposable)
                {
                    _objs = _proxy.QueryUser(role.Id);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "提示");
                return;
            }

            lvUser.Groups[0].Tag    = role;
            lvUser.Groups[0].Header = role.Name + "已包含用户";

            //恢复初始状态
            foreach (ListViewItem _item in lvUser.Items)
            {
                if (_item.Group == lvUser.Groups[1])
                {
                    continue;
                }

                _item.ImageIndex = 1;
                _item.Group      = lvUser.Groups[1];
            }

            foreach (IUser _user in _objs)
            {
                foreach (ListViewItem _item in lvUser.Items)
                {
                    if (_user.Id == (_item.Tag as IUser).Id)
                    {
                        _item.ImageIndex = 0;
                        _item.Group      = lvUser.Groups[0];
                        break;
                    }
                }
            }
        }
Example #24
0
        void DownItem_Click(object sender, EventArgs e)
        {
            if (lvMenu.SelectedItems.Count == 0)
            {
                return;
            }
            TreeListViewItem _current = lvMenu.SelectedItems[0];
            TreeListViewItem _next    = GetNextItem(_current);

            if (_next == null)
            {
                return;
            }

            IPrivilegeService _proxy = Common.Util.CreateProxy();

            try
            {
                Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem _menu     = (Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem)_current.Tag;
                Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem _nextMenu = (Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem)_next.Tag;

                int _order = _menu.Order;
                _menu.Order     = _nextMenu.Order;
                _nextMenu.Order = _order;

                //using (TransactionScope _scope = new TransactionScope(TransactionScopeOption.RequiresNew))
                {
                    using (_proxy as IDisposable)
                    {
                        _menu     = _proxy.SaveMenuItem(_menu);
                        _nextMenu = _proxy.SaveMenuItem(_nextMenu);
                    }
                }

                int _index = GetMenuIndex(_menu);
                RemoveMenuFromList(_nextMenu.Id);
                _menus.Insert(_index, _nextMenu);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "提示");
                return;
            }

            tvMenu_AfterSelect(null, null);
        }
Example #25
0
 public EnrolleeService(
     ApiDbContext context,
     IHttpContextAccessor httpContext,
     ISubmissionRulesService automaticAdjudicationService,
     IEmailService emailService,
     IPrivilegeService privilegeService,
     IAccessTermService accessTermService,
     IEnrolleeProfileVersionService enroleeProfileVersionService,
     IBusinessEventService businessEventService)
     : base(context, httpContext)
 {
     _automaticAdjudicationService = automaticAdjudicationService;
     _emailService                 = emailService;
     _privilegeService             = privilegeService;
     _accessTermService            = accessTermService;
     _enroleeProfileVersionService = enroleeProfileVersionService;
     _businessEventService         = businessEventService;
 }
        private void DelRole()
        {
            TreeNode _node = this.tvRole.SelectedNode;

            if (_node == null)
            {
                return;
            }

            if ((_node.Tag as IRole).Id == "roleadmin")
            {
                MessageBox.Show("该角色为系统默认角色,不能删除!", "提示");
                return;
            }

            if (MessageBox.Show("是否要删除该角色?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
            {
                return;
            }

            if (_node.Nodes.Count > 0)
            {
                if (MessageBox.Show("删除角色,将删除其下属角色,是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
                {
                    return;
                }
            }

            try
            {
                IPrivilegeService _proxy = Common.Util.CreateProxy();
                using (_proxy as IDisposable)
                {
                    _proxy.RemoveRole((_node.Tag as IRole).Id);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "提示");
                return;
            }

            _node.Parent.Nodes.Remove(_node);
        }
        void btnDel_Click(object sender, EventArgs e)
        {
            ListView.SelectedListViewItemCollection _items = lvRoleOfUser.SelectedItems;
            if (_items.Count == 0)
            {
                return;
            }

            if (MessageBox.Show("是否要删除该角色?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
            {
                return;
            }

            try
            {
                string userId = "";

                if (_current != null)
                {
                    userId = _current.Id;
                }
                else if (_origin != null)
                {
                    userId = _origin.Id;
                }

                if (userId != "")
                {
                    IPrivilegeService _proxy = Common.Util.CreateProxy();
                    using (_proxy as IDisposable)
                    {
                        _proxy.RemoveRoleUserMap((_items[0].Tag as IRole).Id, userId);
                    }
                }

                _newRoles.Remove((_items[0].Tag as IRole).Id);
                lvRoleOfUser.Items.Remove(_items[0]);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "提示");
                return;
            }
        }
        private void LoadUser()
        {
            IPrivilegeService _proxy = Common.Util.CreateProxy();

            try
            {
                IList <IUser> _users;
                using (_proxy as IDisposable)
                {
                    _users = _proxy.QueryUser();
                }
                InitUserList(_users);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "提示");
                return;
            }
        }
Example #29
0
        void tvMenu_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
        {
            //保存编辑信息
            Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem _menu = (Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem)e.Node.Tag;

            if (e.Label == null || e.Label.Trim() == "")
            {
                e.CancelEdit = true;
                return;
            }

            if (!Neusoft.Framework.Util.StringHelper.ValidMaxLengh(e.Label, 60))
            {
                e.CancelEdit = true;
                MessageBox.Show("分类的名称不能超过30个汉字!", "提示");
                e.Node.BeginEdit();
                return;
            }

            _menu.Name = e.Label;
            //保存分类信息
            try
            {
                IPrivilegeService _proxy = Common.Util.CreateProxy();
                using (_proxy as IDisposable)
                {
                    _menu = _proxy.SaveMenuItem(_menu);
                }

                if (_menu == null)
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }

            AddMenuToList(_menu);
        }
Example #30
0
        /// <summary>
        /// 增加分类
        /// </summary>
        private void AddType()
        {
            Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem _menu = new Neusoft.Privilege.ServiceContracts.Model.Impl.MenuItem();
            _menu.ParentId = "ROOT";
            _menu.Type     = "Menu";
            _menu.Enabled  = true;
            _menu.Layer    = "1";
            _menu.UserId   = ((Facade.Context.Operator as NeuPrincipal).Identity as NeuIdentity).User.Id;
            _menu.OperDate = Common.Util.GetDateTime();
            _menu.Name     = "新分类";

            //保存分类信息
            try
            {
                IPrivilegeService _proxy = Common.Util.CreateProxy();
                using (_proxy as IDisposable)
                {
                    _menu = _proxy.SaveMenuItem(_menu);
                }

                if (_menu == null)
                {
                    return;
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                return;
            }

            TreeNode _node = new TreeNode(_menu.Name);

            _node.ImageIndex         = 0;
            _node.SelectedImageIndex = 0;
            _node.Tag = _menu;
            this.tvMenu.Nodes.Add(_node);
            this.tvMenu.SelectedNode = _node;
            AddMenuToList(_menu);

            _node.BeginEdit();
        }