コード例 #1
0
ファイル: IndexingStore.cs プロジェクト: Piirtaa/Decoratid
        public void SetIndex(IHasId obj)
        {
            Condition.Requires(obj).IsNotNull();

            var hasBits = this.IndexFactory.GenerateIndex(obj);
            var soid = obj.GetStoredObjectId();
            this._storeOfIndices.SaveItem(new IndexedEntry(soid.BuildAsId().HasBits(hasBits)));
        }
コード例 #2
0
        public void SetIndex(IHasId obj)
        {
            Condition.Requires(obj).IsNotNull();

            var hasBits = this.IndexFactory.GenerateIndex(obj);
            var soid    = obj.GetStoredObjectId();

            this._storeOfIndices.SaveItem(new IndexedEntry(soid.BuildAsId().HasBits(hasBits)));
        }
コード例 #3
0
ファイル: SerializedIHasId.cs プロジェクト: Piirtaa/Decoratid
        private SerializedIHasId(IHasId obj)
        {
            Condition.Requires(obj).IsNotNull();

            var id = obj.GetStoredObjectId();

            this.Id      = _serializer.Serialize(id);
            this.Context = _serializer.Serialize(obj);
        }
コード例 #4
0
ファイル: CommitExtensions.cs プロジェクト: Piirtaa/Decoratid
        public static void SaveItemIfUniqueElseThrow(this IStore store, IHasId obj)
        {
            if (store == null)
                return;

            //throw if the item exists
            var dup = store.Get(obj.GetStoredObjectId());
            if (dup != null)
                throw new InvalidOperationException("Item already exists " + obj.Id.ToString());

            store.Commit(new CommitBag().MarkItemSaved(obj));
        }
コード例 #5
0
        public static void SaveItemIfUniqueElseThrow(this IStore store, IHasId obj)
        {
            if (store == null)
            {
                return;
            }

            //throw if the item exists
            var dup = store.Get(obj.GetStoredObjectId());

            if (dup != null)
            {
                throw new InvalidOperationException("Item already exists " + obj.Id.ToString());
            }

            store.Commit(new CommitBag().MarkItemSaved(obj));
        }