Example #1
0
        public static void Remove(SdataContext context)
        {
            StoreEnvironmentItem item = null;

            lock (lockObj)
            {
                if (!stat_EnvironmentItems.TryGetValue(context, out item))
                {
                    return;
                }

                stat_EnvironmentItems.Remove(context);
            }
        }
Example #2
0
        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>());
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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);
            }
        }