public virtual bool ReadYaml(YamlReader reader) { var version = reader.PeekMap(); if (!version.HasValue || !version.Value.Key.Equals("Version", StringComparison.Ordinal)) { return(false); } VersionNumber = int.Parse(reader.ReadExpectedMap("Version")); var fields = reader.PeekMap(); if (fields.HasValue && fields.Value.Key.Equals("Fields", StringComparison.Ordinal)) { reader.ReadMap(); while (true) { var field = new YamlFieldValue(); if (field.ReadYaml(reader)) { Fields.Add(field); } else { break; } } } return(true); }
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 virtual void ReadYaml(YamlReader reader) { Id = reader.ReadExpectedGuidMap("ID"); ParentId = reader.ReadExpectedGuidMap("Parent"); TemplateId = reader.ReadExpectedGuidMap("Template"); Path = reader.ReadExpectedMap("Path"); var dbName = reader.PeekMap(); if (dbName.HasValue && dbName.Value.Key.Equals("DB")) //could be missing if serialized with 1.0.x { reader.ReadMap(); DatabaseName = dbName.Value.Value; } var branch = reader.PeekMap(); if (branch.HasValue && branch.Value.Key.Equals("BranchID")) { reader.ReadMap(); BranchId = Guid.Parse(branch.Value.Value); } var sharedFields = reader.PeekMap(); if (sharedFields.HasValue && sharedFields.Value.Key.Equals("SharedFields")) { reader.ReadMap(); while (true) { var field = new YamlFieldValue(); if (field.ReadYaml(reader)) { SharedFields.Add(field); } else { break; } } } var languages = reader.PeekMap(); if (languages.HasValue && languages.Value.Key.Equals("Languages")) { reader.ReadMap(); while (true) { var language = new YamlLanguage(); if (language.ReadYaml(reader)) { Languages.Add(language); } else { break; } } } }