Пример #1
0
        public FoxSecIdentity(int id,

                              string loginName,
                              string firstName,
                              string lastName,
                              string email,
                              string authenticationType,
                              IPermissionSet permissions,
                              IMenuSet menues,
                              int roleId,
                              int?roleTypeId,
                              string roleName,
                              int?companyId,
                              string hostName) : base(loginName, authenticationType)
        {
            Id                  = id;
            FirstName           = firstName;
            LastName            = lastName;
            Email               = email;
            Permissions         = permissions;
            Menues              = menues;
            RoleId              = roleId;
            RoleTypeId          = roleTypeId.HasValue ? roleTypeId.Value : (int)FixedRoleType.DepartmentManager;
            RoleName            = roleName;
            CompanyId           = companyId;
            HostName            = hostName;
            IsBuildingAdmin     = IsSuperAdmin = IsCompanyManager = IsCommonUser = IsDepartmentManager = false;
            IsBuildingAdmin     = RoleTypeId == (int)FixedRoleType.Administrator;
            IsCompanyManager    = RoleTypeId == (int)FixedRoleType.CompanyManager;
            IsCommonUser        = RoleTypeId == (int)FixedRoleType.User;
            IsDepartmentManager = RoleTypeId == (int)FixedRoleType.DepartmentManager;
            IsSuperAdmin        = RoleTypeId == (int)FixedRoleType.SuperAdmin;
        }
Пример #2
0
        public void ToggleMenu(int index)
        {
            IMenuSet ms = GetMenuSet();

            ms[index.AsEnum <Menu>()] = !ms[index.AsEnum <Menu>()];
            ApplyMenues();
        }
Пример #3
0
        public static IMenuSet Merge(IMenuSet left, IMenuSet right)
        {
            var result = new MenuSet(left.GetByteArray());

            foreach (var Menu in left)
            {
                result[Menu.Key] = result[Menu.Key] || right[Menu.Key];
            }

            return(result);
        }
Пример #4
0
        public void AssignMenues(IEnumerable <int> menuIndexes)
        {
            if (Menues != null)
            {
                Array.Clear(Menues, 0, Menues.Length);
            }

            IMenuSet ms = GetMenuSet();

            menuIndexes.ForEach(index => ms[index.AsEnum <Menu>()] = true);
            ApplyMenues();
        }
Пример #5
0
 public MenuGenerator(IMenuSet menuSet)
 {
     this.menuSet = menuSet;
 }
Пример #6
0
 public void ApplyMenues()
 {
     Menues   = Menues;
     _menuSet = null;
 }
Пример #7
0
 public IMenuSet GetMenuSet()
 {
     return(_menuSet ?? (_menuSet = new MenuSet(Menues)));
 }