protected override void InternalProcessRecord()
        {
            AttachmentFilteringConfig attachmentFilteringConfig = null;

            try
            {
                attachmentFilteringConfig = AFilterUtils.GetAFilterConfig(base.DataSession);
            }
            catch (AttachmentFilterADEntryNotFoundException exception)
            {
                base.WriteError(exception, ErrorCategory.InvalidArgument, null);
                return;
            }
            string identity = this.Identity;

            string[] array = attachmentFilteringConfig.AttachmentNames.ToArray();
            foreach (string text in array)
            {
                if (text.Equals(identity, StringComparison.InvariantCultureIgnoreCase))
                {
                    attachmentFilteringConfig.AttachmentNames.Remove(text);
                    base.DataSession.Save(attachmentFilteringConfig);
                    return;
                }
            }
            base.WriteError(new ArgumentException(Strings.AttachmentFilterEntryNotFound, "AttachmentFilterEntry"), ErrorCategory.InvalidArgument, null);
        }
        protected override void InternalProcessRecord()
        {
            AttachmentFilteringConfig attachmentFilteringConfig = null;

            try
            {
                attachmentFilteringConfig = AFilterUtils.GetAFilterConfig(base.DataSession);
            }
            catch (AttachmentFilterADEntryNotFoundException exception)
            {
                base.WriteError(exception, ErrorCategory.InvalidArgument, null);
                return;
            }
            string text = (string)base.Fields["Identity"];

            try
            {
                if (string.IsNullOrEmpty(text))
                {
                    using (MultiValuedProperty <string> .Enumerator enumerator = attachmentFilteringConfig.AttachmentNames.GetEnumerator())
                    {
                        while (enumerator.MoveNext())
                        {
                            string attachmentName = enumerator.Current;
                            this.WriteOutput(attachmentName);
                        }
                        goto IL_D6;
                    }
                }
                foreach (string text2 in attachmentFilteringConfig.AttachmentNames)
                {
                    if (string.Equals(text, text2, StringComparison.InvariantCultureIgnoreCase))
                    {
                        this.WriteOutput(text2);
                        return;
                    }
                }
                base.WriteError(new ArgumentException(Strings.AddressRewriteIdentityNotFound, "Identity"), ErrorCategory.InvalidArgument, null);
                IL_D6 :;
            }
            catch (ArgumentException exception2)
            {
                base.WriteError(exception2, ErrorCategory.InvalidArgument, null);
            }
            catch (InvalidDataException exception3)
            {
                base.WriteError(exception3, ErrorCategory.InvalidArgument, null);
            }
        }
예제 #3
0
        protected override void InternalProcessRecord()
        {
            AttachmentFilteringConfig afilterConfig = AFilterUtils.GetAFilterConfig(base.DataSession);
            string text = this.Type.ToString() + ":" + this.Name;

            string[] array = afilterConfig.AttachmentNames.ToArray();
            foreach (string text2 in array)
            {
                if (text2.Equals(text, StringComparison.InvariantCultureIgnoreCase))
                {
                    base.WriteError(new ArgumentException(Strings.AttachmentFilterEntryExists, "AttachmentFilterEntry"), ErrorCategory.InvalidArgument, null);
                }
            }
            afilterConfig.AttachmentNames.Add(text);
            base.DataSession.Save(afilterConfig);
            base.WriteObject(new AttachmentFilterEntrySpecification(this.Type, this.Name));
        }