Example #1
0
        private void ValidateRetentionPolicy()
        {
            IConfigurationSession session = base.DataSession as IConfigurationSession;

            session.SessionSettings.IsSharedConfigChecked = true;
            MultiValuedProperty <ADObjectId> first = (MultiValuedProperty <ADObjectId>) this.DataObject[RetentionPolicyTagSchema.PolicyIds];

            RetentionPolicy[] array = (from x in first
                                       select session.Read <RetentionPolicy>(x) into x
                                       where x != null
                                       select x).ToArray <RetentionPolicy>();
            PresentationRetentionPolicyTag[] second = new PresentationRetentionPolicyTag[]
            {
                new PresentationRetentionPolicyTag(this.DataObject, this.contentSettingsObject)
            };
            foreach (RetentionPolicy retentionPolicy in array)
            {
                PresentationRetentionPolicyTag[] retentionTags = (from x in retentionPolicy.RetentionPolicyTagLinks
                                                                  where !x.Equals(this.DataObject.Id)
                                                                  select session.Read <RetentionPolicyTag>(x) into x
                                                                  select new PresentationRetentionPolicyTag(x)).Concat(second).ToArray <PresentationRetentionPolicyTag>();
                if (this.DataObject.Type == ElcFolderType.All)
                {
                    RetentionPolicyValidator.ValicateDefaultTags(retentionPolicy, retentionTags, new Task.TaskErrorLoggingDelegate(base.WriteError));
                }
                RetentionPolicyValidator.ValidateSystemFolderTags(retentionPolicy, retentionTags, new Task.TaskErrorLoggingDelegate(base.WriteError));
            }
        }