ベースアイテムモデルコンバータ

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

このクラスは、Data Exchange Frameworkモデル オブジェクトに設定されたSitecoreアイテムからの値の読み取りを簡略化するメソッドを提供します。

種類

Sitecore.DataExchange.Converters.BaseItemModelConverter<TTo>,Sitecore.DataExchange

人物を表すSitecoreテンプレートがある例を考えてみましょう。テンプレートには、次のフィールドがあります。

フィールド名

フィールドの種類

Name

1行テキスト

Email

1行テキスト

DOB

日付

Data Exchange Framework内で、このテンプレートに基づくアイテムを次のモデルを使用して公開します。

public class Person
{
    public string Name { get; set; }
    public string Email { get; set; }
    public DateTime DateOfBirth { get; set; }
}

次のクラスは、基本アイテム モデル コンバーターを使用して、前のテンプレートに基づくSitecoreアイテムから前のモデルのインスタンスを作成します。

using Sitecore.DataExchange.Attributes;
using Sitecore.DataExchange.Repositories;
using Sitecore.Services.Core.Model;

namespace Examples
{
    [SupportedIds(PersonTemplateId)]
    public class PersonConverter : BaseItemModelConverter<Person>
    {
        public const string PersonTemplateId = "[PERSON TEMPLATE ID]";
        public PersonConverter(IItemModelRepository repository) : base(repository)
        {
        }
        protected override ConvertResult<Person> ConvertSupportedItem(ItemModel source)
        {
            if (source == null)
            {
                return ConvertResult<Person>.NegativeResult();
            }
            var person = new Person
            {
                Name = base.GetStringValue(source, "Name"),
                Email = base.GetStringValue(source, "Email"),
                DateOfBirth = base.GetDateTimeValue(source, "DOB")
            }
            return ConvertResult<Person>.PositiveResult(person);
        }
    }
}
メモ

SupportedIds属性は、検証のために使用されます。これにより、コンバーターは指定されたテンプレートに基づくアイテムでのみ使用できるようになります。

この記事を改善するための提案がある場合は、 お知らせください!