Don't understand you clearly but see you have some problems with adding order line to shopping cart. I would implement it as follows:
public class Order
{
public int Amount { get; set; }
public Guid ProductId { get; set; }
}
public class ShoppingCart
{
public List<order> Orders { get; set; }
public void Add(Order order)
{
if (order == null) return;
if (Orders.Where(p => p.ProductId == order.ProductId).Count() > 0)
{
var existedOrder = Orders.Single(o => o.ProductId == order.ProductId);
existedOrder.Amount += order.Amount;
}
else
{
Orders.Add(order);
}
}
}</order>
Also I advice you to separate your bussiness domain logic from UI. It means the method for adding products should not contain some actions for UI just bussiness logic.