public static int initiateWorkitem(BFConfiguration configuration, BFWorkFlowTypes workflowType, string param1, string param2, string param3, string param4,string param5, string param6, string param7, string param8) { var _url = ""; var _action = "" ; // ServiceCaller.serviceUrlRoot() + "webservice/HWActivity"; switch (workflowType) { case BFWorkFlowTypes.SpecialsApplication: _url = ServiceCaller.serviceUrlRoot() + "data/webservice/SpecialsApplication.hws"; _action = "SpecialsApplicationService"; break; case BFWorkFlowTypes.AddedApplication: _url = ServiceCaller.serviceUrlRoot() + "data/webservice/AddedApplication.hws"; _action = "AddedApplicationService"; break; case BFWorkFlowTypes.FundingPlan: _url = ServiceCaller.serviceUrlRoot() + "data/webservice/FundingPlan.hws"; _action = "FundingPlansService"; break; } // DEBUG - Check that for Funding Plan Creation these are correct var message = String.Format("GMOUser: {0}, Title: {1}, PlNotifyUser: {2}", param1, param5, param6); string soapXml = SpecialsApplicationSoapMessage(configuration, param1, param2, workflowType, param3, param4, param5, param6, param7, param8); XmlDocument soapEnvelopeXml = CreateSoapEnvelope(configuration, soapXml); HttpWebRequest webRequest = CreateWebRequest(_url, _action); InsertSoapEnvelopeIntoWebRequest(soapEnvelopeXml, webRequest); IAsyncResult asyncResult = webRequest.BeginGetResponse(null, null); asyncResult.AsyncWaitHandle.WaitOne(); string soapResult; using (WebResponse webResponse = webRequest.EndGetResponse(asyncResult)) { using (StreamReader rd = new StreamReader(webResponse.GetResponseStream())) { soapResult = rd.ReadToEnd(); } } return Convert.ToInt32(CommonFunctions.between(soapResult, "<StartReturn xsi:type=\"xsd:int\">", "</StartReturn>")); }
private static string SpecialsApplicationSoapMessage(BFConfiguration configuration, string param1, string param2, BFWorkFlowTypes workflowType, string param3, string param4, string param5, string param6, string param7, string param8) { StringBuilder soapMessage = new StringBuilder(4096); soapMessage.Append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:def=\"http://DefaultNamespace\">"); soapMessage.Append("<soapenv:Header/>"); soapMessage.Append("<soapenv:Body>"); soapMessage.Append("<def:Start>"); soapMessage.Append("<def:ExtLink>"); soapMessage.Append(param2); soapMessage.Append("</def:ExtLink>"); if (workflowType == BFWorkFlowTypes.FundingPlan) { soapMessage.Append("<def:GMOUser>"); soapMessage.Append(param1); soapMessage.Append("</def:GMOUser>"); soapMessage.Append("<def:Title>"); soapMessage.Append(param5); // param3 to param5 soapMessage.Append("</def:Title>"); soapMessage.Append("<def:PlNotifyUser>"); soapMessage.Append(param6); // param4 to param6 soapMessage.Append("</def:PlNotifyUser>"); } else { soapMessage.Append("<def:ProgramOfficers>"); soapMessage.Append(param1); soapMessage.Append("</def:ProgramOfficers>"); soapMessage.Append("<def:ProjectNumber>"); soapMessage.Append(param5); soapMessage.Append("</def:ProjectNumber>"); if (!string.IsNullOrEmpty(param6)) { soapMessage.Append("<def:SpecialType>"); soapMessage.Append(param6); soapMessage.Append("</def:SpecialType>"); } soapMessage.Append("<def:PIName>"); soapMessage.Append(param7.TrimEnd()); soapMessage.Append("</def:PIName>"); soapMessage.Append("<def:Council>"); soapMessage.Append(param8); soapMessage.Append("</def:Council>"); } soapMessage.Append("</def:Start>"); soapMessage.Append("</soapenv:Body>"); soapMessage.Append("</soapenv:Envelope>"); return soapMessage.ToString(); }
//Qais Overload function public static int initiateWorkitem(BFConfiguration configuration, BFWorkFlowTypes workflowType, string param1, string param2, string param3, string param4, string param5, string param6) { return initiateWorkitem(configuration, workflowType, param1, // fundingPlan.FPGMOMemberId, param2, // fpUrl, null, null, param3, // fundingPlan.FundingPlanName, param4, // fundingPlan.FPPlNotifyMemberId param5, param6); }