예제 #1
0
 public static AssetImageEntity Create(IAssetImage source)
 {
     return(new AssetImageEntity
     {
         PartitionKey = GeneratePartitionKey(),
         RowKey = GenerateRowKey(source.AssetIds),
         ImageUrl = source.ImageUrl,
         IconUrl = source.IconUrl,
         AssetIds = source.AssetIds.ToJson()
     });
 }
예제 #2
0
        public async Task InsertOrReplaceAsync(IAssetImage assetImage)
        {
            var existed = await _tableStorage.GetDataAsync(AssetImageEntity.GeneratePartitionKey(),
                                                           AssetImageEntity.GenerateRowKey(assetImage.AssetIds));

            var newImage = AssetImageEntity.Create(assetImage);

            if (string.IsNullOrEmpty(newImage.IconUrl))
            {
                newImage.IconUrl = existed?.IconUrl;
            }
            if (string.IsNullOrEmpty(newImage.ImageUrl))
            {
                newImage.IconUrl = existed?.ImageUrl;
            }

            await _tableStorage.InsertOrReplaceAsync(newImage);
        }