public static void Remove(SdataContext context) { StoreEnvironmentItem item = null; lock (lockObj) { if (!stat_EnvironmentItems.TryGetValue(context, out item)) { return; } stat_EnvironmentItems.Remove(context); } }
public static T Resolve <T>(SdataContext context) { StoreEnvironmentItem item = null; lock (lockObj) { if (!stat_EnvironmentItems.TryGetValue(context, out item)) { throw new InvalidOperationException(string.Format("No StoreEnvironment initialized for the given context {0}", context.ToString())); } } return(item.Resolve <T>()); }
internal static void Set <T>(SdataContext context, object obj) { if (obj is T == false) { throw new InvalidOperationException(string.Format("The supplied instance does not implement {0}", typeof(T).FullName)); } StoreEnvironmentItem item = null; lock (stat_EnvironmentItems) { if (!stat_EnvironmentItems.TryGetValue(context, out item)) { throw new InvalidOperationException(string.Format("No StoreEnvironment initialized for the given context {0}", context.ToString())); } item.Set <T>(obj); } }
public static void Initialize(IJetConnectionProvider connProvider, SdataContext context) { StoreEnvironmentItem item = null; lock (lockObj) { if (stat_EnvironmentItems.TryGetValue(context, out item)) { return; } item = new StoreEnvironmentItem(); item.Register <IJetConnectionProvider>(connProvider); TableAdapterFactory tableAdapterFactory = new TableAdapterFactory(context, connProvider); IResourceKindTableAdapter resourceKindTableAdapter = tableAdapterFactory.CreateResourceKindTableAdapter(); item.Register <IResourceKindTableAdapter>(resourceKindTableAdapter); IEndpointTableAdapter endpointTableAdapter = tableAdapterFactory.CreateEndpointTableAdapter(); item.Register <IEndpointTableAdapter>(endpointTableAdapter); item.Register <ISyncDigestTableAdapter>(tableAdapterFactory.CreateSyncDigestTableAdapter(resourceKindTableAdapter, endpointTableAdapter)); item.Register <IAppBookmarkTableAdapter>(tableAdapterFactory.CreateAppBookmarkTableAdapter(resourceKindTableAdapter)); item.Register <ITickTableAdapter>(tableAdapterFactory.CreateTickTableAdapter(resourceKindTableAdapter)); Dictionary <string, ICorrelatedResSyncTableAdapter> correlatedResSyncTableAdapters = new Dictionary <string, ICorrelatedResSyncTableAdapter>(); item.Register <Dictionary <string, ICorrelatedResSyncTableAdapter> >(correlatedResSyncTableAdapters); Dictionary <string, ISyncResultsTableAdapter> syncResultsTableAdapters = new Dictionary <string, ISyncResultsTableAdapter>(); item.Register <Dictionary <string, ISyncResultsTableAdapter> >(syncResultsTableAdapters); //item.Register<ISyncResultsTableAdapter>(tableAdapterFactory.CreateSyncResultsTableAdapter(resourceKindTableAdapter)); stat_EnvironmentItems.Add(context, item); } }