Exemple #1
0
        public override void Validate()
        {
            base.Validate();
            DlpPolicyMetaData dlpPolicyMetaData = DlpPolicyParser.ParseDlpPolicyInstance(this.taskObject.TargetItem.TransportRulesXml);

            if (this.taskObject.Fields.IsModified("State"))
            {
                dlpPolicyMetaData.State = this.taskObject.State;
            }
            if (this.taskObject.Fields.IsModified("Mode"))
            {
                dlpPolicyMetaData.Mode = this.taskObject.Mode;
            }
            if (this.taskObject.TargetItem.IsModified(ADObjectSchema.Name))
            {
                dlpPolicyMetaData.Name = this.taskObject.TargetItem.Name;
            }
            if (this.taskObject.Fields.IsModified("Description"))
            {
                dlpPolicyMetaData.Description = this.taskObject.Description;
            }
            ADComplianceProgram adcomplianceProgram = dlpPolicyMetaData.ToAdObject();

            this.taskObject.TargetItem.State             = adcomplianceProgram.State;
            this.taskObject.TargetItem.Name              = adcomplianceProgram.Name;
            this.taskObject.TargetItem.Description       = adcomplianceProgram.Description;
            this.taskObject.TargetItem.TransportRulesXml = adcomplianceProgram.TransportRulesXml;
        }
Exemple #2
0
 internal DlpPolicy(ADComplianceProgram adDlpPolicy) : base(adDlpPolicy)
 {
     if (base.AdDlpPolicy != null)
     {
         base.AdDlpPolicy       = base.AdDlpPolicy;
         this.dlpPolicyMetaData = DlpPolicyParser.ParseDlpPolicyInstance(base.AdDlpPolicy.TransportRulesXml);
         return;
     }
     base.AdDlpPolicy       = new ADComplianceProgram();
     this.dlpPolicyMetaData = new DlpPolicyMetaData();
 }
Exemple #3
0
        protected override void WriteResult <T>(IEnumerable <T> dataObjects)
        {
            IList <DlpPolicyMetaData> list = (from dataObject in (IEnumerable <ADComplianceProgram>) dataObjects
                                              select DlpPolicyParser.ParseDlpPolicyInstance(dataObject.TransportRulesXml)).ToList <DlpPolicyMetaData>();

            foreach (DlpPolicyMetaData dlpPolicyMetaData in list)
            {
                dlpPolicyMetaData.PolicyCommands = DlpUtils.GetEtrsForDlpPolicy(dlpPolicyMetaData.ImmutableId, base.DataSession);
            }
            this.WriteResult(new BinaryFileDataObject
            {
                FileData = DlpPolicyParser.SerializeDlpPolicyInstances(list)
            });
        }
        internal static IEnumerable <DlpPolicyMetaData> ParseDlpPolicyInstances(Stream data)
        {
            List <DlpPolicyMetaData> result;

            try
            {
                XDocument xdocument = XDocument.Load(data);
                result = (from dlpPolicy in xdocument.Element("dlpPolicies").Elements("dlpPolicy")
                          select DlpPolicyParser.ParseDlpPolicyInstance(dlpPolicy.ToString())).ToList <DlpPolicyMetaData>();
            }
            catch (ArgumentException innerException)
            {
                throw new DlpPolicyParsingException(Strings.DlpPolicyStateStateInvalid, innerException);
            }
            catch (NullReferenceException innerException2)
            {
                throw new DlpPolicyParsingException(Strings.DlpPolicyXmlMissingElements, innerException2);
            }
            catch (XmlException innerException3)
            {
                throw new DlpPolicyParsingException(Strings.DlpPolicyXmlInvalid, innerException3);
            }
            return(result);
        }