public void CreateBinaryFile(BinaryFilesGroup reportGroup, BinaryFile report, int seq) { //here it my code : apidesh byte[] definition = report.Process(reportGroup.TargetFolder); if (definition == null) { return; } _proxy.CreateResource(report.Name + ".jpg", "/" + reportGroup.TargetFolder, true, definition, "image/jpg", new Property[] { }); Logger.LogMessage(string.Format("{0} Binary File :[{1}] / [{2}] published successfully ", seq, reportGroup.Name, report.Name)); }
public void CreateBinaryFile(BinaryFilesGroup reportGroup, BinaryFile report, int seq) { //here it my code : apidesh byte[] definition = report.Process(reportGroup.TargetFolder); if (definition == null) { return; } string filesPath = report.FilePath; int startIndex = filesPath.LastIndexOf('\\') + 1; int getIndex = filesPath.Length - (startIndex); string ItemName = filesPath.Substring(startIndex, getIndex); string[] name = ItemName.Split(new char[] { '.' }); string fileType = name[1].ToString().ToLower(); if (fileType.Equals("exe")) { _proxy.CreateResource(report.Name + "." + fileType, "/" + reportGroup.TargetFolder, true, definition, "application/octet-stream" + fileType, new Property[] { }); } else if (fileType.Equals("doc") || fileType.Equals("docx")) { _proxy.CreateResource(report.Name + "." + fileType, "/" + reportGroup.TargetFolder, true, definition, "application/msword" + fileType, new Property[] { }); } else if (fileType.Equals("pdf")) { _proxy.CreateResource(report.Name + "." + fileType, "/" + reportGroup.TargetFolder, true, definition, "application/pdf" + fileType, new Property[] { }); } else if (fileType.Equals("xls") || fileType.Equals("xlsx")) { _proxy.CreateResource(report.Name + "." + fileType, "/" + reportGroup.TargetFolder, true, definition, "application/vnd.ms-excel" + fileType, new Property[] { }); } else if (fileType.Equals("txt")) { _proxy.CreateResource(report.Name + "." + fileType, "/" + reportGroup.TargetFolder, true, definition, "text/plain" + fileType, new Property[] { }); } else if (fileType.Equals("jpg") || fileType.Equals("gif") || fileType.Equals("bmp") || fileType.Equals("jpeg")) { _proxy.CreateResource(report.Name + "." + fileType, "/" + reportGroup.TargetFolder, true, definition, "image/" + fileType, new Property[] { }); } else { _proxy.CreateResource(report.Name + "." + fileType, "/" + reportGroup.TargetFolder, true, definition, fileType, new Property[] { }); } Logger.LogMessage(string.Format("{0} Binary File :[{1}] / [{2}] published successfully ", seq, reportGroup.Name, report.Name)); }
private static void ReadSettings(XmlDocument d) { // Globals XmlNodeList list5 = d.SelectNodes("//Settings/Globals/Global"); _GlobalVariables = new StringDictionary(); if (list5 != null) { foreach (XmlNode node in list5) { XmlNode key = node.Attributes["Name"]; if (key != null) { if (_GlobalVariables.ContainsKey(key.Value)) { _GlobalVariables[key.Value] = node.InnerText; } else { _GlobalVariables.Add(key.Value, node.InnerText); } } } } // ReportServers XmlNodeList list6 = d.SelectNodes("//Settings/ReportServers/ReportServer"); if (list6 != null) { _ReportServers = new Hashtable(); foreach (XmlNode node in list6) { XmlNode n0 = node.Attributes["Name"]; if (n0 != null) { string name = ProcessGlobals(n0.Value); XmlNode rsHost = node.Attributes["Host"]; XmlNode rsPath = node.Attributes["Path"]; if (rsHost != null && rsPath != null) { XmlNode rsProtocol = node.Attributes["Protocol"]; string protocol = rsProtocol != null ? ProcessGlobals(rsProtocol.Value) : "http"; XmlNode rsTimeout = node.Attributes["Timeout"]; string timeout = rsTimeout != null ? ProcessGlobals(rsTimeout.Value) : null; XmlNode rsUserName = node.Attributes["UserName"]; string userName = rsUserName != null && rsUserName.Value.Trim().Length > 0 ? ProcessGlobals(rsUserName.Value) : null; XmlNode rsPassword = node.Attributes["Password"]; string password = rsPassword != null ? ProcessGlobals(rsPassword.Value) : null; ReportServerInfo rsInfo = new ReportServerInfo(name, protocol, ProcessGlobals(rsHost.Value), ProcessGlobals(rsPath.Value), timeout, userName, password); if (_ReportServers.ContainsKey(name)) { _ReportServers[name] = rsInfo; } else { _ReportServers.Add(name, rsInfo); } } } } } // DataSources XmlNodeList list1 = d.SelectNodes("//Settings/DataSources/DataSource"); if (list1 != null) { _DataSources = new Hashtable(); _DBConnections = new StringDictionary(); foreach (XmlNode node in list1) { string name = null; string userName = null; string password = null; string credentialRetrieval = null; string connectionString = null; string targetFolder = null; string reportServer = null; bool publish = false; bool overwrite = false; bool windowsCredentials = false; XmlNode n1 = node.Attributes["Name"]; if (n1 != null) { name = n1.Value; XmlNode n2 = node.Attributes["Publish"]; XmlNode n3 = node.SelectSingleNode("ConnectionString"); XmlNode n4 = node.Attributes["Overwrite"]; XmlNode n5 = node.SelectSingleNode("UserName"); XmlNode n6 = node.SelectSingleNode("Password"); XmlNode n7 = node.SelectSingleNode("CredentialRetrieval"); XmlNode n8 = node.SelectSingleNode("WindowsCredentials"); XmlNode n9 = node.Attributes["TargetFolder"]; XmlNode n10 = node.Attributes["ReportServer"]; if (n2 != null) { publish = (n2.Value.ToLower() == "true"); } if (n3 != null) { connectionString = ProcessGlobals(n3.InnerText); } if (n4 != null) { overwrite = (n4.Value.ToLower() == "true"); } if (n5 != null) { if (n5.InnerText.Trim().Length > 0) { userName = ProcessGlobals(n5.InnerText); } } if (n6 != null) { password = ProcessGlobals(n6.InnerText); } if (n7 != null) { credentialRetrieval = ProcessGlobals(n7.InnerText); } if (n8 != null) { windowsCredentials = (n8.InnerText.ToLower() == "true"); } if (n9 != null) { targetFolder = ProcessGlobals(n9.Value); } if (n10 != null) { reportServer = ProcessGlobals(n10.Value); } if (_DataSources.ContainsKey(name)) { _DataSources[name] = new DataSource(name, userName, password, credentialRetrieval, windowsCredentials, connectionString, publish, overwrite, targetFolder, reportServer); _DBConnections[name] = ((DataSource)_DataSources[name]).ConnectionString; } else { _DataSources.Add(name, new DataSource(name, userName, password, credentialRetrieval, windowsCredentials, connectionString, publish, overwrite, targetFolder, reportServer)); _DBConnections.Add(name, ((DataSource)_DataSources[name]).ConnectionString); } } } } // Reports XmlNodeList list7 = d.SelectNodes("//Settings/Reports/ReportGroup"); int k = 0; if (list7 != null) { _ReportGroups = new ReportGroup[list7.Count]; foreach (XmlNode node in list7) { string rgName = null; string targetFolder = null; string dataSourceName = null; string reportServer = null; int cacheTime = -1; Report[] reports = null; XmlNode n1 = node.Attributes["Name"]; XmlNode n2 = node.Attributes["DataSourceName"]; XmlNode n3 = node.Attributes["TargetFolder"]; XmlNode n4 = node.Attributes["ReportServer"]; XmlNode n14 = node.Attributes["CacheTime"]; if (n2 != null && n3 != null && n4 != null) { dataSourceName = ProcessGlobals(n2.Value); targetFolder = ProcessGlobals(n3.Value); reportServer = ProcessGlobals(n4.Value); if (n1 != null) { rgName = ProcessGlobals(n1.Value); } if (n14 != null) { cacheTime = int.Parse(ProcessGlobals(n14.Value)); } XmlNodeList list2 = node.SelectNodes("Report"); int i = 0; if (list2 != null) { reports = new Report[list2.Count]; foreach (XmlNode node1 in list2) { string rpName = null; string collapsedHeight = null; int reportCacheTime = cacheTime; XmlNode n11 = node1.SelectSingleNode("FilePath"); if (n11 != null) { XmlNode n12 = node1.Attributes["Name"]; XmlNode n13 = node1.Attributes["CollapsedHeight"]; XmlNode n15 = node1.Attributes["CacheTime"]; if (n12 != null) { rpName = ProcessGlobals(n12.Value); } if (n13 != null) { collapsedHeight = ProcessGlobals(n13.Value); } if (n15 != null) { reportCacheTime = int.Parse(ProcessGlobals(n15.Value)); } reports[i] = new Report(rpName, string.Format("{0}{1}", Settings.CurrentDirectory, n11.InnerText), collapsedHeight, reportCacheTime); } i++; } } _ReportGroups[k] = new ReportGroup(rgName, targetFolder, dataSourceName, reportServer, reports); } k++; } } //BinaryFiles XmlNodeList list8 = d.SelectNodes("//Settings/BinaryFiles/BinaryFilesGroup"); int kk = 0; if (list8 != null) { _BinaryFilesGroup = new BinaryFilesGroup[list8.Count]; foreach (XmlNode node in list8) { string rgName = null; string targetFolder = null; //string dataSourceName = null; string reportServer = null; int cacheTime = -1; BinaryFile[] reports = null; XmlNode n1 = node.Attributes["Name"]; // XmlNode n2 = node.Attributes["DataSourceName"]; XmlNode n3 = node.Attributes["TargetFolder"]; XmlNode n4 = node.Attributes["ReportServer"]; XmlNode n14 = node.Attributes["CacheTime"]; if (n3 != null && n4 != null) { // dataSourceName = ProcessGlobals(n2.Value); targetFolder = ProcessGlobals(n3.Value); reportServer = ProcessGlobals(n4.Value); if (n1 != null) { rgName = ProcessGlobals(n1.Value); } if (n14 != null) { cacheTime = int.Parse(ProcessGlobals(n14.Value)); } XmlNodeList list2 = node.SelectNodes("BinaryFile"); int ik = 0; if (list2 != null) { reports = new BinaryFile[list2.Count]; foreach (XmlNode node1 in list2) { string rpName = null; string collapsedHeight = null; int reportCacheTime = cacheTime; XmlNode n11 = node1.SelectSingleNode("FilePath"); if (n11 != null) { XmlNode n12 = node1.Attributes["Name"]; XmlNode n13 = node1.Attributes["CollapsedHeight"]; XmlNode n15 = node1.Attributes["CacheTime"]; if (n12 != null) { rpName = ProcessGlobals(n12.Value); } if (n13 != null) { collapsedHeight = ProcessGlobals(n13.Value); } if (n15 != null) { reportCacheTime = int.Parse(ProcessGlobals(n15.Value)); } reports[ik] = new BinaryFile(rpName, string.Format("{0}{1}", Settings.CurrentDirectory, n11.InnerText), collapsedHeight, reportCacheTime); } ik++; } } _BinaryFilesGroup[kk] = new BinaryFilesGroup(rgName, targetFolder, reportServer, reports); } k++; } } // Executions XmlNodeList list3 = d.SelectNodes("//Settings/DBExecutions/DBExecution"); int j = 0; if (list3 != null) { _DBExecutions = new DBExecution[list3.Count]; foreach (XmlNode node in list3) { XmlNode dataSourceName = node.Attributes["DataSourceName"]; if (dataSourceName != null) { StringCollection files = null; XmlNodeList list4 = node.SelectNodes("DBFilePath"); if (list4 != null) { files = new StringCollection(); foreach (XmlNode node1 in list4) { files.Add(ProcessGlobals(node1.InnerText)); } } _DBExecutions[j] = new DBExecution(ProcessGlobals(dataSourceName.Value), files); } j++; } } }