Esempio n. 1
0
        public IActionResult GetUserCart(int uid)
        {
            // 1. Get cart id fron uid
            var cartId = _cartRepository.GetUsersCartId(uid);
            // 2. Use cart id to get line items
            var lineItems     = _lineItemRepository.GetLineItemsByCartId(cartId);
            var shows         = new List <ShowLineItem>();
            var subscriptions = new List <SubscriptionLineItem>();

            // 3. use LineItemTypeId and ProductIds to get Show and Subscription LineItems
            foreach (LineItem item in lineItems) // Loop through List with foreach
            {
                if (item.LineItemType == "Show")
                {
                    //Push Quantity and and LineItemId to LineItem Class
                    ShowLineItem show = _lineItemRepository.GetShowLineItem(item.ProductId);
                    shows.Add(show);
                }
                else if (item.LineItemType == "Subscription")
                {
                    SubscriptionLineItem subscription = _lineItemRepository.GetSubscriptionLineItem(item.ProductId);
                    subscriptions.Add(subscription);
                }
            }
            //4. Put it all in the Cart class
            var cart = Cart.BuildCart(uid, cartId, shows, subscriptions);

            return(Ok(cart));
        }
Esempio n. 2
0
        public IActionResult GetSubscriptionLineItem(int id)
        {
            var lineItems     = _lineItemRepository.GetLineItemsByCartId(id);
            var subscriptions = new List <SubscriptionLineItem>();

            foreach (LineItem item in lineItems)
            {
                if (item.LineItemType == "Subscription")
                {
                    SubscriptionLineItem subscription = _lineItemRepository.GetSubscriptionLineItem(item.ProductId);
                    subscriptions.Add(subscription);
                }
            }

            return(Ok(subscriptions));
        }
        private IIdentityResponse CreateNewSubscription()
        {
            var subscription = new Subscription
            {
                CustomerId        = TakeCustomerId(),
                HoldUntilDatetime = DateTime.Parse("2018-10-01")
            };

            var line1 = new SubscriptionLineItem
            {
                LineQuantity = 5,
                ItemId       = 1,
                Tierset      = new Tierset
                {
                    Base       = 25.95,
                    PriceModel = "vol",
                    Setup      = 100.0,
                    Tiers      = new[] {
                        new Tier
                        {
                            UnitFrom = 1,
                            UnitTo   = 10,
                            Amount   = 2.95
                        },
                        new Tier
                        {
                            UnitFrom = 11,
                            UnitTo   = 20,
                            Amount   = 1.95
                        }
                    }
                }
            };

            var line2 = new SubscriptionLineItem
            {
                ItemId = 2
            };

            subscription.LineItems = new[] { line1, line2 };

            var result = _service.CreateSubscription(subscription);

            return(result);
        }