私はcrmサーバからデータをプルダウンするためにこれらのインスタンスをいくつか呼び出す必要があります。作成方法
RetrieveAttributeRequest request = new RetrieveAttributeRequest();
request.EntityLogicalName = "opportunity";
request.LogicalName = "new_businessunit";
RetrieveAttributeResponse response = (RetrieveAttributeResponse)lService.Execute(request);
PicklistAttributeMetadata picklist = (PicklistAttributeMetadata)response.AttributeMetadata;
RetrieveAttributeRequest requestsource = new RetrieveAttributeRequest();
requestsource.EntityLogicalName = "opportunity";
requestsource.LogicalName = "new_sourcepick";
RetrieveAttributeResponse responsesource = (RetrieveAttributeResponse)lService.Execute(requestsource);
PicklistAttributeMetadata picklistsource = (PicklistAttributeMetadata)responsesource.AttributeMetadata;
Dictionary<int?, string> BusinessUnits = new Dictionary<int?, string>();
foreach (OptionMetadata option in picklist.OptionSet.Options)
{
string picklistlabel = option.Label.UserLocalizedLabel.Label.ToString();
businessid = option.Value;
BusinessUnits.Add(businessid, picklistlabel);
}
Dictionary<int?, string> MarketSegment = new Dictionary<int?, string>();
foreach (OptionMetadata option in picklistmarket.OptionSet.Options)
{
string picklistlabel = option.Label.UserLocalizedLabel.Label.ToString();
marketid = option.Value;
MarketSegment.Add(marketid, picklistlabel);
}
したがって、基本的にデータをプルダウンしてから、データを保持する辞書を作成します。私はこれらをたくさん持っているので、EntityLogialNameとLogicalNameを渡すだけの方法を作りたいと思います。だからではなく、私のような何かができることすべてを持っていることの:
loadlist(opportuniuty、new_businessunit)
をしかし、私はそれを処理するメソッドを作成する方法が本当にわかりません。どのように私は方法を行うかについての任意のアイデア?
ありがとうございます!
public static class PicklistAttributeMetadataExtensions
{
public static Dictionary<int?,string> ToDictionary(this PicklistAttributeMetadata picklist)
{
return picklist.OptionSet.Options.ToDictionary(x => x.Value, x => option.Label.UserLocalizedLabel.Label.ToString());
}
}
このように使用:
PicklistAttributeMetadata picklist = /// get pick list
var dictionary = picklist.ToDictionary();
いくつの異なる辞書宣言がありますか。私はあなたがBusinessUnitsとMarketSegmentにいくつ他のものを追加するのを見ますか? –
私は合計で5を持っています –