public bool Get(string resourceKind, Type type, out object applicationBookmark)
        {
            bool result = false;

            applicationBookmark = null;
            string assemblyQualifiedName = type.AssemblyQualifiedName;

            IAppBookmarkTableAdapter  appBookmarkTableAdapter  = StoreEnvironment.Resolve <IAppBookmarkTableAdapter>(_context);
            IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve <IResourceKindTableAdapter>(_context);

            using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false))
            {
                ResourceKindInfo resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction);

                byte[] blob;
                string receivedAssemblyQualifiedName;
                if (appBookmarkTableAdapter.Get(resourceKindInfo.Id, out blob, out receivedAssemblyQualifiedName, jetTransaction))
                {
                    applicationBookmark = this.DeserializeBlob(blob, type);    // use given type not the one stored
                    result = true;
                }

                jetTransaction.Commit();
            }

            return(result);
        }
        internal IResourceKindTableAdapter CreateResourceKindTableAdapter()
        {
            IResourceKindTable resourceKindTable = new ResourceKindTable();

            using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false))
            {
                if (!JetHelpers.TableExists(resourceKindTable.TableName, jetTransaction))
                {
                    resourceKindTable.CreateTable(jetTransaction);
                    jetTransaction.Commit();
                }
            }

            IResourceKindTableAdapter resourceKindTableAdapter = new ResourceKindTableAdapter(resourceKindTable, _context);

            return(resourceKindTableAdapter);
            //CachedResourceKindTableAdapter cachedResourceKindTableAdapter = new CachedResourceKindTableAdapter(resourceKindTableAdapter);

            //using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false))
            //{
            //    cachedResourceKindTableAdapter.Load(jetTransaction);
            //    jetTransaction.Commit();
            //}
            //return cachedResourceKindTableAdapter;
        }
Пример #3
0
        public void Add(string resourceKind, SyncResultEntryInfo[] syncResultEntryInfos)
        {
            ISyncResultsTableAdapter  syncResultsTableAdapter  = this.GetAdapter(resourceKind);
            IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve <IResourceKindTableAdapter>(_context);

            using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false))
            {
                syncResultsTableAdapter.Insert(syncResultEntryInfos, _runName, _runStamp, jetTransaction);

                jetTransaction.Commit();
            }
        }
        internal int CreateNexttick(string resourceKind)
        {
            int nexttick;
            int currenttick;

            ItickTableAdapter         tickTableAdapter         = StoreEnvironment.Resolve <ItickTableAdapter>(_context);
            IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve <IResourceKindTableAdapter>(_context);

            using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false))
            {
                ResourceKindInfo resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction);

                if (!tickTableAdapter.TryGet(resourceKindInfo.Id, out currenttick, jetTransaction))
                {
                    currenttick = STARTtick;

                    tickTableAdapter.Insert(resourceKindInfo.Id, currenttick, jetTransaction);
                    nexttick = currenttick;
                }
                else
                {
                    currenttick++;
                    tickTableAdapter.Update(resourceKindInfo.Id, currenttick, jetTransaction);

                    nexttick = currenttick;
                }

                jetTransaction.Commit();
            }

            return(nexttick);
        }
        public SyncDigestEntryInfo Get(string resourceKind, string EndPoint)
        {
            SyncDigestEntryInfo       resultInfo               = null;
            ISyncDigestTableAdapter   syncDigestTableAdapter   = StoreEnvironment.Resolve <ISyncDigestTableAdapter>(_context);
            IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve <IResourceKindTableAdapter>(_context);
            IEndPointTableAdapter     EndPointTableAdapter     = StoreEnvironment.Resolve <IEndPointTableAdapter>(_context);

            using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false))
            {
                ResourceKindInfo resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction);
                EndPointInfo     EndPointInfo     = EndPointTableAdapter.GetOrCreate(EndPoint, jetTransaction);
                resultInfo = syncDigestTableAdapter.Get(resourceKindInfo.Id, EndPointInfo.Id, jetTransaction);

                jetTransaction.Commit();
            }

            return(resultInfo);
        }
Пример #6
0
        public CorrelatedResSyncInfo[] GetByLocalId(string resourceKind, string[] localIds)
        {
            CorrelatedResSyncInfo[] resultInfos;

            ICorrelatedResSyncTableAdapter correlatedResSyncTableAdapter = this.GetAdapter(resourceKind);

            using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false))
            {
                resultInfos = correlatedResSyncTableAdapter.GetByLocalId(localIds, jetTransaction);

                jetTransaction.Commit();
            }

            return((null != resultInfos) ? resultInfos : new CorrelatedResSyncInfo[0]);
        }