예제 #1
0
        public void UpdateCurrentOperatorAndPermission(SysOperator currentOperator)
        {
            CurrentOperatorInfo = currentOperator;

            var roles = new List <SysRole>();

            currentOperator.SysOperatorRoles.ForEach(x => roles.Add(_sysRoleRepo.GetByKey(x.RoleID)));
            AuthorizationPermissions = roles.SelectMany(x => x.SysRolePermissions).ToList();

            var accessControlList = new List <string>();

            accessControlList.AddRange(AuthorizationPermissions.FindAll(x => x.ModuleInfo != null).Select(x => x.ModuleInfo.ModuleCode));
            accessControlList.AddRange(AuthorizationPermissions.FindAll(x => x.ElementInfo != null).Select(x => x.ElementInfo.ElementCode));
            AuthProvider.Initialize <DefaultAuthProvider>(accessControlList.ToArray());
        }
예제 #2
0
 private void Add()
 {
     try
     {
         var viewModel = Mapper.Map <SysRoleViewModel>(new SysRole());
         Messenger.Default.Send(new OpenWindowMessage()
         {
             DataContext = viewModel
         }, Tokens.SysRoleView_Open);
         if (viewModel.ViewModelAttachment.LastOperationSuccess)
         {
             var coreModel = _sysRoleRepo.GetByKey(viewModel.RoleID);
             viewModel = Mapper.Map <SysRoleViewModel>(coreModel);
             SysRoleViewModels.Add(viewModel);
         }
     }
     catch (Exception ex)
     {
         Log.Error(ex);
     }
 }