コード例 #1
0
        public static UpgradeWapper GenreateUpgradeWpper(this ICardCoupon model)
        {
            switch (model.CardType)
            {
            case CardTypes.CASH:
                return(new UpgradeWapper()
                {
                    CardId = model.CardId,
                    Cash = model.TransformForUpgrade() as CashCoupon
                });

            case CardTypes.DISCOUNT:
                return(new UpgradeWapper()
                {
                    CardId = model.CardId,
                    Discount = model.TransformForUpgrade() as DiscountCoupon
                });

            case CardTypes.GENERAL_COUPON:
                return(new UpgradeWapper()
                {
                    CardId = model.CardId,
                    Discount = model.TransformForUpgrade() as DiscountCoupon
                });

            case CardTypes.GIFT:
                return(new UpgradeWapper()
                {
                    CardId = model.CardId,
                    Gift = model.TransformForUpgrade() as GiftCoupon
                });

            case CardTypes.GROUPON:
                return(new UpgradeWapper()
                {
                    CardId = model.CardId,
                    Groupon = model.TransformForUpgrade() as Groupon
                });

            case CardTypes.MEMBER_CARD:
                return(new UpgradeWapper()
                {
                    CardId = model.CardId,
                    MemberCard = model.TransformForUpgrade() as MemberCard
                });

            default:
                throw new NotSupportedException(model.CardType.ToString());
            }
        }
コード例 #2
0
        public static ICardCoupon DeserializeSpecificCardCoupon(this string json, CardTypes type)
        {
            ICardCoupon cardCoupon = null;

            switch (type)
            {
            case CardTypes.CASH:
                cardCoupon = json.DeserializeToObject <CashCoupon>();
                break;

            case CardTypes.DISCOUNT:
                cardCoupon = json.DeserializeToObject <DiscountCoupon>();
                break;

            case CardTypes.GENERAL_COUPON:
                cardCoupon = json.DeserializeToObject <GeneralCoupon>();
                break;

            case CardTypes.GIFT:
                cardCoupon = json.DeserializeToObject <GiftCoupon>();
                break;

            case CardTypes.GROUPON:
                cardCoupon = json.DeserializeToObject <Groupon>();
                break;

            case CardTypes.MEMBER_CARD:
                cardCoupon = json.DeserializeToObject <MemberCard>();
                break;
            }
            if (cardCoupon != null)
            {
                cardCoupon.CardType = type;
                return(cardCoupon);
            }
            throw new NotSupportedException(type.ToString());
        }
コード例 #3
0
        public static CreatingWapper GenreateCreatingWapper(this ICardCoupon model)
        {
            switch (model.CardType)
            {
            case CardTypes.CASH:
                return(new CreatingWapper()
                {
                    Card = new CashWapper()
                    {
                        Card = model as CashCoupon,
                        CardId = model.CardId,
                        CardType = model.CardType
                    }
                });

            case CardTypes.DISCOUNT:
                return(new CreatingWapper()
                {
                    Card = new DiscountWapper()
                    {
                        Card = model as DiscountCoupon,
                        CardId = model.CardId,
                        CardType = model.CardType
                    }
                });

            case CardTypes.GENERAL_COUPON:
                return(new CreatingWapper()
                {
                    Card = new GeneralWapper()
                    {
                        Card = model as GeneralCoupon,
                        CardId = model.CardId,
                        CardType = model.CardType
                    }
                });

            case CardTypes.GIFT:
                return(new CreatingWapper()
                {
                    Card = new GiftWapper()
                    {
                        Card = model as GiftCoupon,
                        CardId = model.CardId,
                        CardType = model.CardType
                    }
                });

            case CardTypes.GROUPON:
                return(new CreatingWapper()
                {
                    Card = new GrouponWapper()
                    {
                        Card = model as Groupon,
                        CardId = model.CardId,
                        CardType = model.CardType
                    }
                });

            case CardTypes.MEMBER_CARD:
                return(new CreatingWapper()
                {
                    Card = new MemberCardWapper()
                    {
                        Card = model as MemberCard,
                        CardId = model.CardId,
                        CardType = model.CardType
                    }
                });

            default:
                throw new NotSupportedException(model.CardType.ToString());
            }
        }
コード例 #4
0
 public static T ToCardCoupon <T>(this ICardCoupon card)
     where T : class
 {
     return(card as T);
 }