public void WriteResult(IEnumerable <ADComplianceProgram> tenantDlpPolicies, GetDlpPolicy.WriteDelegate writeDelegate) { if (this.taskObject.NeedSuppressingPiiData && this.taskObject.ExchangeRunspaceConfig != null) { this.taskObject.ExchangeRunspaceConfig.EnablePiiMap = true; } foreach (ADComplianceProgram adDlpPolicy in tenantDlpPolicies) { DlpPolicy dlpPolicy = this.TryGetDlpPolicy(adDlpPolicy); if (this.taskObject.NeedSuppressingPiiData) { dlpPolicy.SuppressPiiData(Utils.GetSessionPiiMap(this.taskObject.ExchangeRunspaceConfig)); } writeDelegate(dlpPolicy); } }
private DlpPolicy TryGetDlpPolicy(ADComplianceProgram adDlpPolicy) { DlpPolicy result; try { result = new DlpPolicy(adDlpPolicy); } catch (DlpPolicyParsingException) { DlpPolicy dlpPolicy = new DlpPolicy(null); dlpPolicy.SetAdDlpPolicyWithNoDlpXml(adDlpPolicy); this.taskObject.WriteWarning(Strings.DlpPolicyXmlInvalid); result = dlpPolicy; } return(result); }