private void fillUsersListAcсordingToAceTypeValue(
     ManagementBaseObject[] daclObject)
 {
     usersListWithAllowedAceType.Clear();
     usersListWithDeniedAceType.Clear();
     foreach (ManagementBaseObject mbo in daclObject)
     {
         //log.Debug("DaclObject Properties");
         //logPropertyData(mbo);
         ManagementBaseObject trustee =
             ((ManagementBaseObject)(mbo[Сonstants.TrusteeProperty]));
         ManagementEntity managementEntity = new ManagementEntity(
             (string)trustee.Properties[Сonstants.NameProperty].Value,
             (string)trustee.Properties[Сonstants.SIDStringProperty].Value,
             (UInt32)mbo[Сonstants.AccessMaskProperty]);
         //log.Debug("Trustee Properties");
         //logPropertyData(trustee);
         if (mbo[Сonstants.AceTypeProperty].ToString() == "0")
         {
             //log.Debug("ALLOWED ACE TYPE");
             usersListWithAllowedAceType.Add(managementEntity);
         }
         else
         {
             //log.Debug("DENIED ACE TYPE");
             usersListWithDeniedAceType.Add(managementEntity);
         }
     }
 }
        private ManagementEntity getGroupWithMaxAccessMask(
            List <ManagementEntity> groupsInDacl)
        {
            UInt32           accessMask             = 0;
            ManagementEntity groupWithMaxAccessMask = null;

            foreach (ManagementEntity group in groupsInDacl)
            {
                UInt32 groupAccessMask = group.AccessMask;
                if (groupAccessMask > accessMask)
                {
                    accessMask             = groupAccessMask;
                    groupWithMaxAccessMask = group;
                }
                //log.Debug("getGroupWithMaxAccessMask accessMask: " + accessMask);
            }
            return(groupWithMaxAccessMask);
        }
 private UInt32 getAccessMask(string selectedUserSidValue,
                              HashSet <string> selectedUserGroupNames, bool isSelectedUserDefinedInDacl)
 {
     if (isSelectedUserDefinedInDacl)
     {
         existedUserSids.Add(selectedUserSidValue);
         ManagementEntity allowedAceUser =
             getManagementEntityBySidValue(selectedUserSidValue);
         return(getFinalAccessMask(
                    allowedAceUser.AccessMask,
                    getDeniedAccessMaskBySidValue(selectedUserSidValue)));
     }
     else
     {
         List <ManagementEntity> groupsInDacl =
             getGroupsFromDacl(selectedUserGroupNames);
         if (isNotEmpty(groupsInDacl))
         {
             existedUserSids.Add(selectedUserSidValue);
             ManagementEntity allowedAceGroup;
             if (groupsInDacl.Count == 1)
             {
                 allowedAceGroup = groupsInDacl[0];
             }
             else
             {
                 allowedAceGroup = getGroupWithMaxAccessMask(groupsInDacl);
             }
             return(getFinalAccessMask(
                        allowedAceGroup.AccessMask,
                        getDeniedAccessMaskBySidValue(allowedAceGroup.Sid)));
         }
         log.Error("groupsInDacl is Empty");
         return(0);
     }
 }
 public SetIntersightManagementEntity()
 {
     ApiInstance = new ManagementApi(Config);
     ModelObject = new ManagementEntity();
     MethodName  = "UpdateManagementEntityWithHttpInfo";
 }