public override bool Connect(IDomain domain, IArea rootArea, IArea currentArea, IObject currentObject) { IObject Object = TextObject; IObjectPropertyString ObjectProperty = TextObjectProperty; bool IsConnected = TextProperty.ConnectToObjectString(domain, currentArea, currentObject, ref Object, ref ObjectProperty); TextObject = Object; TextObjectProperty = ObjectProperty; TextObjectProperty?.SetIsReadWrite(); return(IsConnected); }
public GeneratorObjectPropertyString(IObjectPropertyString property, IGeneratorObject obj) : base(property, obj) { MaximumLength = property.MaximumLength; }
public bool ConnectToObjectString(IDomain domain, IArea currentArea, IObject currentObject, ref IObject obj, ref IObjectPropertyString objectProperty) { bool IsConnected = false; if ((ObjectSource != null || ObjectPropertySource != null) && (obj == null || objectProperty == null)) { ConnectToObject(domain, currentArea, ObjectSource, ObjectPropertySource, ObjectPropertyKey, ref obj); foreach (IObjectProperty Property in obj.Properties) { if (Property.NameSource.Name == ObjectPropertySource.Name) { if (Property is IObjectPropertyString AsObjectPropertyString) { objectProperty = AsObjectPropertyString; break; } else { throw new ParsingException(148, ObjectPropertySource.Source, $"'{obj.Name}.{ObjectPropertySource.Name}' must be a string property."); } } } if (objectProperty == null) { throw new ParsingException(141, ObjectPropertySource.Source, $"Unknown property '{ObjectPropertySource.Name}' in object '{obj.Name}'."); } IsConnected = true; } return(IsConnected); }