public void WriteTo(IProjectObject parent, IXmlReadWriteWrapper element, RedDotAttribute attribute, IFile value) { if (parent == null) { throw new SmartAPIInternalException("Parent project object may not be null for SrcFileConverter"); } if (value == null) { ClearFile(element); return; } if (ConverterHelper.AreFromTheSameProject(parent, value)) { SetFromSameProject(parent, element, value); } else { if (value.Folder.IsAssetManager) { SetValuesFromAssetManagerFolder(parent, element, value); } else { var ownFolder = parent.Project.Folders.GetByName(value.Folder.Name); SetValuesFromTopLevelFolder(parent, element, value, ownFolder); } } }
public virtual void WriteTo(IProjectObject parent, IXmlReadWriteWrapper element, RedDotAttribute attribute, T value) { if (parent == null) { throw new SmartAPIInternalException(string.Format("{0}.WriteTo must be called from a project object", GetType().Name)); } CheckReadOnly(parent.Project, attribute); if (value == null) { element.SetAttributeValue(attribute.ElementName, null); return; } if (ConverterHelper.AreFromTheSameProject(parent, value)) { element.SetAttributeValue(attribute.ElementName, value.Guid.ToRQLString()); } else { T resolvedValue = GetFromName(parent, element, attribute, value); element.SetAttributeValue(attribute.ElementName, resolvedValue != null ? resolvedValue.Guid.ToRQLString() : null); } }
public void WriteTo(IProjectObject parent, IXmlReadWriteWrapper element, RedDotAttribute attribute, IFile value) { ConverterHelper.EnsureValidProjectObject(parent); ConverterHelper.CheckReadOnly(this, parent, attribute); if (value == null) { SetEmptyValues(element); return; } if (ConverterHelper.AreFromTheSameProject(parent, value)) { SetValuesFromSameProject(element, value); return; } SetValuesFromDifferentProjects(parent, element, attribute, value); }
public void WriteTo(IProjectObject parent, IXmlReadWriteWrapper element, RedDotAttribute attribute, IFile value) { if (parent == null) { throw new SmartAPIInternalException("Parent project object may not be null for ExampleFileConverter"); } if (value == null) { ClearFile(element); return; } if (!element.IsAttributeSet(parent, ELTFOLDERGUID)) { throw new SmartAPIException(parent.Session.ServerLogin, string.Format( "Cannot set an example file ({0}) without an active folder in element {1}", value, parent)); } if (ConverterHelper.AreFromTheSameProject(parent, value)) { SetFromSameProject(parent, element, value); } else { if (value.Folder.IsAssetManager) { SetValuesFromAssetManagerFolder(parent, element, value); } else { var ownFolder = parent.Project.Folders.GetByName(value.Folder.Name); SetValuesFromTopLevelFolder(parent, element, value, ownFolder); } } }