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);
             }
         }
     }
 }
Пример #2
0
        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);
        }
Пример #3
0
 public void Failed(ClientOptionsModel clientOptions)
 {
     _fileService.DeleteIfExistsSafe(clientOptions.DestinationFileName);
 }