internal static void ToRuleXmlFromPolicyString(string extendedAttribute, string[] directoryAttributes, ADPropertyValueCollection extendedData, ADEntity directoryObj, CmdletSessionInfo cmdletSessionInfo) { if (extendedData == null || extendedData.Value == null) { directoryObj.ForceRemove(directoryAttributes[0]); return; } else { object[] value = new object[1]; value[0] = extendedData.Value; string str = string.Format(CultureInfo.InvariantCulture, ADClaimTransformPolicyFactory <T> .RuleXml, value); RulesParser rulesParser = new RulesParser(); try { rulesParser.ValidateRules(str); } catch (XmlParseException xmlParseException1) { XmlParseException xmlParseException = xmlParseException1; object[] message = new object[2]; message[0] = extendedData.Value; message[1] = xmlParseException.Message; throw new ADException(string.Format(CultureInfo.CurrentCulture, StringResources.XmlFormattingError, message)); } catch (PolicyValidationException policyValidationException1) { PolicyValidationException policyValidationException = policyValidationException1; object[] objArray = new object[2]; objArray[0] = extendedData.Value; objArray[1] = policyValidationException.Message; throw new ADException(string.Format(CultureInfo.CurrentCulture, StringResources.RuleValidationFailure, objArray)); } directoryObj[directoryAttributes[0]].Value = str; return; } }
public void Update(PolicyValidationException exception) { this.DeclineReason = exception.DeclineReason; this.Premium = decimal.Zero; this.ReasonDeclined = exception.Message; }