Exemple #1
0
        internal void Save(XDocument rulePackXDoc)
        {
            ArgumentValidator.ThrowIfNull("rulePackXDoc", rulePackXDoc);
            if (this.Fingerprints == null || this.Fingerprints.Count <= 0)
            {
                throw new DataClassificationFingerprintsMissingException(this.Name);
            }
            if (this.Fingerprints.Count((Fingerprint fingerprint) => string.IsNullOrEmpty(fingerprint.Description)) > 0)
            {
                throw new DataClassificationFingerprintsDescriptionMissingException(this.Name);
            }
            if (this.Fingerprints.Distinct(Fingerprint.Comparer).Count <Fingerprint>() != this.Fingerprints.Count)
            {
                throw new DataClassificationFingerprintsDuplicatedException(this.Name);
            }
            DataClassificationObjectId dataClassificationObjectId = this.Identity as DataClassificationObjectId;

            foreach (Fingerprint fingerprint2 in this.Fingerprints)
            {
                if (string.IsNullOrEmpty(fingerprint2.Identity))
                {
                    fingerprint2.Identity = XmlProcessingUtils.AddFingerprintTextProcessor(rulePackXDoc, fingerprint2);
                }
            }
            XmlProcessingUtils.AddDataClassification(rulePackXDoc, dataClassificationObjectId.Name, this.MinEngineVersion.ToString(), this.GetRuleXElement());
            XmlProcessingUtils.AddLocalizedResource(rulePackXDoc, dataClassificationObjectId.Name, this.GetResourceXElement());
        }