Esempio n. 1
0
        public virtual void LoadFrom(IItemData itemData, IFieldFormatter[] fieldFormatters)
        {
            Id = itemData.Id;
            DatabaseName = itemData.DatabaseName;
            ParentId = itemData.ParentId;
            TemplateId = itemData.TemplateId;
            Path = itemData.Path;

            BranchId = itemData.BranchId;

            foreach (var field in itemData.SharedFields)
            {
                var fieldObject = new YamlFieldValue();
                fieldObject.LoadFrom(field, fieldFormatters);

                SharedFields.Add(fieldObject);
            }

            var languages = itemData.Versions.GroupBy(x => x.Language.Name);

            foreach (var language in languages)
            {
                var languageObject = new YamlLanguage();
                languageObject.LoadFrom(language, fieldFormatters);

                if(languageObject.Versions.Count > 0)
                    Languages.Add(languageObject);
            }
        }
Esempio n. 2
0
		public virtual void LoadFrom(IItemData itemData, IFieldFormatter[] fieldFormatters)
		{
			Id = itemData.Id;
			DatabaseName = itemData.DatabaseName;
			ParentId = itemData.ParentId;
			TemplateId = itemData.TemplateId;
			Path = itemData.Path;

			BranchId = itemData.BranchId;

			foreach (var field in itemData.SharedFields)
			{
				var fieldObject = new YamlFieldValue();
				fieldObject.LoadFrom(field, fieldFormatters);

				SharedFields.Add(fieldObject);
			}

			var languages = itemData.Versions.GroupBy(x => x.Language.Name);

			foreach (var language in languages)
			{
				var languageObject = new YamlLanguage();
				languageObject.LoadFrom(language, fieldFormatters);

				if (languageObject.Versions.Count > 0)
					Languages.Add(languageObject);
			}

			foreach (var unversionedFieldLanguage in itemData.UnversionedFields)
			{
				var existing = Languages.FirstOrDefault(language => language.Language == unversionedFieldLanguage.Language.Name);

				if (existing == null)
				{
					existing = new YamlLanguage { Language = unversionedFieldLanguage.Language.Name };
					Languages.Add(existing);
				}

				foreach (var unversionedField in unversionedFieldLanguage.Fields)
				{
					var field = new YamlFieldValue();
					field.LoadFrom(unversionedField, fieldFormatters);

					existing.UnversionedFields.Add(field);
				}
			}
		}
Esempio n. 3
0
        private void DecorateVersionsTestData(YamlItem item)
        {
            var field = new YamlFieldValue
            {
                Id    = new Guid("9a5a2ce9-9ae3-4a21-92f0-dba3cb7ac2bf"),
                Value = "Hello \"silly\" world."
            };

            var field2 = new YamlFieldValue
            {
                Id       = new Guid("badd9cf9-53e0-4d0c-bcc0-2d784c282f6a"),
                NameHint = "Test Field",
                Value    = @"Lorem thine ipsum
<p>forsooth thy sit amet</p>
<div class=""simian"">Chimpanzee.</div>"
            };

            var testVersion1 = new YamlVersion();

            testVersion1.VersionNumber = 1;
            testVersion1.Fields.Add(field);
            testVersion1.Fields.Add(field2);

            var testVersion2 = new YamlVersion();

            testVersion2.VersionNumber = 2;
            testVersion2.Fields.Add(field);

            var testLanguage = new YamlLanguage();

            testLanguage.Language = "en-US";
            testLanguage.Versions.Add(testVersion1);

            var testLanguage2 = new YamlLanguage();

            testLanguage2.Language = "da-DK";
            testLanguage2.Versions.Add(testVersion1);
            testLanguage2.Versions.Add(testVersion2);

            item.Languages.Add(testLanguage);
            item.Languages.Add(testLanguage2);
        }
Esempio n. 4
0
        private void DecorateSharedFieldsTestData(YamlItem item)
        {
            var field = new YamlFieldValue
            {
                Id    = new Guid("9a5a2ce9-9ae3-4a21-92f0-dba3cb7ac2bf"),
                Value = "Hello world."
            };

            var field2 = new YamlFieldValue
            {
                Id       = new Guid("badd9cf9-53e0-4d0c-bcc0-2d784c282f6a"),
                NameHint = "Test Field",
                Value    = @"Lorem thine ipsum
<p>forsooth thy sit amet</p>
<div class=""simian"">Chimpanzee.</div>"
            };

            item.SharedFields.Add(field);
            item.SharedFields.Add(field2);
        }
 public YamlItemFieldValue(YamlFieldValue field, IFieldFormatter[] formatters)
 {
     _field      = field;
     _formatters = formatters;
 }
Esempio n. 6
0
        private void DecorateVersionsTestData(YamlItem item)
        {
            var field = new YamlFieldValue
            {
                Id = new Guid("9a5a2ce9-9ae3-4a21-92f0-dba3cb7ac2bf"),
                Value = "Hello \"silly\" world."
            };

            var field2 = new YamlFieldValue
            {
                Id = new Guid("badd9cf9-53e0-4d0c-bcc0-2d784c282f6a"),
                NameHint = "Test Field",
                Value = @"Lorem thine ipsum
            <p>forsooth thy sit amet</p>
            <div class=""simian"">Chimpanzee.</div>"
            };

            var testVersion1 = new YamlVersion();
            testVersion1.VersionNumber = 1;
            testVersion1.Fields.Add(field);
            testVersion1.Fields.Add(field2);

            var testVersion2 = new YamlVersion();
            testVersion2.VersionNumber = 2;
            testVersion2.Fields.Add(field);

            var testLanguage = new YamlLanguage();
            testLanguage.Language = "en-US";
            testLanguage.Versions.Add(testVersion1);

            var testLanguage2 = new YamlLanguage();
            testLanguage2.Language = "da-DK";
            testLanguage2.Versions.Add(testVersion1);
            testLanguage2.Versions.Add(testVersion2);

            item.Languages.Add(testLanguage);
            item.Languages.Add(testLanguage2);
        }
Esempio n. 7
0
        private void DecorateSharedFieldsTestData(YamlItem item)
        {
            var field = new YamlFieldValue
            {
                Id = new Guid("9a5a2ce9-9ae3-4a21-92f0-dba3cb7ac2bf"),
                Value = "Hello world."
            };

            var field2 = new YamlFieldValue
            {
                Id = new Guid("badd9cf9-53e0-4d0c-bcc0-2d784c282f6a"),
                NameHint = "Test Field",
                Value = @"Lorem thine ipsum
            <p>forsooth thy sit amet</p>
            <div class=""simian"">Chimpanzee.</div>"
            };

            item.SharedFields.Add(field);
            item.SharedFields.Add(field2);
        }
 public YamlItemFieldValue(YamlFieldValue field, IFieldFormatter[] formatters)
 {
     _field = field;
     _formatters = formatters;
 }
Esempio n. 9
0
		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;
				}
			}
		}