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() }); }
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); }