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; }
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(); }
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); }