Пример #1
0
 public Inheritance()
 {
     this.db = new Data.Entities7();
 }
Пример #2
0
        /// <summary>
        /// Invokes a Web Method, with its parameters encoded or not.
        /// </summary>
        /// <param name="methodName">Name of the web method you want to call (case sensitive)</param>
        /// <param name="encode">Do you want to encode your parameters? (default: true)</param>
        private void Invoke(string methodName, bool encode, int proc_id)
        {
            Tools tool = new Tools();

            bool success = true;

            AssertCanInvoke(methodName);

            string jobid  = "";
            string userId = "";

            foreach (var param in Params)
            {
                if (param.Key == "UserId")
                {
                    userId = param.Value;
                }
                if (param.Key == "JobId")
                {
                    jobid = param.Value;
                }
            }
            string soapStr = "";
            int    idNEPSBI_REQ;

            using (Entities7 ctxData = new Entities7())
            {
                var pathData = (from p in ctxData.WV_LOAD_PATH_CONSUMER_ODP
                                where p.JOBID == jobid
                                select p);
                foreach (var data_val in pathData)
                {
                    soapStr =
                        @"<?xml version=""1.0"" encoding=""utf-8""?>
                <soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""
                   xmlns:xsd=""http://www.w3.org/2001/XMLSchema""
                   xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/""
                   xmlns:nep=""http://www.tm.com.my/hsbb/eai/NEPSLoadPathConsumer/"">
                  <soap:Body>
                    <nep:NEPSLoadPathConsumerRequest>
                        <!--Optional:-->
                        <eventName>NEPSLoadPathConsumer</eventName>
                        <UserId>" + userId + @"</UserId>
                        <EquipmentASide>
                        <!--Optional:-->
                        <AName>" + data_val.ANAME + @"</AName>
                        <!--Optional:-->
                        <ASite>" + data_val.ASITE + @"</ASite>
                        <!--Optional:-->
                        <AType>" + data_val.ATYPE + @"</AType>
                        <ESide>
                            <!--Optional:-->
                            <ACard2>" + data_val.ACARD2 + @"</ACard2>
                            <!--Optional:-->
                            <APort2>" + data_val.APORT2 + @"</APort2>
                        </ESide>
                        <Splitter>
                            <!--Optional:-->
                            <ACard3>" + data_val.ACARD3 + @"</ACard3>
                            <!--Optional:-->
                            <APort3>" + data_val.APORT3 + @"</APort3>
                        </Splitter>
                        </EquipmentASide>
                        <EquipmentZSide>
                        <!--Optional:-->
            
                        <ZName>" + data_val.ZNAME + @"</ZName><ZSite>" + data_val.ZSITE + @"</ZSite>
                        <!--Optional:-->
            
                        <!--Optional:-->
                        <ZType>" + data_val.ZTYPE + @"</ZType>
                        <!--Optional:-->
                        <ZCard>" + data_val.ZCARD + @"</ZCard><ZPort>" + data_val.ZPORT + @"</ZPort>
                        </EquipmentZSide>
                        <EquipDP>
                        <DPName>" + data_val.DPNAME + @"</DPName>
                        <DPSite>" + data_val.DPSITE + @"</DPSite><DPPort>" + data_val.DPPORT + @"</DPPort>
                        <!--Optional:-->
            
                        </EquipDP>
                    </nep:NEPSLoadPathConsumerRequest>

                  </soap:Body>
                </soap:Envelope>";



                    using (EntitiesNetworkElement data_nepsbi = new EntitiesNetworkElement())
                    {
                        var id_process = (from p in data_nepsbi.BI_GRNOSPDLDPATHCONS_REQ
                                          select p).OrderByDescending(p => p.REQUEST_ID).First();
                        idNEPSBI_REQ = Convert.ToInt32(id_process.REQUEST_ID) + 1;
                    }
                    string            sqlStr = "insert into NEPSBI.BI_GRNOSPDLDPATHCONS_REQ(REQUEST_ID,PROC_ID,TIME_SENT,EVENTNAME,USERID,ANAME ,ASITE ,ATYPE ,ACARD2,APORT2,ACARD3,APORT3,ZNAME ,ZSITE ,ZTYPE ,ZCARD ,ZPORT ,DPNAME,DPSITE,DPPORT) values";
                    OracleParameter[] oraPrm = new OracleParameter[20];

                    oraPrm[0]        = new OracleParameter("v_REQUEST_ID", OracleDbType.Int32);
                    oraPrm[0].Value  = idNEPSBI_REQ;
                    oraPrm[1]        = new OracleParameter("v_PROC_ID", OracleDbType.Varchar2);
                    oraPrm[1].Value  = proc_id;
                    oraPrm[2]        = new OracleParameter("v_TIME_SENT", OracleDbType.TimeStamp);
                    oraPrm[2].Value  = DateTime.Now;
                    oraPrm[3]        = new OracleParameter("v_EVENTNAME", OracleDbType.Varchar2);
                    oraPrm[3].Value  = "NEPSLoadPathConsumer";
                    oraPrm[4]        = new OracleParameter("v_CLASS", OracleDbType.Varchar2);
                    oraPrm[4].Value  = "Webview.Granite.LoadPath";
                    oraPrm[5]        = new OracleParameter("v_ANAME", OracleDbType.Varchar2);
                    oraPrm[5].Value  = data_val.ANAME;
                    oraPrm[6]        = new OracleParameter("v_ASITE", OracleDbType.Varchar2);
                    oraPrm[6].Value  = data_val.ASITE;
                    oraPrm[7]        = new OracleParameter("v_ATYPE", OracleDbType.Varchar2);
                    oraPrm[7].Value  = data_val.ATYPE;
                    oraPrm[8]        = new OracleParameter("v_ACARD2", OracleDbType.Varchar2);
                    oraPrm[8].Value  = data_val.ACARD2;
                    oraPrm[9]        = new OracleParameter("v_APORT2", OracleDbType.Varchar2);
                    oraPrm[9].Value  = data_val.APORT2;
                    oraPrm[10]       = new OracleParameter("v_ACARD3", OracleDbType.Varchar2);
                    oraPrm[10].Value = data_val.ACARD3;
                    oraPrm[11]       = new OracleParameter("v_APORT3", OracleDbType.Varchar2);
                    oraPrm[11].Value = data_val.APORT3;
                    oraPrm[12]       = new OracleParameter("v_ZNAME", OracleDbType.Varchar2);
                    oraPrm[12].Value = data_val.ZNAME;
                    oraPrm[13]       = new OracleParameter("v_ZSITE", OracleDbType.Varchar2);
                    oraPrm[13].Value = data_val.ZSITE;
                    oraPrm[14]       = new OracleParameter("v_ZTYPE", OracleDbType.Varchar2);
                    oraPrm[14].Value = data_val.ZTYPE;
                    oraPrm[15]       = new OracleParameter("v_ZCARD", OracleDbType.Varchar2);
                    oraPrm[15].Value = data_val.ZCARD;
                    oraPrm[16]       = new OracleParameter("v_ZPORT", OracleDbType.Varchar2);
                    oraPrm[16].Value = data_val.ZPORT;
                    oraPrm[17]       = new OracleParameter("v_DPNAME", OracleDbType.Varchar2);
                    oraPrm[17].Value = data_val.DPNAME;
                    oraPrm[18]       = new OracleParameter("v_DPSITE", OracleDbType.Varchar2);
                    oraPrm[18].Value = data_val.DPSITE;
                    oraPrm[19]       = new OracleParameter("v_DPPORT", OracleDbType.Varchar2);
                    oraPrm[19].Value = data_val.DPPORT;
                    string result2 = tool.ExecuteStored(connString, sqlStr, CommandType.StoredProcedure, oraPrm, false);
                    System.Diagnostics.Debug.WriteLine("result :" + result2);


                    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Url);
                    req.Headers.Add("SOAPAction", "\"http://tempuri.org/" + methodName + "\"");
                    req.ContentType = "text/xml;charset=\"utf-8\"";
                    req.Accept      = "text/xml";
                    req.Method      = "POST";
                    //Stream stm = req.GetRequestStream();
                    //StreamWriter stmw = new StreamWriter(stm);
                    //stmw.Write(soapStr);

                    ////StreamReader objReader = new StreamReader(req.GetResponse().GetResponseStream());
                    //WebResponse wr = req.GetResponse();
                    //Stream receiveStream = wr.GetResponseStream();
                    //StreamReader reader = new StreamReader(receiveStream);
                    //string result = reader.ReadToEnd();
                    //ResponseSOAP = XDocument.Parse(Utils.UnescapeString(result));
                    //ExtractResult(methodName, proc_id, idNEPSBI_REQ);

                    //req.Timeout = 300000;
                    //req.AllowWriteStreamBuffering = true;
                    using (Stream stm = req.GetRequestStream())
                    {
                        //string postValues = "";
                        //foreach (var param in Params)
                        //{
                        //    if (encode) postValues += string.Format("<{0}>{1}</{0}>", HttpUtility.HtmlEncode(param.Key), HttpUtility.HtmlEncode(param.Value));
                        //    else postValues += string.Format("<{0}>{1}</{0}>", param.Key, param.Value);
                        //}

                        //soapStr = string.Format(soapStr, methodName, postValues);

                        using (StreamWriter stmw = new StreamWriter(stm))
                        {
                            //Response.BufferOutput = true;
                            stmw.Write(soapStr);
                            stmw.Close();
                        }
                    }
                    using (StreamReader responseReader = new StreamReader(req.GetResponse().GetResponseStream()))
                    {
                        string result = responseReader.ReadToEnd();
                        ResponseSOAP = XDocument.Parse(Utils.UnescapeString(result));
                        ExtractResult(methodName, proc_id, idNEPSBI_REQ);
                    }
                }
            }
        }