Exemplo n.º 1
0
        public int IdForObject(object obj, IObjectContainer container)
        {
            // #example: get the id
            IDHolder idHolder = (IDHolder)obj;
            int      id       = idHolder.Id;

            // #end example
            return(id);
        }
Exemplo n.º 2
0
        public Guid IdForObject(object obj, IObjectContainer container)
        {
            // #example: get the uuid
            IDHolder uuidHolder = (IDHolder)obj;
            Guid     uuid       = uuidHolder.ObjectId;

            // #end example
            return(uuid);
        }
Exemplo n.º 3
0
        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
        }