public void Persist(object parent, Customer typeInstance, IdentityMap identityMap)
        {
            var log = string.Format("OrderId {0} for Customer: {1} {2}", parent == null ? (object)"none" : ((Order)parent).Id, typeInstance.FirstName, typeInstance.LastName);

            this.TraceLog.Add(log);

            identityMap.StoreItem(typeInstance.Id.ToString(), typeInstance);
        }
        public void Persist(object parent, Order typeInstance, IdentityMap identityMap)
        {
            typeInstance.Id = 1234;
            identityMap.StoreItem(typeInstance.Id.ToString(), typeInstance);

            var log = "OrderId: " + typeInstance.Id;

            this.TraceLog.Add(log);
        }
        public void Persist(object parent, LineItem typeInstance, IdentityMap identityMap)
        {
            var order = parent as Order;

            typeInstance.Id = order.LineItems.Max(l => l.Id) + 1;

            identityMap.StoreItem(typeInstance.Id.ToString(), typeInstance);

            var log = string.Format("Line item: {0} with SKU {1}", typeInstance.Id, typeInstance.SKU);

            this.TraceLog.Add(log);
        }