private static void ValidateItemIsRule(XmlNode xmlNode) { XmlAttribute xmlAttribute = xmlNode.Attributes["ItemClass"]; if (xmlAttribute != null) { string value = xmlAttribute.Value; if (ObjectClass.IsSmime(value) || ObjectClass.IsRightsManagedContentClass(value)) { throw new OwaExtensionOperationException(Strings.ErrorInvalidManifestData(Strings.ErrorReasonItemTypeInvalid)); } XmlAttribute xmlAttribute2 = xmlNode.Attributes["IncludeSubClasses"]; if (string.Equals(value, "IPM", StringComparison.OrdinalIgnoreCase) && xmlAttribute2 != null && ExtensionDataHelper.ConvertXmlStringToBoolean(xmlAttribute2.Value)) { throw new OwaExtensionOperationException(Strings.ErrorInvalidManifestData(Strings.ErrorReasonItemTypeAllTypes)); } } XmlAttribute xmlAttribute3 = xmlNode.Attributes["FormType"]; ItemIsRuleFormType itemIsRuleFormType; if (xmlAttribute3 != null && EnumValidator.TryParse <ItemIsRuleFormType>(xmlAttribute3.Value, EnumParseOptions.Default, out itemIsRuleFormType) && (itemIsRuleFormType == ItemIsRuleFormType.Edit || itemIsRuleFormType == ItemIsRuleFormType.ReadOrEdit)) { XmlAttribute xmlAttribute4 = xmlNode.Attributes["IncludeSubClasses"]; if (xmlAttribute != null || xmlAttribute4 != null) { throw new OwaExtensionOperationException(Strings.ErrorInvalidManifestData(Strings.ErrorReasonItemIsRuleAttributesNotValidForEdit)); } } }
private static bool ParseBoolFromXmlAttribute(XmlAttribute attribute) { return(attribute != null && ExtensionDataHelper.ConvertXmlStringToBoolean(attribute.Value)); }