public void AddAttribute(IXmlElementAttribute attribute) { if (this._attributes.Any(x => x.Definition.Name == attribute.Definition.Name)) { throw new DesignModelElementException(this, $"Attribute '{attribute.Definition.Name}' is already defined for this element."); } this._attributes.Add(attribute); }
private static void ParseProperty(IDesignModel designModel, IXmlElementAttribute attribute) { var definition = attribute.Definition; var name = definition.Name.LocalName; if (designModel.GetProperty(name) != null) { // Property is already defined, so skip attribute. return; } var value = attribute.Value; var property = new DesignModelProperty(definition.Name.LocalName, definition.Type, value, definition, attribute.ParseLocation); designModel.AddProperty(property); }
public DesignModelElementException(IXmlElementAttribute attribute, string message, Exception innerException) : base(FormatMessage(attribute.Definition.Element.Name, attribute.ParseLocation, message), innerException) { }