Пример #1
0
        /// <summary>
        /// 创建卡券入口
        /// </summary>
        /// <param name="cardType"></param>
        /// <param name="deal_detail"></param>
        /// <param name="least_cost"></param>
        /// <param name="reduce_cost"></param>
        /// <param name="discount"></param>
        /// <param name="gift"></param>
        /// <param name="default_detail"></param>
        /// <param name="logo_url"></param>
        /// <param name="code_type"></param>
        /// <param name="brand_name"></param>
        /// <param name="title"></param>
        /// <param name="sub_title"></param>
        /// <param name="color"></param>
        /// <param name="notice"></param>
        /// <param name="description"></param>
        /// <param name="quantity"></param>
        /// <param name="date_info"></param>
        /// <returns></returns>
        public static PubCardCreateResult CreateCard(PubCardType cardType, string deal_detail, int?least_cost, int?reduce_cost, int?discount, string gift, string default_detail,
                                                     string logo_url, PubCardCodeType code_type, string brand_name, string title, string sub_title, PubCardColorType color, string notice, string description, int quantity, PubCardDateInfo date_info)
        {
            // 基本卡券信息
            PubCardBaseInfo baseInfo = CreateBaseInfoFunc(logo_url, code_type, brand_name, title, sub_title, color, notice, description, quantity);
            // 时间
            PubCardDateInfo dateInfo = CreateDateInfoFunc(date_info);

            baseInfo.date_info = dateInfo;

            // 组装
            dynamic cardInfo = new ExpandoObject();

            cardInfo.card_type = cardType.ToString();
            switch (cardType)
            {
            case PubCardType.GROUPON:
                cardInfo.groupon = new
                {
                    base_info   = baseInfo,
                    deal_detail = deal_detail
                };
                break;

            case PubCardType.CASH:
                cardInfo.cash = new
                {
                    base_info   = baseInfo,
                    least_cost  = least_cost,
                    reduce_cost = reduce_cost
                };
                break;

            case PubCardType.DISCOUNT:
                cardInfo.discount = new
                {
                    base_info = baseInfo,
                    discount  = discount
                };
                break;

            case PubCardType.GIFT:
                cardInfo.gift = new
                {
                    base_info = baseInfo,
                    gift      = gift
                };
                break;

            case PubCardType.GENERAL_COUPON:
                cardInfo.general_coupon = new
                {
                    base_info      = baseInfo,
                    default_detail = default_detail
                };
                break;

            default:
                break;
            }

            // 创建卡券
            var card = new { card = cardInfo };
            var res  = CreateCardBase(card);

            return(res);
        }
Пример #2
0
        /// <summary>
        /// 创建卡券基础信息
        /// </summary>
        /// <param name="logo_url"></param>
        /// <param name="code_type"></param>
        /// <param name="brand_name"></param>
        /// <param name="title"></param>
        /// <param name="sub_title"></param>
        /// <param name="color"></param>
        /// <param name="notice"></param>
        /// <param name="description"></param>
        /// <param name="quantity"></param>
        /// <returns></returns>
        private static PubCardBaseInfo CreateBaseInfoFunc(string logo_url, PubCardCodeType code_type, string brand_name, string title, string sub_title, PubCardColorType color, string notice, string description, int quantity)
        {
            var baseInfo = new PubCardBaseInfo();

            baseInfo.logo_url    = logo_url;
            baseInfo.code_type   = code_type.ToString();
            baseInfo.brand_name  = brand_name;
            baseInfo.title       = title;
            baseInfo.sub_title   = sub_title;
            baseInfo.color       = color.ToString();
            baseInfo.notice      = notice;
            baseInfo.description = description;
            baseInfo.sku         = new PubCardSkuInfo()
            {
                quantity = quantity
            };
            return(baseInfo);
        }