//套餐&日期整合 public static PackageModel InitPkg2(prodQury prodQury, ProdTitleModel title, PackageModel pkgs, List <PkgDateforEcModel> prodPkgDateList) { if (prodQury.selDate == "")//第一次進來 { foreach (PkgDetailModel pkg in pkgs.pkgs) { string pkgOid = pkg.pkg_no; foreach (PkgDateforEcModel pkgDate in prodPkgDateList) { if (pkgOid.Equals(pkgDate.pkgOid)) { pkg.pkgDate = pkgDate; } } } } else { //如果有 selDate要依selDate決定可用的套餐 foreach (PkgDetailModel pkg in pkgs.pkgs) { string pkgOid = pkg.pkg_no; //先確認有沒有在可售區間 -晚點寫,要改 if (pkg.status == "N") { pkg.chkDateCanSell = "3"; //3己售罄 pkg.NoSellTextShow = title.product_index_has_been_sold_out; // "已售罄"; } else { //foreach (PkgDateforEcModel pkgDate in prodPkgDateList) { //if (prodPkgDateList.Select(x=>x.day)) { //if (pkgDate.day.IndexOf(prodQury.selDate.Replace("/", "-")) > -1) { if (pkg.status == "Y") { pkg.chkDateCanSell = "1";// 1上架日期可賣 } } //else { pkg.chkDateCanSell = "2"; //2上架日期不可賣 //pkg.NoSellTextShow = title.product_index_check_availablity; //"此日期無法購買"; pkg.NoSellTextShow = title.product_index_has_been_sold_out; // "已售罄"; } //pkg.pkgDate = pkgDate; } } } } } return(pkgs); }
[HttpPost]//[AcceptVerbs("Post")] public IActionResult reflashPkg([FromBody] prodQury prodQury) { try { //B2d分銷商資料 var aesUserData = User.Identities.SelectMany(i => i.Claims.Where(c => c.Type == ClaimTypes.UserData).Select(c => c.Value)).FirstOrDefault(); var UserData = JsonConvert.DeserializeObject <B2dAccount>(AesCryptHelper.aesDecryptBase64(aesUserData, Website.Instance.AesCryptKey)); //先確認是否有selDate ,如果沒有表示是第一次 //如果有 selDate要依selDate決定可用的套餐 string allCanUseDate = ""; //取挖字 Dictionary <string, string> uikey = CommonRepostory.getuiKey(RedisHelper, UserData.LOCALE);;// Redishelper.getuiKey(fakeContact.lang); ProdTitleModel title = ProductRepostory.getProdTitle(uikey); ViewData["prodTitle"] = title; ViewData["currency"] = UserData.CURRENCY;//先從這裡取得幣別就不用再抓prod //ProductforEcModel prod = ApiHelper.getProdDtl(fakeContact.companyXid, fakeContact.state, fakeContact.lang, fakeContact.currency, prodQury.prodOid); //prod = prodRep.getProdInfo(prod, prodQury.prodOid, fakeContact.lang, fakeContact.currency, uikey); //prod.guidNo = guid; //ViewData["prodInfo"] = prod; PackageModel pkgs = ProductRepostory.getProdPkg(UserData.COMPANY_XID, UserData.COUNRTY_CODE, UserData.LOCALE, UserData.CURRENCY, prodQury.prodOid, title); Int64 nowDatetime = Convert.ToInt64(DateTime.Now.ToString("yyyyMMddHHmmss")); pkgs.pkgs = pkgs.pkgs.Where(x => nowDatetime >= Convert.ToInt64(x.online_s_date) && Convert.ToInt64(x.online_e_date) > nowDatetime).ToList(); Website.Instance.logger.Debug($"product_reflashPkg_err:{JsonConvert.SerializeObject(pkgs)}"); List <PkgDateforEcModel> prodPkgDateList = ProductRepostory.getProdPkgDate(pkgs, UserData.LOCALE, UserData.CURRENCY, uikey, out allCanUseDate); //設定每個pkg裡面可以使用的日期有那些 pkgs = ProductRepostory.InitPkg(prodQury, title, pkgs, prodPkgDateList); return(Content(this.RenderPartialViewToString(ViewEngine, "_prodPkg", pkgs))); } catch (Exception ex) { //error Website.Instance.logger.Debug($"product_reflashPkg_err:{ex.ToString()}"); returnStatus status = new returnStatus(); status.status = "Error"; status.msgErr = "資料錯誤,請重新讀取頁";//要改 return(Json(status)); } }