public Metadata CreateMetadata() { var metadata = new Metadata { DocumentType = _documentType, Classes = GetAll().Select(UserDefinedClassProxy.FromUserDefinedClass).ToList(), DateTimeFormats = _dateTimeFormats, References = _references, Usings = _usings }; return metadata; }
public void LoadFromMetadata(Metadata metadata, IFactory factory) { foreach (var classProxy in metadata.Classes) { var domPath = classProxy.GetDomPath(factory); var userDefinedClass = GetOrAdd(domPath); userDefinedClass.CustomName = classProxy.CustomName; foreach (var propertyProxy in classProxy.Properties) { // We're sending 'true' for the isParentClassNew parameter, since we don't want to mark anything as nullable. userDefinedClass.AddProperty(propertyProxy.ToProperty(this, factory), true, true); } } _documentType = metadata.DocumentType; if (metadata.References != null) { foreach (var reference in metadata.References) { _references.Add(reference); } } if (metadata.Usings != null) { foreach (var @using in metadata.Usings) { _usings.Add(@using); } } if (metadata.DateTimeFormats != null) { foreach (var dateTimeFormat in metadata.DateTimeFormats) { _dateTimeFormats.Add(dateTimeFormat); } } }