示例#1
0
 // GET: SBInventoryDiscount
 public ActionResult Index()
 {
     try
     {
         PermissionsViewModels model = new PermissionsViewModels();
         return(View(model));
     }
     catch (Exception ex)
     {
         NSLog.Logger.Error("PermissionsIndex: ", ex);
         return(new HttpStatusCodeResult(400, ex.Message));
     }
 }
示例#2
0
        private void getPermissions()
        {
            ParentMailboxViewModel.Status = "Retrieving permissions for " + this.FolderWrapper.Name;
            Collection <PSObject> psPermissions = Exchange.GetFolderPermissions(
                ParentMailboxViewModel.Mailbox.PrimarySmtp, FolderWrapper.CorrectedFolderPath);

            PermissionsViewModels.Clear();
            foreach (PSObject psPermission in psPermissions)
            {
                PermissionsViewModels.Add(new FolderPermissionViewModel(this, new FolderPermissionWrapper(psPermission)));
            }
            ParentMailboxViewModel.Status = "";
        }
示例#3
0
 public ActionResult Search(PermissionsViewModels model)
 {
     try
     {
         model = new PermissionsViewModels();
         int level    = Convert.ToInt32(CurrentUser.RoleLevel);
         var listData = _factory.GetListData(level);
         model.ListItem = listData;
     }
     catch (Exception e)
     {
         NSLog.Logger.Error("DiscountSearch: ", e);
         return(new HttpStatusCodeResult(400, e.Message));
     }
     return(PartialView("_ListData", model));
 }
        public async Task <ActionResult> RolePermissions(int id = -1, string roleName = "")
        {
            PermissionsViewModels permissionsViewModels = new PermissionsViewModels();

            if (id <= -1)
            {
                Utility.WriteMessage("权限配置必须指定角色", "mClose");
                return(View(permissionsViewModels));
            }
            if (id == 0)
            {
                Utility.WriteMessage("超级管理员不用设置权限", "mClose");
                return(View(permissionsViewModels));
            }
            ViewBag.RoleID   = id;
            ViewBag.RoleName = roleName;

            string      adminMenuPath = Utility.GetAdminMenuPath();
            XmlHelper   xmlHelper     = XmlHelper.Instance(FileHelper.MapPath(adminMenuPath), XmlType.File);
            XmlDocument xmlDoc        = xmlHelper.XmlDoc;
            XmlNode     rootNode      = xmlDoc.SelectSingleNode("menu");

            if (rootNode == null)
            {
                Utility.WriteMessage("菜单配置文件不存在menu根元素", "mClose");
                return(View(permissionsViewModels));
            }
            if (rootNode.HasChildNodes)
            {
                IList <MenuEntity> menuEntityList = new List <MenuEntity>();
                foreach (XmlNode channelMenuNode in rootNode)
                {
                    string operateCode = XmlHelper.GetAttributesValue(channelMenuNode, "operateCode");
                    string NodeName    = channelMenuNode.Name;
                    string menuID      = XmlHelper.GetAttributesValue(channelMenuNode, "id");
                    string title       = XmlHelper.GetAttributesValue(channelMenuNode, "title");
                    string Description = XmlHelper.GetAttributesValue(channelMenuNode, "Description");
                    string rightUrl    = XmlHelper.GetAttributesValue(channelMenuNode, "rightUrl");
                    string MenuType    = XmlHelper.GetAttributesValue(channelMenuNode, "type");
                    string MenuIcon    = XmlHelper.GetAttributesValue(channelMenuNode, "icon");
                    bool   ShowOnForm  = DataConverter.CBoolean(XmlHelper.GetAttributesValue(channelMenuNode, "ShowOnForm"));
                    bool   ShowOnMenu  = DataConverter.CBoolean(XmlHelper.GetAttributesValue(channelMenuNode, "ShowOnMenu"));
                    if (!ShowOnForm)
                    {
                        continue;
                    }
                    MenuEntity menuEntity = new MenuEntity
                    {
                        NodeName    = NodeName,
                        ID          = menuID,
                        Title       = title,
                        OperateCode = operateCode,
                        Description = Description,
                        Url         = rightUrl,
                        MenuType    = MenuType,
                        MenuIcon    = MenuIcon,
                        ShowOnForm  = ShowOnForm,
                        ShowOnMenu  = ShowOnMenu
                    };
                    menuEntity.MenuItem = InitSubMenu(channelMenuNode);
                    menuEntityList.Add(menuEntity);
                }
                permissionsViewModels.MenuEntityList       = menuEntityList;
                permissionsViewModels.RolesPermissionsList = await _RolesService.GetRolesPermissionsByRoleID(id);

                return(View(permissionsViewModels));
            }
            return(View(permissionsViewModels));
        }
示例#5
0
 private void defineCommands()
 {
     SingleUserFolderOnlyCommand = new Command
     {
         CanExecuteDelegate = () => (MailboxToGrantPermissionsTo != null &&
                                     PermissionToApply != null && !worker.IsBusy),
         ExecuteDelegate = x => worker.RunWorkerAsync(new Action(() =>
                                                                 applySinglePermission(this, PermissionToApply, MailboxToGrantPermissionsTo.PrimarySmtp, false)))
     };
     SingleUserSubfoldersCommand = new Command
     {
         CanExecuteDelegate = () =>
         {
             if (MailboxToGrantPermissionsTo == null || PermissionToApply == null || worker.IsBusy)
             {
                 return(false);
             }
             if (FolderWrapper.FolderPath == "/Top of Information Store" && PermissionToApply != "Remove")
             {
                 return(false);
             }
             return(true);
         },
         ExecuteDelegate = x => worker.RunWorkerAsync(new Action(() =>
                                                                 applySinglePermission(this, PermissionToApply, MailboxToGrantPermissionsTo.PrimarySmtp, true)))
     };
     MultiUserFolderOnlyCommand = new Command
     {
         CanExecuteDelegate = () =>
         {
             if (worker.IsBusy)
             {
                 return(false);
             }
             foreach (FolderPermissionViewModel permission in PermissionsViewModels)
             {
                 if (permission.HasChanged)
                 {
                     return(true);
                 }
             }
             return(false);
         },
         ExecuteDelegate = x => worker.RunWorkerAsync(new Action(() =>
         {
             IEnumerable <FolderPermissionViewModel> changed = PermissionsViewModels.Where(y => y.HasChanged);
             applyMultiPermission(this, changed, false);
         }
                                                                 ))
     };
     MultiUserSubfoldersCommand = new Command
     {
         CanExecuteDelegate = () => (!worker.IsBusy && FolderWrapper.FolderPath != "/Top of Information Store"),
         ExecuteDelegate    = x => worker.RunWorkerAsync(new Action(() =>
         {
             IEnumerable <FolderPermissionViewModel> currentPermissions = PermissionsViewModels.ToList();
             applyMultiPermission(this, currentPermissions, true);
         }
                                                                    ))
     };
 }