Exemple #1
0
 public virtual void Add(IIdContent <Id> item)
 {
     try {
         Session.Store(this.UniqueData(item));
     } catch (Exception e) {
         throw e;
     } finally { }
 }
Exemple #2
0
        public virtual bool Contains(IIdContent <Id> item)
        {
            bool result = false;

            try {
                result = Session.Ext().IsStored(item);
            } catch (Exception e) {
                throw e;
            } finally { }
            return(result);
        }
Exemple #3
0
        public virtual IIdContent <Id> UniqueData(IIdContent <Id> data)
        {
            IIdContent <Id> result = data;

            if (data != null && !Session.Ext().IsStored(data))
            {
                IIdContent <Id> stored = this.GetById(data.Id);
                if (stored != null)
                {
                    long id = Session.Ext().GetID(stored);
                    Session.Ext().Bind(data, id);
                }
            }
            return(result);
        }
Exemple #4
0
        public virtual bool Remove(IIdContent <Id> item)
        {
            bool result = false;

            try {
                bool contained = Contains(item);
                if (contained)
                {
                    Session.Delete(item);
                    result = true;
                }
            } catch (Exception e) {
                throw e;
            } finally { }
            return(result);
        }
Exemple #5
0
        public virtual bool Remove(Id id)
        {
            bool result = false;

            try {
                bool contained = Contains(id);
                if (contained)
                {
                    // TODO: this is stupid:
                    // get the expensive object only to delete it!
                    IIdContent <Id> item = GetById(id);
                    Session.Delete(item);
                }
            } catch (Exception e) {
                throw e;
            } finally { }
            return(result);
        }
Exemple #6
0
        public virtual IIdContent <Id> GetById(Id id)
        {
            IIdContent <Id> result = null;

            try {
                IQuery query = Session.Query();
                // Attention! Here we use RealData and NOT IRealData as of query-index-usage
                query.Constrain(realDataBaseType);
                query.Descend("_id").Constrain(id);
                var set = query.Execute();
                if (set.HasNext())
                {
                    result = set.Next() as IIdContent <Id>;
                }
            } catch (Exception e) {
                throw e;
            } finally { }
            return(result);
        }
Exemple #8
0
 public bool Remove(IIdContent <Id> item)
 {
     return(Remove(item.Id));
 }
Exemple #9
0
 public void Add(IIdContent <Id> item)
 {
     dataList[item.Id] = item;
 }
Exemple #10
0
 public bool Contains(IIdContent <Id> item)
 {
     return(dataList.ContainsKey(item.Id));
 }