Example #1
0
        private void SaveDelta(Delta delta)
        {
            DeltaDto newDelta = new DeltaDto(DateTime.Now);

            newDelta.Data = delta.Serialize();
            storage.Add(newDelta);
        }
Example #2
0
 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'!");
     }
 }
Example #3
0
        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);
        }