public ActiveSyncDeviceFilterRule(string name, DeviceAccessCharacteristic charactersitic, DeviceFilterOperator filterOperator, string value)
 {
     this.Name           = name;
     this.Characteristic = charactersitic;
     this.Operator       = filterOperator;
     this.Value          = value;
 }
        DeviceAccessRuleData IOrganizationSettingsData.EvaluateDevice(DeviceAccessCharacteristic characteristic, string queryString)
        {
            List <DeviceAccessRuleData> list = this.deviceAccessRules[(int)characteristic];

            if (list == null)
            {
                return(null);
            }
            foreach (DeviceAccessRuleData deviceAccessRuleData in list)
            {
                if (string.Equals(deviceAccessRuleData.QueryString, queryString, StringComparison.OrdinalIgnoreCase))
                {
                    return(deviceAccessRuleData);
                }
            }
            return(null);
        }
Esempio n. 3
0
        private ActiveSyncDeviceFilterArray RemoveDeviceFilterRuleFromExisting(ActiveSyncDeviceFilterArray existingDeviceFilterArray, string deviceFilterName, string deviceFilterRuleName, DeviceAccessCharacteristic deviceFilterCharacteristic)
        {
            ActiveSyncDeviceFilterArray activeSyncDeviceFilterArray = new ActiveSyncDeviceFilterArray();

            if (existingDeviceFilterArray == null || existingDeviceFilterArray.DeviceFilters == null)
            {
                base.WriteVerbose(new LocalizedString("There are no device filters to remove"));
                return(existingDeviceFilterArray);
            }
            activeSyncDeviceFilterArray.DeviceFilters = existingDeviceFilterArray.DeviceFilters;
            ActiveSyncDeviceFilter activeSyncDeviceFilter = activeSyncDeviceFilterArray.DeviceFilters.FirstOrDefault((ActiveSyncDeviceFilter existingDeviceFilter) => existingDeviceFilter.Name.Equals(deviceFilterName, StringComparison.InvariantCultureIgnoreCase));

            if (activeSyncDeviceFilter == null || activeSyncDeviceFilter.Rules == null)
            {
                base.WriteError(new ArgumentException(Strings.NoDeviceFilterRuleByName(deviceFilterName)), ErrorCategory.InvalidArgument, null);
            }
            List <ActiveSyncDeviceFilterRule> rules = activeSyncDeviceFilter.Rules;
            int num = rules.FindIndex((ActiveSyncDeviceFilterRule rule) => rule.Characteristic == deviceFilterCharacteristic && rule.Name.Equals(deviceFilterRuleName, StringComparison.InvariantCultureIgnoreCase));

            if (num >= 0)
            {
                rules.RemoveAt(num);
                base.WriteVerbose(Strings.RemovedDeviceFilterRuleByNameAndCharacteristic(deviceFilterName, deviceFilterRuleName, deviceFilterCharacteristic.ToString()));
            }
            else
            {
                base.WriteVerbose(Strings.NoDeviceFilterRuleByNameAndCharacteristic(deviceFilterName, deviceFilterRuleName, deviceFilterCharacteristic.ToString()));
            }
            if (activeSyncDeviceFilter.Rules.Count == 0)
            {
                base.WriteVerbose(Strings.EmptyDeviceFilterRemoved(deviceFilterName));
                activeSyncDeviceFilterArray.DeviceFilters.Remove(activeSyncDeviceFilter);
            }
            return(activeSyncDeviceFilterArray);
        }