コード例 #1
0
        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>"));
        }
コード例 #2
0
        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();

        }
コード例 #3
0
        //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);
        }