Пример #1
0
        //套餐&日期整合
        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);
        }
Пример #2
0
        [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));
            }
        }