public async Task<bool> ZippAsync(IEnumerable<string> iText, string iFileName, string iPassword) { CheckArguments(iText, iFileName); SevenZipCompressor sevenZipCompressor = new SevenZipCompressor() { DirectoryStructure = true, EncryptHeaders = true, DefaultItemName = "Default.txt" }; try { using (var instream = new MemoryStream()) { using (var streamwriter = new StreamWriter(instream)) { iText.Apply(t => streamwriter.WriteLine(t)); await streamwriter.FlushAsync(); instream.Position = 0; using (Stream outstream = File.Create(iFileName)) { await sevenZipCompressor.CompressStreamAnsync(instream, outstream, iPassword); } } } } catch (Exception e) { Trace.WriteLine(string.Format("Problem zipping a text: {0}", e)); return false; } return true; }