public bool ReadYaml(YamlReader reader) { var language = reader.PeekMap(); if (!language.HasValue || !language.Value.Key.Equals("Language", StringComparison.Ordinal)) { return(false); } Language = reader.ReadExpectedMap("Language"); var fields = reader.PeekMap(); if (fields.HasValue && fields.Value.Key.Equals("Fields", StringComparison.OrdinalIgnoreCase)) { reader.ReadExpectedMap("Fields"); while (true) { var field = new YamlFieldValue(); if (field.ReadYaml(reader)) { UnversionedFields.Add(field); } else { break; } } } reader.ReadExpectedMap("Versions"); while (true) { var version = new YamlVersion(); if (version.ReadYaml(reader)) { Versions.Add(version); } else { break; } } return(true); }
public void LoadFrom(IEnumerable <IItemVersion> versions, IFieldFormatter[] fieldFormatters) { bool first = true; foreach (var version in versions) { if (first) { Language = version.Language.Name; first = false; } var versionObject = new YamlVersion(); versionObject.LoadFrom(version, fieldFormatters); Versions.Add(versionObject); } }