/// <summary> /// Gets the package sale date. /// </summary> /// <returns>The package sale date.</returns> /// <param name="rq">Rq.</param> //取得套餐可售日期 public static PkgSaleDateModel GetPkgSaleDate(QueryProductModel rq) { PkgSaleDateModel pkgSdt = new PkgSaleDateModel(); List <SaleDt> dt = new List <SaleDt>(); try { JObject obj = PackageProxy.getSaleDate(rq); if (obj["content"]["result"].ToString() != "0000") { pkgSdt.result = obj["content"]["result"].ToString(); pkgSdt.result_msg = $"kkday saleDate api response msg is not correct! {obj["content"]["msg"].ToString()}"; throw new Exception($"kkday saleDate api response msg is not correct! {obj["content"]["msg"].ToString()}"); } #region --1.取回傳資料是否成功的訊息-- pkgSdt.result = obj["content"]["result"].ToString(); pkgSdt.result_msg = obj["content"]["msg"].ToString(); #endregion #region --2.從傑森物件取『套餐可售日期列表』-- if (pkgSdt.result.ToString() == "0000") { JArray jDt = (JArray)obj["content"]["saleDt"]; for (int i = 0; i < jDt.Count; i++) { var model = new SaleDt(); model.pkg_no = jDt[i]["pkgOidObj"].ToString(); model.sale_day = jDt[i]["day"].ToString(); dt.Add(model); } pkgSdt.saleDt = dt; } #endregion } catch (Exception ex) { pkgSdt.result = "10001"; pkgSdt.result_msg = $"SaleDate ERROR :{ex.Message},{ex.StackTrace}"; Website.Instance.logger.FatalFormat($"SaleDate ERROR :{ex.Message},{ex.StackTrace}"); } return(pkgSdt); }
//套餐日期 一開始先全抓 public static List <PkgDateforEcModel> getProdPkgDate(PackageModel pkg, string lang, string currency, Dictionary <string, string> uikey, out string allCanUseDate) { List <PkgDateforEcModel> pkgDateList = new List <PkgDateforEcModel>(); string allCanUseDateTemp = ""; //要判斷是否是0000 PkgSaleDateModel sale_dates = pkg.sale_dates; foreach (SaleDt s in sale_dates.saleDt) { string pkgOid = s.pkg_no.ToString(); DateTime day = DateTimeTool.yyyyMMdd2DateTime(s.sale_day); //string day = s.sale_day.ToString(); //先建立ProductPkgDateModel ,有新的就加 string[] pkgid = pkgOid.Split(","); foreach (string id in pkgid) { var result = pkgDateList.Where(x => x.pkgOid.ToString() == id); if (result.Count() > 0) { foreach (PkgDateforEcModel pd in result) { pd.day = pd.day + day.ToString("yyyy-MM-dd") + ","; } } else { PkgDateforEcModel pd = new PkgDateforEcModel(); pd.pkgOid = id; pd.day = day.ToString("yyyy-MM-dd") + ","; pkgDateList.Add(pd); } } allCanUseDateTemp = allCanUseDateTemp + day.ToString("yyyy-MM-dd") + ","; } //去最後逗號 foreach (PkgDateforEcModel pkgDate in pkgDateList) { if (pkgDate.day.Length != 0) { pkgDate.day = pkgDate.day.Substring(0, pkgDate.day.Length - 1); } } allCanUseDate = allCanUseDateTemp.Length > 0 ? allCanUseDateTemp.Substring(0, allCanUseDateTemp.Length - 1) : allCanUseDateTemp; return(pkgDateList); }