public void UploadChunk(FileChunk chunk)
 {
     using (MemoryStream stream = new MemoryStream(chunk.ChunkData))
     {
         _blobRepository.UploadBlock(chunk.FileId, chunk.ChunkId, stream);
         SmallChunk smallChunk = new SmallChunk() { ChunkId = chunk.ChunkId, OriginalChunkId = chunk.OriginalChunkId };
         _azureCache.PutItem(new CacheItem() { FileId = chunk.FileId, Item = smallChunk });
     }
 }
        public void CommitChunks(FileChunk chunk)
        {
            List <CacheItem>            cacheItems = _azureCache.GetItems(chunk.FileId);
            Dictionary <string, string> blockIds   = cacheItems.Select(p => (SmallChunk)p.Item)
                                                     .Select(p => new { p.OriginalChunkId, p.ChunkId })
                                                     .ToDictionary(d => d.OriginalChunkId, d => d.ChunkId);

            blockIds = blockIds.OrderBy(p => p.Key).ToDictionary(p => p.Key, p => p.Value);
            _blobRepository.CommintBlocks(chunk.FileId, blockIds.Select(p => p.Value).ToList());
            _azureCache.RemoveItems(chunk.FileId);
        }
        public void CommitChunks(FileChunk chunk)
        {
            List<CacheItem> cacheItems = _azureCache.GetItems(chunk.FileId);
            Dictionary<string, string> blockIds = cacheItems.Select(p => (SmallChunk)p.Item)
                                                            .Select(p => new { p.OriginalChunkId, p.ChunkId })
                                                            .ToDictionary(d => d.OriginalChunkId, d => d.ChunkId);

            blockIds = blockIds.OrderBy(p => p.Key).ToDictionary(p => p.Key, p => p.Value);
            _blobRepository.CommintBlocks(chunk.FileId, blockIds.Select(p => p.Value).ToList());
            _azureCache.RemoveItems(chunk.FileId);
        }
 public void UploadChunk(FileChunk chunk)
 {
     using (MemoryStream stream = new MemoryStream(chunk.ChunkData))
     {
         _blobRepository.UploadBlock(chunk.FileId, chunk.ChunkId, stream);
         SmallChunk smallChunk = new SmallChunk()
         {
             ChunkId = chunk.ChunkId, OriginalChunkId = chunk.OriginalChunkId
         };
         _azureCache.PutItem(new CacheItem()
         {
             FileId = chunk.FileId, Item = smallChunk
         });
     }
 }