private void SaveDelta(Delta delta) { DeltaDto newDelta = new DeltaDto(DateTime.Now); newDelta.Data = delta.Serialize(); storage.Add(newDelta); }
public void Add(DeltaDto item) { try { CloudBlockBlob block = blob.GetBlockBlobReference(item.RowKey); block.UploadFromByteArray(item.Data, 0, item.Data.Length); var uri = block.Uri.AbsoluteUri; TEntity entitiy = new TEntity(uri, item.TimeStamp, item.RowKey); TableOperation insert = TableOperation.InsertOrReplace(entitiy); table.Execute(insert); } catch (Exception) { throw new Exception("Error! Duplicated primary key 'index'!"); } }
public List <DeltaDto> RetrieveAll(string partitionKey) { List <DeltaDto> dtos = new List <DeltaDto>(); TableQuery <TEntity> query = new TableQuery <TEntity>().Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "Delta")); var result = table.ExecuteQuery <TEntity>(query).AsQueryable <TEntity>().ToList(); foreach (var item in result) { DeltaDto dto = new DeltaDto(); MemoryStream mem = new MemoryStream(); CloudBlockBlob block = blob.GetBlockBlobReference(item.Name); block.DownloadToStream(mem); mem.Position = 0; dto.Data = mem.ToArray(); dto.TimeStamp = item.TimeStamp; dtos.Add(dto); } return(dtos); }