Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
            }
        }