private async Task <ExpandoObject> GetFavoriteExpandoObjectAsync(string userId, string partitionKey, string rowKey) { var rowKeyAll = _uriFactory.CreateTumblrRowKey(TumblrCategory.All, rowKey); var tumblr = await GetTumblrEntityAsync(partitionKey, rowKeyAll); if (tumblr == null) { return(null); } dynamic p = tumblr.ToExpandoObject(); p.RowKey = _uriFactory.GetInvertedTicksFromTumblrRowKey(p.RowKey); p.UserId = userId; p.Table = await _azureStorage.GetTableReferenceAsync(LvConstants.TableNameOfFavorite); return(p); }
public async Task <CommentModel> GetCommentModelsAsync(string partitionKey, string rowKey, int takeCount) { var rowKeyAll = _uriFactory.CreateTumblrRowKey(TumblrCategory.All, rowKey); var tumblr = await _tumblrService.GetTumblrEntityAsync(partitionKey, rowKeyAll); if (tumblr == null) { return(null); } var model = tumblr.CloneByJson <TumblrEntity, CommentModel>(); model.Sas = await _sasService.GetSasForTable(LvConstants.TableNameOfComment, rowKey); return(model); }
public ITableEntity CreateTumblrEntity(dynamic p) { string partitionKey = p.PartitionKey; string mediaUri = p.MediaUri; string mediaLargeUri = p.MediaLargeUri; string mediaMediumUri = p.MediaMediumUri; string mediaSmallUri = p.MediaSmallUri; TumblrText tumblrText = p.TumblrText; var now = GetUtcNow(); var invertedTicks = DateTimeHelper.GetInvertedTicks(now); return(new TumblrEntity(partitionKey, _uriFactory.CreateTumblrRowKey(tumblrText.Category, invertedTicks)) { MediaType = partitionKey, MediaUri = mediaUri, MediaLargeUri = mediaLargeUri, MediaMediumUri = mediaMediumUri, MediaSmallUri = mediaSmallUri, Text = tumblrText.Text, TumblrCategory = tumblrText.Category.ToString("D"), CreateTime = now }); }