private CreateCorrelatedResSyncTableAdapter ( string resourceKind, IEndpointTableAdapter endpointTableAdapter, IResourceKindTableAdapter resourceKindTableAdapter ) : ICorrelatedResSyncTableAdapter | ||
resourceKind | string | |
endpointTableAdapter | IEndpointTableAdapter | |
resourceKindTableAdapter | IResourceKindTableAdapter | |
return | ICorrelatedResSyncTableAdapter |
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);
}
TableAdapterFactory::CreateCorrelatedResSyncTableAdapter ( string resourceKind, IEndPointTableAdapter EndPointTableAdapter, IResourceKindTableAdapter resourceKindTableAdapter ) : ICorrelatedResSyncTableAdapter |
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); }