Esempio n. 1
0
        public List <FixedPricePackageEx> SyncPackage(FixedPriceProductEx prod)
        {
            List <FixedPricePackageEx> pkgs = new List <FixedPricePackageEx>();

            // 登入者的語系
            var locale = _httpContextAccessor.HttpContext.User.FindFirst("Locale").Value;

            var KKdayPackages = PackageProxy.GetProdPackages(prod.COMPANY_XID, locale, prod.CURRENCY, prod.PROD_NO, prod.STATE);

            int _pkg_seq = 1;

            KKdayPackages.ForEach(p =>
            {
                var prices = new List <FixedPricePackageDtl>();

                prices.Add(new FixedPricePackageDtlEx()
                {
                    PKG_SEQ_NO = _pkg_seq,
                    PRICE_COND = "price1",
                    PRICE      = p.price1
                });

                prices.Add(new FixedPricePackageDtlEx()
                {
                    PKG_SEQ_NO = _pkg_seq,
                    PRICE_COND = "price2",
                    PRICE      = p.price2
                });

                prices.Add(new FixedPricePackageDtlEx()
                {
                    PKG_SEQ_NO = _pkg_seq,
                    PRICE_COND = "price3",
                    PRICE      = p.price3
                });

                prices.Add(new FixedPricePackageDtlEx()
                {
                    PKG_SEQ_NO = _pkg_seq,
                    PRICE_COND = "price4",
                    PRICE      = p.price4
                });

                pkgs.Add(new FixedPricePackageEx()
                {
                    SEQ_NO   = _pkg_seq,
                    PKG_NO   = p.pkg_no,
                    PKG_NAME = p.pkg_name,
                    PROD_XID = prod.XID,
                    Prices   = prices
                });

                _pkg_seq++;
            });

            return(pkgs);
        }
Esempio n. 2
0
        // 取得分銷商所有固定價產品
        public static FixedPriceProductEx GetFixedPriceProd(Int64 xid)
        {
            try
            {
                FixedPriceProductEx _prod = null;

                string sqlStmt = @"SELECT a.*, b.comp_currency
FROM b2b.b2d_fixedprice_prod a
JOIN b2b.b2d_company b ON a.company_xid=b.xid
WHERE a.xid=:xid ";

                NpgsqlParameter[] sqlParams = new NpgsqlParameter[] {
                    new NpgsqlParameter("xid", xid)
                };

                DataSet ds = NpgsqlHelper.ExecuteDataset(Website.Instance.SqlConnectionString, CommandType.Text, sqlStmt, sqlParams);
                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                {
                    DataRow dr = ds.Tables[0].Rows[0];

                    _prod = new FixedPriceProductEx()
                    {
                        XID         = dr.ToInt64("xid"),
                        PROD_NO     = dr.ToStringEx("prod_no"),
                        PROD_NAME   = dr.ToStringEx("prod_name"),
                        STATE       = dr.ToStringEx("state"),
                        CURRENCY    = dr.ToStringEx("comp_currency"),
                        COMPANY_XID = dr.ToInt64("company_xid")
                    };
                }

                return(_prod);
            }
            catch (Exception ex)
            {
                Website.Instance.logger.FatalFormat("{0}.{1}", ex.Message, ex.StackTrace);
                throw ex;
            }
        }