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); }
public void Add(string resourceKind, SyncDigestEntryInfo info) { ISyncDigestTableAdapter syncDigestTableAdapter = StoreEnvironment.Resolve <ISyncDigestTableAdapter>(_context); IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve <IResourceKindTableAdapter>(_context); using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false)) { ResourceKindInfo resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction); try { syncDigestTableAdapter.Insert(resourceKindInfo.Id, new SyncDigestEntryInfo[] { info }, jetTransaction); } catch (OleDbException exception) { if (exception.Errors.Count == 1 && exception.Errors[0].SQLState == "3022") { throw new StoreException(string.Format("An error occured while adding a new sync digest entry. A sync digest entry already exists for the resource kind '{0}' and EndPoint '{1}.", resourceKind, info.EndPoint), exception); } throw; } jetTransaction.Commit(); } }
internal ISyncDigestTableAdapter CreateSyncDigestTableAdapter(IResourceKindTableAdapter resourceKindTableAdapter, IEndpointTableAdapter endpointTableAdapter) { ISyncDigestTable syncDigestTable = new SyncDigestTable(resourceKindTableAdapter.Table, endpointTableAdapter.Table); using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { // create the table if (!JetHelpers.TableExists(syncDigestTable.TableName, jetTransaction)) { syncDigestTable.CreateTable(jetTransaction); jetTransaction.Commit(); } else { // update the table ITableFieldsUpdated tableFieldUpdater = syncDigestTable as ITableFieldsUpdated; if (null != tableFieldUpdater) { tableFieldUpdater.UpdateFields(jetTransaction); jetTransaction.Commit(); } } } return(new SyncDigestTableAdapter(syncDigestTable, _context)); }
public void Add(string resourceKind, object applicationBookmark) { string assemblyQualifiedName = applicationBookmark.GetType().AssemblyQualifiedName; object blob = this.SerializeApplicationBookmark(applicationBookmark); IAppBookmarkTableAdapter appBookmarkTableAdapter = StoreEnvironment.Resolve <IAppBookmarkTableAdapter>(_context); IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve <IResourceKindTableAdapter>(_context); using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false)) { ResourceKindInfo resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction); try { appBookmarkTableAdapter.Insert(resourceKindInfo.Id, blob, assemblyQualifiedName, jetTransaction); } catch (OleDbException exception) { if (exception.Errors.Count == 1 && exception.Errors[0].SQLState == "3022") { throw new StoreException(string.Format("An error occured while adding a new application bookmark. An application bookmark already exists for the resource kind '{0}'.", resourceKind), exception); } throw; } jetTransaction.Commit(); } }
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 IAppBookmarkTableAdapter CreateAppBookmarkTableAdapter(IResourceKindTableAdapter resourceKindTableAdapter) { IAppBookmarkTable appBookmarkTable = new AppBookmarkTable(resourceKindTableAdapter.Table); using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { if (!JetHelpers.TableExists(appBookmarkTable.TableName, jetTransaction)) { appBookmarkTable.CreateTable(jetTransaction); jetTransaction.Commit(); } } return new AppBookmarkTableAdapter(appBookmarkTable, _context); }
internal ITickTableAdapter CreateTickTableAdapter(IResourceKindTableAdapter resourceKindTableAdapter) { ITickTable tickTable = new TickTable(resourceKindTableAdapter.Table); using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { if (!JetHelpers.TableExists(tickTable.TableName, jetTransaction)) { tickTable.CreateTable(jetTransaction); jetTransaction.Commit(); } } return(new TickTableAdapter(tickTable, _context)); }
/* * public void Update(string resourceKind, SyncDigestInfo info) * { * ISyncDigestTableAdapter syncDigestTableAdapter = StoreEnvironment.Resolve<ISyncDigestTableAdapter>(_context); * IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve<IResourceKindTableAdapter>(_context); * * using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false)) * { * ResourceKindInfo resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction); * * try * { * syncDigestTableAdapter.Update(resourceKindInfo.Id, info.ToArray(), jetTransaction); * } * catch (StoreException exception) * { * throw new StoreException(string.Format("An error occured while updating a sync digest entry. No sync digest entry exists for the resource kind '{0}'.", resourceKind), exception); * } * jetTransaction.Commit(); * } * } */ public bool Update(string resourceKind, SyncDigestEntryInfo info) { bool result = false; ISyncDigestTableAdapter syncDigestTableAdapter = StoreEnvironment.Resolve <ISyncDigestTableAdapter>(_context); IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve <IResourceKindTableAdapter>(_context); using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false)) { ResourceKindInfo resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction); result = syncDigestTableAdapter.Update(resourceKindInfo.Id, info, jetTransaction); jetTransaction.Commit(); } return(result); }
public SyncDigestInfo Get(string resourceKind) { SyncDigestInfo resultInfo = null; ISyncDigestTableAdapter syncDigestTableAdapter = StoreEnvironment.Resolve <ISyncDigestTableAdapter>(_context); IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve <IResourceKindTableAdapter>(_context); using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false)) { ResourceKindInfo resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction); resultInfo = syncDigestTableAdapter.Get(resourceKindInfo.Id, jetTransaction); jetTransaction.Commit(); } return(resultInfo); }
private ICorrelatedResSyncTableAdapter GetAdapter(string resourceKind) { ICorrelatedResSyncTableAdapter correlatedResSyncTableAdapter; IEndpointTableAdapter endpointTableAdapter = StoreEnvironment.Resolve <IEndpointTableAdapter>(_context); IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve <IResourceKindTableAdapter>(_context); Dictionary <string, ICorrelatedResSyncTableAdapter> adapters = StoreEnvironment.Resolve <Dictionary <string, ICorrelatedResSyncTableAdapter> >(_context); if (!adapters.TryGetValue(resourceKind, out correlatedResSyncTableAdapter)) { TableAdapterFactory factory = new TableAdapterFactory(_context, _jetConnectionProvider); correlatedResSyncTableAdapter = factory.CreateCorrelatedResSyncTableAdapter(resourceKind, endpointTableAdapter, resourceKindTableAdapter); adapters.Add(resourceKind, correlatedResSyncTableAdapter); StoreEnvironment.Set <Dictionary <string, ICorrelatedResSyncTableAdapter> >(_context, adapters); } return(correlatedResSyncTableAdapter); }
public void Update(string resourceKind, object applicationBookmark) { string assemblyQualifiedName = applicationBookmark.GetType().AssemblyQualifiedName; object blob = this.SerializeApplicationBookmark(applicationBookmark); IAppBookmarkTableAdapter appBookmarkTableAdapter = StoreEnvironment.Resolve <IAppBookmarkTableAdapter>(_context); IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve <IResourceKindTableAdapter>(_context); using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false)) { ResourceKindInfo resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction); if (!appBookmarkTableAdapter.Update(resourceKindInfo.Id, blob, assemblyQualifiedName, jetTransaction)) { throw new StoreException(string.Format("No application bookmark exists for the resource kind '{0}' that can be updated.", resourceKind)); } jetTransaction.Commit(); } }
internal ICorrelatedResSyncTableAdapter CreateCorrelatedResSyncTableAdapter(string resourceKind, IEndPointTableAdapter EndPointTableAdapter, IResourceKindTableAdapter resourceKindTableAdapter) { ResourceKindInfo resourceKindInfo = null; using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction); jetTransaction.Commit(); } ICorrelatedResSyncTable correlatedResSyncTable = new CorrelatedResSyncTable(resourceKindInfo.Id, resourceKindTableAdapter.Table, EndPointTableAdapter.Table); using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { if (!JetHelpers.TableExists(correlatedResSyncTable.TableName, jetTransaction)) { correlatedResSyncTable.CreateTable(jetTransaction); jetTransaction.Commit(); } } return new CorrelatedResSyncTableAdapter(correlatedResSyncTable,_context); }
public void Delete(string resourceKind) { IAppBookmarkTableAdapter appBookmarkTableAdapter = StoreEnvironment.Resolve <IAppBookmarkTableAdapter>(_context); IResourceKindTableAdapter resourceKindTableAdapter = StoreEnvironment.Resolve <IResourceKindTableAdapter>(_context); using (IJetTransaction jetTransaction = _jetConnectionProvider.GetTransaction(false)) { ResourceKindInfo resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction); try { appBookmarkTableAdapter.Delete(resourceKindInfo.Id, jetTransaction); } catch { return; } jetTransaction.Commit(); } }
public CachedResourceKindTableAdapter(IResourceKindTableAdapter resourceKindTableAdapter) { _tableAdapter = resourceKindTableAdapter; }
internal ISyncResultsTableAdapter CreateSyncResultsTableAdapter(string resourceKind, IResourceKindTableAdapter resourceKindTableAdapter) { ResourceKindInfo resourceKindInfo = null; using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction); jetTransaction.Commit(); } ISyncResultsTable syncResultsTable = new SyncResultsTable(resourceKindInfo.Id, resourceKindTableAdapter.Table); using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { if (!JetHelpers.TableExists(syncResultsTable.TableName, jetTransaction)) { syncResultsTable.CreateTable(jetTransaction); jetTransaction.Commit(); } } return(new SyncResultsTableAdapter(syncResultsTable, _context)); }
internal ISyncResultsTableAdapter CreateSyncResultsTableAdapter(string resourceKind, IResourceKindTableAdapter resourceKindTableAdapter) { ResourceKindInfo resourceKindInfo = null; using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction); jetTransaction.Commit(); } ISyncResultsTable syncResultsTable = new SyncResultsTable(resourceKindInfo.Id, resourceKindTableAdapter.Table); using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { if (!JetHelpers.TableExists(syncResultsTable.TableName, jetTransaction)) { syncResultsTable.CreateTable(jetTransaction); jetTransaction.Commit(); } } return new SyncResultsTableAdapter(syncResultsTable, _context); }
internal ISyncDigestTableAdapter CreateSyncDigestTableAdapter(IResourceKindTableAdapter resourceKindTableAdapter, IEndPointTableAdapter EndPointTableAdapter) { ISyncDigestTable syncDigestTable = new SyncDigestTable(resourceKindTableAdapter.Table, EndPointTableAdapter.Table); using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { // create the table if (!JetHelpers.TableExists(syncDigestTable.TableName, jetTransaction)) { syncDigestTable.CreateTable(jetTransaction); jetTransaction.Commit(); } else { // update the table ITableFieldsUpdated tableFieldUpdater = syncDigestTable as ITableFieldsUpdated; if (null != tableFieldUpdater) { tableFieldUpdater.UpdateFields(jetTransaction); jetTransaction.Commit(); } } } return new SyncDigestTableAdapter(syncDigestTable, _context); }
public CachedResourceKindTableAdapter(IResourceKindTableAdapter resourceKindTableAdapter) { _tableAdapter = resourceKindTableAdapter; }
internal ICorrelatedResSyncTableAdapter CreateCorrelatedResSyncTableAdapter(string resourceKind, IEndpointTableAdapter endpointTableAdapter, IResourceKindTableAdapter resourceKindTableAdapter) { ResourceKindInfo resourceKindInfo = null; using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { resourceKindInfo = resourceKindTableAdapter.GetOrCreate(resourceKind, jetTransaction); jetTransaction.Commit(); } ICorrelatedResSyncTable correlatedResSyncTable = new CorrelatedResSyncTable(resourceKindInfo.Id, resourceKindTableAdapter.Table, endpointTableAdapter.Table); using (IJetTransaction jetTransaction = _connProvider.GetTransaction(false)) { if (!JetHelpers.TableExists(correlatedResSyncTable.TableName, jetTransaction)) { correlatedResSyncTable.CreateTable(jetTransaction); jetTransaction.Commit(); } } return(new CorrelatedResSyncTableAdapter(correlatedResSyncTable, _context)); }