public async Task <ChunkData> ChunkDataDownload(string fileNameWithExt, object dataChuncked) { List <ChunkData> listResult = new List <ChunkData>(); ChunkData result = new ChunkData(); await Task.Run(() => { listResult = this.ChunkDataPreparation(fileNameWithExt, dataChuncked); if (listResult.Count > 0) { result = listResult[0]; string chunkKey = listResult[0].ChunkKey; for (int i = 0; i < listResult.Count; i++) { cacher.AddMinutes(chunkKey + "_" + (i + 1), listResult[i], listResult[i].ChunkTimeMinutes); } } }); return(result); }
public ChunkData ChunkDataUploadSvrSync(ChunkData chunk) { /*Gak dipake*/ MemoryCacher cacher = new MemoryCacher(); ChunkData result = new ChunkData(); string savedchunk = string.Empty; object checkchunk = null; //check apakah ada data chunk checkchunk = cacher.GetValue(chunk.ChunkKey); result.ChunkCurrent = chunk.ChunkCurrent; result.ChunkKey = chunk.ChunkKey; result.ChunkMaxCount = chunk.ChunkMaxCount; result.FileName = chunk.FileName; if (checkchunk != null) { //resultchunk =jika ada, data chunk lama + data terbaru savedchunk = (string)checkchunk; result.DataChunk = savedchunk + chunk.DataChunk; } else { //resultchunk =jika tidak ada, data terbaru result.DataChunk = chunk.DataChunk; } //menghapus data chace cacher.Delete(chunk.ChunkKey); if (chunk.ChunkMaxCount == chunk.ChunkCurrent) { result.CompleteChunk = true; } else { result.CompleteChunk = false; //membuat chache data chace cacher.AddMinutes(result.ChunkKey, result.DataChunk, chunk.ChunkTimeMinutes); } return(result); }