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 GetShowLineItemsByCartId(int id) { var lineItems = _lineItemRepository.GetLineItemsByCartId(id); var shows = new List <ShowLineItem>(); foreach (LineItem item in lineItems) { if (item.LineItemType == "Show") { ShowLineItem show = _lineItemRepository.GetShowLineItem(item.ProductId); shows.Add(show); } } return(Ok(shows)); }