Example #1
0
        /// <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);
        }
Example #2
0
        //套餐日期 一開始先全抓
        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);
        }