public void Pack(Stream outputZipStream, IEnumerable <AcCommonObject> objs) { var list = objs.ToList(); var description = PackedDescription.ToString(list.Select(GetDescriptionOverride)); using (var writer = WriterFactory.Open(outputZipStream, ArchiveType.Zip, CompressionType.Deflate)) { _writer = writer; _added.Clear(); foreach (var obj in list) { Drain(Pack(obj), _cancellation); if (_cancellation.IsCancellationRequested) { return; } } if (!string.IsNullOrWhiteSpace(description)) { writer.WriteString("ReadMe.txt", description); } } if (!string.IsNullOrEmpty(description)) { outputZipStream.AddZipDescription(description); } }
public void Pack(Stream outputZipStream, AcCommonObject obj) { var description = PackedDescription.ToString(new[] { GetDescriptionOverride(obj) }); using (var writer = WriterFactory.Open(outputZipStream, ArchiveType.Zip, CompressionType.Deflate)) { _writer = writer; _added.Clear(); Drain(Pack(obj), _cancellation); if (_cancellation.IsCancellationRequested) { return; } writer.WriteString("ReadMe.txt", description); } outputZipStream.AddZipDescription(description); }