I am working on creating an ASP.NET shopping cart with MVC.
My Store entitiy contains a DBSet of Basket. My Basket model, contains a list of BasketItems. The problem is, my "AddtoBasket" function, needs to search through the current list of BasketItems, and determine if an identical "basketitem" already exists, and if so, increase the qty. I am at a dead end on the shopping cart logic. How exactly would I search through my current list of "basketItems" ?
Store Context
public class StoreEntities : DbContext
{
public DbSet<Order> Order { get; set; }
public DbSet<OrderItems> OrderItems {get; set;}
public DbSet<Basket> Basket { get; set; }
public dbSet<BaskItem> BasketItems {get; set; }
}
Models
public class BasketItem
{
[Key]
public int BasketItemID { get; set; }
public string sellerID { get; set; }
public string sku { get; set; }
public int Quantity { get; set; }
public decimal Price { get; set; }
}
public class Basket
{
[Key]
public string BasketID { get; set; }
public virtual List<BasketItem> BasketItems { get; set; }
public System.DateTime DateCreated { get; set; }
}
Shopping Cart Logic
public void AddtoBasket(BasketItem basketItem)
{
//Search Current Basket for basketItem
//
//If item doesnt exists, add it
if (basketItem == null){
basketItem = new BasketItem
{
sku = "",
sellerID = "",
Quantity = 1,
Price = 100
};
storeDB.BasketItems.Add(basketItem);
storeDB.SaveChanges();
}
else
{
basketItem.Quantity = +basketItem.Quantity;
storeDB.SaveChanges();
}
}
#endregion