TransactionalNodeService.TransactionalMappingToolService.CompressBulkOperationsResponse C# (CSharp) Method

CompressBulkOperationsResponse() private method

private CompressBulkOperationsResponse ( List bulkOperationsResponses ) : string
bulkOperationsResponses List
return string
        private string CompressBulkOperationsResponse(List<BulkOperationResponse> bulkOperationsResponses)
        {
            MemoryStream bulkOperationsResponsesXml = null;
            MemoryStream compressedBulkOperationsResponsesStream = null;
            ZlibStream zipStream = null;

            try
            {
                bulkOperationsResponsesXml = new MemoryStream();

                DataContractSerializer serializer = new DataContractSerializer(typeof(List<BulkOperationResponse>));

                serializer.WriteObject(bulkOperationsResponsesXml, bulkOperationsResponses);

                byte[] metadataCollectionBytes = bulkOperationsResponsesXml.ToArray();
                compressedBulkOperationsResponsesStream = new MemoryStream();

                using (zipStream = new ZlibStream(compressedBulkOperationsResponsesStream, CompressionMode.Compress))
                {
                    zipStream.Write(metadataCollectionBytes, 0, metadataCollectionBytes.Length);
                }

                byte[] compressedMetadataCollectionBytes = compressedBulkOperationsResponsesStream.ToArray();

                string compressedResponses = Convert.ToBase64String(compressedMetadataCollectionBytes);

                return compressedResponses;
            }
            finally
            {
                if (bulkOperationsResponsesXml != null)
                {
                    bulkOperationsResponsesXml.Dispose();
                    bulkOperationsResponsesXml = null;
                }
            }
        }