/// <summary> /// Load the parameters which identify the request /// </summary> /// <param name="mq"></param> /// <param name="xpath"></param> /// <param name="request"></param> private void getRequestIdentifiers(MdoQuery mq, ref string xpath, ref string request) { // generate the rpc string sent to VistA request = mq.buildMessage(); request = StringUtils.stripInvalidXmlCharacters(request); request = StringUtils.stripNonPrintableChars(request); // build the xPath of the query node in the mockconnection file keyed // from rpcname, num rpc params, and each rpc param value string additionalArgs = ""; int id = 1; foreach (VistaQuery.Parameter param in mq.Parameters) { string value = getParamValue(param); additionalArgs += String.Format(" and @p{0}='{1}'", id++, value); } xpath = String.Format("//{0}[@{1}='{2}' and count(@*)={3} {4}]", QUERY_NODE, RPC_ATTR, mq.RpcName, mq.Parameters.Count + 1, additionalArgs); }
public override object query(MdoQuery mq, AbstractPermission permission = null) { string request = mq.buildMessage(); string response = (string)base.query(mq, permission); if (displayRPCList) { Console.WriteLine(request); } if (saveAuthConnect || (Account.IsAuthorized && !isCreateContextRequest(request) && !isDisconnectRequest(request))) { requests.Add(request); responses.Add(response); if (saveResults) { xmlSource.addRequest(mq, response, UpdateResults); } } return response; }