private void DownloadReports(ReportingService2010SoapClient reportingServicesClient, TrustedUserHeader userHeader, CatalogItem[] items)
 {
     foreach (var reportDefinition in items.Where(item => item.TypeName == "Report"))
     {
         byte[] itemDefinition = null;
         reportingServicesClient.GetItemDefinition(userHeader, reportDefinition.Path, out itemDefinition);
         string reportContents = new StreamReader(new MemoryStream(itemDefinition)).ReadToEnd();
         string outputFilePath = Path.Combine(outputFolderPath, reportDefinition.Name + ReportFileExtension);
         Console.WriteLine("Downloaded report '{0}' into file '{1}'", reportDefinition.Name, outputFilePath);
         File.WriteAllText(outputFilePath, reportContents);
     }
 }
 private void DownloadSharedDataSets(ReportingService2010SoapClient reportingServicesClient, TrustedUserHeader userHeader, CatalogItem[] items)
 {
     foreach (var dataSetDefinition in items.Where(item => item.TypeName == "DataSet"))
     {
         byte[] itemDefinition = null;
         string outputFilePath = Path.Combine(outputFolderPath, dataSetDefinition.Name + DataSetFileExtension);
         reportingServicesClient.GetItemDefinition(userHeader, dataSetDefinition.Path, out itemDefinition);
         string reportContents = new StreamReader(new MemoryStream(itemDefinition)).ReadToEnd();
         Console.WriteLine("Downloaded shared data set '{0}' into file '{1}'", dataSetDefinition.Name, outputFilePath);
         File.WriteAllText(outputFilePath, reportContents);
     }
 }