Example #1
0
            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);
            }