private void LoadResource(ReportItem item) { string resourceType; item.ResourceContents = _Service.GetResourceContents(item.Path, out resourceType); item.ResourceType = resourceType; }
private void saveTreeNodes(TreeNodeCollection nodes) { foreach (TreeNode node in nodes) { var destPath = txtLocalPath.Text + "\\" + node.FullPath; if (node.Checked) { if (node.Nodes.Count > 0) { //check if dir exists if (!Directory.Exists(destPath)) { Directory.CreateDirectory(destPath); } saveTreeNodes(node.Nodes); } else { var itemPath = ROOT_FOLDER + node.FullPath.Replace("\\", "/"); var itemType = sourceRS.GetItemType(itemPath); if (itemType == ItemTypeEnum.Resource) { //Download the resource string resourceType; var contents = sourceRS.GetResourceContents(itemPath, out resourceType); File.WriteAllBytes(destPath, contents); continue; } else if (itemType == ItemTypeEnum.Report || itemType == ItemTypeEnum.LinkedReport) { var reportDef = sourceRS.GetReportDefinition(itemPath); XmlDocument rdl = new XmlDocument(); rdl.Load(new MemoryStream(reportDef)); rdl.Save(destPath + ".rdl"); } } processedNodeCount++; bwDownload.ReportProgress(processedNodeCount * 100 / selectedNodeCount); } } }