in templates/Uwp/Features/ShareSource/Helpers/DataRequestExtensions.cs [24:75]
public static void SetData(this DataRequest dataRequest, ShareSourceFeatureData config)
{
var deferral = dataRequest.GetDeferral();
try
{
var requestData = dataRequest.Data;
requestData.Properties.Title = config.Title;
if (!string.IsNullOrEmpty(config.Description))
{
requestData.Properties.Description = config.Description;
}
var storageItems = new List<IStorageItem>();
foreach (var dataItem in config.Items)
{
switch (dataItem.DataType)
{
case ShareSourceFeatureItemType.Text:
requestData.SetText(dataItem.Text);
break;
case ShareSourceFeatureItemType.WebLink:
requestData.SetWebLink(dataItem.WebLink);
break;
case ShareSourceFeatureItemType.ApplicationLink:
requestData.SetApplicationLink(dataItem.ApplicationLink);
break;
case ShareSourceFeatureItemType.Html:
var htmlFormat = HtmlFormatHelper.CreateHtmlFormat(dataItem.Html);
requestData.SetHtmlFormat(htmlFormat);
break;
case ShareSourceFeatureItemType.Image:
requestData.FillImage(dataItem.Image, storageItems);
break;
case ShareSourceFeatureItemType.StorageItems:
requestData.FillStorageItems(dataItem.StorageItems, storageItems);
break;
case ShareSourceFeatureItemType.DeferredContent:
requestData.FillDeferredContent(dataItem.DeferredDataFormatId, dataItem.GetDeferredDataAsyncFunc);
break;
}
}
if (storageItems.Any())
{
requestData.SetStorageItems(storageItems);
}
}
finally
{
deferral.Complete();
}
}