public DomainObject GetDomainObjectReference() { if (ObjectID == null) { return(null); } if (ClientTransaction.IsInvalid(ObjectID)) { return(ClientTransaction.GetInvalidObjectReference(ObjectID)); } return(ClientTransaction.GetObjectReference(ObjectID)); }
private DataContainer GetTargetDataContainer(TransportItem transportItem, Dictionary <ObjectID, DomainObject> existingObjects, ClientTransaction bindingTargetTransaction) { DomainObject existingObject; if (existingObjects.TryGetValue(transportItem.ID, out existingObject)) { return(bindingTargetTransaction.DataManager.GetDataContainerWithLazyLoad(existingObject.ID, throwOnNotFound: true)); } else { var id = transportItem.ID; var instance = bindingTargetTransaction.GetInvalidObjectReference(id); ResurrectionService.ResurrectInvalidObject(bindingTargetTransaction, id); var newDataContainer = DataContainer.CreateNew(id); newDataContainer.SetDomainObject(instance); bindingTargetTransaction.DataManager.RegisterDataContainer(newDataContainer); return(newDataContainer); } }