public static void Decompress(ClientOptionsModel clientOptions) { using (FileStream originalFileStream = File.OpenRead(clientOptions.SourceFileName)) { using (FileStream decompressedFileStream = File.Create(clientOptions.DestinationFileName)) { using (GZipStream decompressionStream = new GZipStream(originalFileStream, CompressionMode.Decompress)) { decompressionStream.CopyTo(decompressedFileStream); } } } }
public void CompletedSuccessfully(ClientOptionsModel clientOptions, DateTime startedTime) { var elapsed = (DateTime.Now - startedTime).TotalMilliseconds; var srcSize = _fileService.GetFileSize(clientOptions.SourceFileName); var dstSize = _fileService.GetFileSize(clientOptions.DestinationFileName); decimal compressionRatio = 0; if (srcSize != 0 && dstSize != 0) { compressionRatio = clientOptions.CompressionMode == CompressionMode.Compress ? (decimal)dstSize / srcSize * 100 : (decimal)srcSize / dstSize * 100; } var message = $"{clientOptions.CompressionMode} completed. Elapsed: {elapsed}ms. Source file size {srcSize} bytes. Destination file size {dstSize} bytes." + $" Compression ratio {(int)compressionRatio}%"; _statusUpdateService.Info(message); }
public void Failed(ClientOptionsModel clientOptions) { _fileService.DeleteIfExistsSafe(clientOptions.DestinationFileName); }