/// <summary> /// 記得在這裡加上xml請求時 必須去 Admin.gigade\Module\ActionFilter.cs 文件中加上判斷不然每次都會提示登錄過期 /// </summary> /// <returns></returns> public HttpResponseBase GetXmlInfo() { string msg = string.Empty; try { //公共的 _paraMgr = new ParameterMgr(connectionString); _siteConfigMgr = new SiteConfigMgr(Server.MapPath(xmlPath)); List<Parametersrc> listP = _paraMgr.QueryType(""); string to = string.Empty, sendtime = string.Empty, status = string.Empty, HttpPath = string.Empty; //根據parameterType數量來循環 if (listP.Count > 0) { string getHttp = "http://" + HttpContext.Request.Url.Authority.ToString() + "/Notification/"; StringBuilder strXml = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?><root>"); for (int i = 0, j = listP.Count; i < j; i++) { string type = listP[i].ParameterType; //讀取數據庫中收件人與通知狀態 List<Parametersrc> pList = _paraMgr.QueryUsed(new Parametersrc { ParameterType = type }); switch (type) { #region 根據不同的type來處理 case "warn_stock": to = pList.Where(rec => rec.parameterName == "sendTo").FirstOrDefault().ParameterCode; to = to.Replace("\n", ""); sendtime = pList.Where(rec => rec.parameterName == "sendTime").FirstOrDefault().ParameterCode; sendtime = sendtime.Replace("\n", ""); status = pList.Where(rec => rec.parameterName == "switch").FirstOrDefault().ParameterCode; HttpPath = "CheckStockAlarm"; strXml.Append("<mail>"); strXml.AppendFormat("<status>{0}</status>", status);//0 關閉,1 正常, 2 無資料,3 服務器異常 strXml.AppendFormat("<mailto>{0}</mailto>", to); strXml.AppendFormat("<sendTime>{0}</sendTime>", sendtime); strXml.AppendFormat("<getHttp>{0}</getHttp>", getHttp);//網站的IP地址+controller strXml.AppendFormat("<HttpPath>{0}</HttpPath>", HttpPath);//function strXml.Append("</mail>"); break; case "warn_product": to = pList.Where(rec => rec.parameterName == "sendTo").FirstOrDefault().ParameterCode; to = to.Replace("\n", ""); sendtime = pList.Where(rec => rec.parameterName == "sendTime").FirstOrDefault().ParameterCode; sendtime = sendtime.Replace("\n", ""); status = pList.Where(rec => rec.parameterName == "switch").FirstOrDefault().ParameterCode; HttpPath = "ProductUpdateNotice"; strXml.Append("<mail>"); strXml.AppendFormat("<status>{0}</status>", status);//0 關閉,1 正常, 2 無資料,3 服務器異常 strXml.AppendFormat("<mailto>{0}</mailto>", to); strXml.AppendFormat("<sendTime>{0}</sendTime>", sendtime); strXml.AppendFormat("<getHttp>{0}</getHttp>", getHttp);//網站的IP地址+controller strXml.AppendFormat("<HttpPath>{0}</HttpPath>", HttpPath);//function strXml.Append("</mail>"); break; case "warn_productMap": to = pList.Where(rec => rec.parameterName == "sendTo").FirstOrDefault().ParameterCode; to = to.Replace("\n", ""); sendtime = pList.Where(rec => rec.parameterName == "sendTime").FirstOrDefault().ParameterCode; sendtime = sendtime.Replace("\n", ""); status = pList.Where(rec => rec.parameterName == "switch").FirstOrDefault().ParameterCode; HttpPath = "ProductItemUpdateNotice"; strXml.Append("<mail>"); strXml.AppendFormat("<status>{0}</status>", status);//0 關閉,1 正常, 2 無資料,3 服務器異常 strXml.AppendFormat("<mailto>{0}</mailto>", to); strXml.AppendFormat("<sendTime>{0}</sendTime>", sendtime); strXml.AppendFormat("<getHttp>{0}</getHttp>", getHttp);//網站的IP地址+controller strXml.AppendFormat("<HttpPath>{0}</HttpPath>", HttpPath);//function strXml.Append("</mail>"); break; #endregion } } strXml.Append("</root>"); msg = strXml.ToString(); } else { msg = "<mail><status>3</status><msg>paras are not set.</msg></mail>"; } } catch { msg = "<mail><status>3</status></mail>"; } this.Response.Clear(); this.Response.Write(msg); this.Response.End(); return this.Response; }