public int IdForObject(object obj, IObjectContainer container) { // #example: get the id IDHolder idHolder = (IDHolder)obj; int id = idHolder.Id; // #end example return(id); }
public Guid IdForObject(object obj, IObjectContainer container) { // #example: get the uuid IDHolder uuidHolder = (IDHolder)obj; Guid uuid = uuidHolder.ObjectId; // #end example return(uuid); }
public void RegisterEventOnContainer(IObjectContainer container) { // #example: use events to assign the ids AutoIncrement increment = new AutoIncrement(container); IEventRegistry eventRegistry = EventRegistryFactory.ForObjectContainer(container); eventRegistry.Creating += delegate(object sender, CancellableObjectEventArgs args) { if (args.Object is IDHolder) { IDHolder idHolder = (IDHolder)args.Object; idHolder.Id = increment.GetNextID(idHolder.GetType()); } }; eventRegistry.Committing += delegate(object sender, CommitEventArgs args) { increment.StoreState(); }; // #end example }