예제 #1
0
        public async Task Write(Stream stream, Article product)
        {
            using (var xmlStream = new MemoryStream())
            {
                await _xmlFormatter.Write(xmlStream, product);

                xmlStream.Position = 0;

                using (var xmlReader = new StreamReader(xmlStream))
                    using (var pdfStream = new MemoryStream())
                    {
                        string xml = xmlReader.ReadToEnd();
                        _documentGenerator.SaveAsPdf(xml, null, pdfStream);
                        pdfStream.Position = 0;
                        await pdfStream.CopyToAsync(stream);
                    }
            }
        }