Beispiel #1
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);
        }
Beispiel #2
0
        private ActiveSyncDeviceFilterArray AddDeviceFilterRuleToExisting(ActiveSyncDeviceFilterArray existingDeviceFilterArray, string deviceFilterName, ActiveSyncDeviceFilterRule newRule, bool applyFilterForAllDevices)
        {
            ActiveSyncDeviceFilterArray activeSyncDeviceFilterArray = new ActiveSyncDeviceFilterArray();

            if (existingDeviceFilterArray != null)
            {
                activeSyncDeviceFilterArray.DeviceFilters = existingDeviceFilterArray.DeviceFilters;
            }
            List <ActiveSyncDeviceFilter> list = activeSyncDeviceFilterArray.DeviceFilters;

            if (list == null)
            {
                list = new List <ActiveSyncDeviceFilter>();
                activeSyncDeviceFilterArray.DeviceFilters = list;
            }
            ActiveSyncDeviceFilter activeSyncDeviceFilter = list.FirstOrDefault((ActiveSyncDeviceFilter existingDeviceFilter) => existingDeviceFilter.Name.Equals(deviceFilterName, StringComparison.InvariantCultureIgnoreCase));

            if (activeSyncDeviceFilter == null)
            {
                activeSyncDeviceFilter = new ActiveSyncDeviceFilter(deviceFilterName, new List <ActiveSyncDeviceFilterRule>());
                list.Add(activeSyncDeviceFilter);
            }
            if (applyFilterForAllDevices)
            {
                activeSyncDeviceFilter.ApplyForAllDevices = applyFilterForAllDevices;
                base.WriteVerbose(Strings.AddedDeviceFilterRule(deviceFilterName));
                return(activeSyncDeviceFilterArray);
            }
            if (activeSyncDeviceFilter.ApplyForAllDevices)
            {
                base.WriteError(new InvalidOperationException(Strings.CantAddDeviceFilterRuleSinceApplyForAllDevicesSetToTrue(deviceFilterName)), ErrorCategory.InvalidOperation, null);
            }
            List <ActiveSyncDeviceFilterRule> rules = activeSyncDeviceFilter.Rules;

            if (!rules.Any((ActiveSyncDeviceFilterRule rule) => rule.Characteristic == newRule.Characteristic && rule.Name.Equals(newRule.Name, StringComparison.InvariantCultureIgnoreCase)))
            {
                rules.Add(newRule);
                base.WriteVerbose(Strings.AddedDeviceFilterRule(deviceFilterName));
            }
            else
            {
                base.WriteError(new ArgumentException(Strings.DeviceFilterRuleAlreadyExists(deviceFilterName)), ErrorCategory.InvalidArgument, null);
            }
            return(activeSyncDeviceFilterArray);
        }
Beispiel #3
0
        private ActiveSyncDeviceFilterArray RemoveDeviceFilterFromExisting(ActiveSyncDeviceFilterArray existingDeviceFilterArray, string deviceFilterName)
        {
            ActiveSyncDeviceFilterArray activeSyncDeviceFilterArray = new ActiveSyncDeviceFilterArray();

            if (existingDeviceFilterArray == null || existingDeviceFilterArray.DeviceFilters == null)
            {
                base.WriteVerbose(Strings.NoDeviceFilters);
                return(existingDeviceFilterArray);
            }
            activeSyncDeviceFilterArray.DeviceFilters = existingDeviceFilterArray.DeviceFilters;
            int num = activeSyncDeviceFilterArray.DeviceFilters.RemoveAll((ActiveSyncDeviceFilter existingDeviceFilter) => existingDeviceFilter.Name.Equals(deviceFilterName, StringComparison.InvariantCultureIgnoreCase));

            if (num > 0)
            {
                base.WriteVerbose(Strings.RemovedDeviceFilter(deviceFilterName));
            }
            else
            {
                base.WriteVerbose(Strings.NoDeviceFilterByName(deviceFilterName));
            }
            return(activeSyncDeviceFilterArray);
        }