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)); }
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); }