123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- using System;
- using System.Windows.Forms;
- using System.Web.Services.Protocols;
- using SamplesCommon;
- using cognosdotnet_10_2;
- namespace Save
- {
-
-
-
- class Save
- {
- public Save(){}
- static void Main(string[] args)
- {
- string cBIUrl = "";
- contentManagerService1 cBICMS = null;
- SamplesConnect connectDlg = new SamplesConnect();
- SaveDlg SaveDlgObject = new SaveDlg();
- if (args.GetLength(0) == 0 )
- {
-
- connectDlg.ShowDialog();
- if (connectDlg.IsConnectedToCBI() == true)
- {
- cBICMS = connectDlg.CBICMS;
- cBIUrl = connectDlg.CBIURL;
- SaveDlgObject.setConnection(connectDlg, cBIUrl);
- SaveDlgObject.setReportList(BaseClassWrapper.buildReportQueryList(cBICMS));
- SaveDlgObject.setSelectedReportIndex(0);
- SaveDlgObject.ShowDialog();
- }
- }
- }
-
- public bool runOption(SamplesConnect connection,
- string reportPath,
- bool saveAs,
- string newReportName,
- ref string resultMessage)
- {
- if (connection == null)
- {
- resultMessage = "The connection provided is invalid.";
- return false;
- }
-
- runOption[] executerunOptions = new runOption[4];
- runOption[] saveAsrunOptions = new runOption[2];
- runOptionBoolean roSaveOutput = new runOptionBoolean();
- runOptionStringArray roOutputFormat = new runOptionStringArray();
- runOptionBoolean roPrompt = new runOptionBoolean();
- runOptionBoolean roContinueConv = new runOptionBoolean();
- asynchReply rsr = null;
- string[] reportFormat = null;
-
-
- roSaveOutput.name = runOptionEnum.saveOutput;
- roSaveOutput.value = false;
-
- reportFormat = new string[] { "HTML" };
- roOutputFormat.name = runOptionEnum.outputFormat;
- roOutputFormat.value = reportFormat;
-
- roPrompt.name = runOptionEnum.prompt;
- roPrompt.value = false;
-
-
- roContinueConv.name = runOptionEnum.continueConversation;
- roContinueConv.value = true;
-
- executerunOptions[0] = roSaveOutput;
- executerunOptions[1] = roOutputFormat;
- executerunOptions[2] = roPrompt;
- executerunOptions[3] = roContinueConv;
- parameterValue[] reportParameters = new parameterValue[0];
- searchPathSingleObject cmReportPath = new searchPathSingleObject();
- cmReportPath.Value = reportPath;
- rsr = connection.CBIRS.run(cmReportPath, reportParameters, executerunOptions);
- if (rsr == null)
- {
- resultMessage = "...executing the report failed.";
- return false;
- }
- if (saveAs)
- {
- int position = reportPath.IndexOf("/report");
- string packagePath = reportPath.Substring(0, position);
-
- multilingualToken[] nameTokens = new multilingualToken[2];
- nameTokens[0] = new multilingualToken();
- nameTokens[0].locale = "en-us";
- nameTokens[0].value = newReportName;
- runOptionSaveAs roSaveAs = new runOptionSaveAs();
- roSaveAs.name = runOptionEnum.saveAs;
- roSaveAs.objectClass = reportSaveAsEnum.reportView;
- roSaveAs.objectName = nameTokens;
- roSaveAs.parentSearchPath = packagePath;
- saveAsrunOptions[0] = roSaveAs;
- runOptionBoolean roContinueConv2 = new runOptionBoolean();
- roContinueConv2.name = runOptionEnum.continueConversation;
- roContinueConv2.value = true;
- saveAsrunOptions[1] = roContinueConv2;
- rsr = connection.CBIRS.deliver(rsr.primaryRequest,new parameterValue[] {}, saveAsrunOptions);
-
- if (rsr.status != asynchReplyStatusEnum.complete)
- {
- while (rsr.status != asynchReplyStatusEnum.complete)
- {
- rsr = connection.CBIRS.wait(rsr.primaryRequest, new parameterValue[] {},new option[] {});
- }
- rsr = connection.CBIRS.getOutput(rsr.primaryRequest,new parameterValue[] {}, new option[] {});
- }
- resultMessage = "...the 'save as' request completed successfuly.";
- }
- else
- {
- option[] saverunOptions = new option[2];
- runOptionBoolean bSaveOutput = new runOptionBoolean();
- bSaveOutput.name = runOptionEnum.saveOutput;
- bSaveOutput.value = true;
- saverunOptions[0] = bSaveOutput;
- runOptionBoolean roContinueConv2 = new runOptionBoolean();
- roContinueConv2.name = runOptionEnum.continueConversation;
- roContinueConv2.value = true;
- saverunOptions[1] = roContinueConv2;
- rsr = connection.CBIRS.deliver(rsr.primaryRequest, new parameterValue[] {}, saverunOptions);
-
- if (rsr.status != asynchReplyStatusEnum.complete)
- {
- while (rsr.status != asynchReplyStatusEnum.complete)
- {
- rsr = connection.CBIRS.wait(rsr.primaryRequest,new parameterValue[] {}, new option[] {});
- }
- rsr = connection.CBIRS.getOutput(rsr.primaryRequest, new parameterValue[] {}, new option[] {});
- }
- resultMessage = "...the 'save' request completed successfuly.";
- }
- return true;
- }
- }
- }
|