Exemple #1
0
        public override void Setup(ApplicationModulesManager moduleManager)
        {
            base.Setup(moduleManager);
            WCTypesInfo.Instance.Register(GetAdditionalClasses(moduleManager));
            if (Application == null || GetPath() == null)
            {
                return;
            }
            Application.SettingUp += ApplicationOnSettingUp;
            if (FullConnectionString != null)
            {
                var xpoMultiDataStoreProxy = new MultiDataStoreProxy(FullConnectionString, GetReflectionDictionary());
                using (var dataLayer = new SimpleDataLayer(xpoMultiDataStoreProxy)) {
                    using (var session = new Session(dataLayer)) {
                        using (var unitOfWork = new UnitOfWork(session.DataLayer)) {
                            RunUpdaters(session);
                            AddDynamicModules(moduleManager, unitOfWork);
                        }
                    }
                }
            }
            else
            {
                var assemblies = AppDomain.CurrentDomain.GetAssemblies().Where(assembly => assembly.ManifestModule.ScopeName.EndsWith(CompileEngine.XpandExtension));
                foreach (var assembly1 in assemblies)
                {
                    moduleManager.AddModule(assembly1.GetTypes().Single(type => typeof(ModuleBase).IsAssignableFrom(type)));
                }
            }

            Application.SetupComplete += ApplicationOnSetupComplete;
        }
        public override void Setup(ApplicationModulesManager moduleManager) {
            base.Setup(moduleManager);
            WCTypesInfo.Instance.Register(GetAdditionalClasses(moduleManager));
            if (Application == null || GetPath() == null)
                return;
            Application.SettingUp += ApplicationOnSettingUp;
            if (FullConnectionString != null) {
                var xpoMultiDataStoreProxy = new MultiDataStoreProxy(FullConnectionString, GetReflectionDictionary());
                using (var dataLayer = new SimpleDataLayer(xpoMultiDataStoreProxy)) {
                    using (var session = new Session(dataLayer)) {
                        using (var unitOfWork = new UnitOfWork(session.DataLayer)) {
                            RunUpdaters(session);
                            AddDynamicModules(moduleManager, unitOfWork);
                        }
                    }
                }
            } else {
                var assemblies = AppDomain.CurrentDomain.GetAssemblies().Where(assembly => assembly.ManifestModule.ScopeName.EndsWith(CompileEngine.XpandExtension));
                foreach (var assembly1 in assemblies) {
                    moduleManager.AddModule(assembly1.GetTypes().Single(type => typeof(ModuleBase).IsAssignableFrom(type)));
                }
            }

            Application.SetupComplete += ApplicationOnSetupComplete;

        }
        public virtual UnitOfWork GetUnitOfWork()
        {
            var dataServerObjectSpaceProvider = Application.ObjectSpaceProvider as DataServerObjectSpaceProvider;

            if (dataServerObjectSpaceProvider != null)
            {
                return((UnitOfWork)((XPObjectSpace)dataServerObjectSpaceProvider.CreateObjectSpace()).Session);
            }
            var xpoMultiDataStoreProxy = new MultiDataStoreProxy(ConnectionString, GetReflectionDictionary());

            return(new UnitOfWork(new SimpleDataLayer(xpoMultiDataStoreProxy)));
        }
Exemple #4
0
        protected override IEnumerable <Type> GetDeclaredExportedTypes()
        {
            var existentTypesMemberCreator = new ExistentTypesMemberCreator();

            if (FullConnectionString != null)
            {
                var xpoMultiDataStoreProxy = new MultiDataStoreProxy(FullConnectionString, GetReflectionDictionary());
                var simpleDataLayer        = new SimpleDataLayer(xpoMultiDataStoreProxy);
                var session = new Session(simpleDataLayer);
                existentTypesMemberCreator.CreateMembers(session);
            }
            return(base.GetDeclaredExportedTypes());
        }
Exemple #5
0
 public void SynchronizeTypes(string connectionString) {
     using (var session = new Session { ConnectionString = connectionString }) {
         using (var types = new XPCollection<XPObjectType>(session)) {
             IEnumerable<XPObjectType> xpObjectTypes = types.Where(objectType => ReflectionHelper.FindType(objectType.TypeName) != null).ToList();
             var sqlMultiDataStoreProxy = new MultiDataStoreProxy(connectionString);
             foreach (var connstring in GetConnectionStrings(sqlMultiDataStoreProxy.DataStoreManager, xpObjectTypes, connectionString)) {
                 if (connstring != connectionString) {
                     SynchronizeTypes(connstring, xpObjectTypes);
                 }
             }
         }
     }
 }
Exemple #6
0
 public void SynchronizeTypes(string connectionString)
 {
     using (var session = new Session {
         ConnectionString = connectionString
     }) {
         using (var types = new XPCollection <XPObjectType>(session)) {
             IEnumerable <XPObjectType> xpObjectTypes = types.Where(objectType => FindType(objectType.TypeName) != null).ToList();
             var sqlMultiDataStoreProxy = new MultiDataStoreProxy(connectionString);
             foreach (var connstring in GetConnectionStrings(sqlMultiDataStoreProxy.DataStoreManager, xpObjectTypes, connectionString))
             {
                 if (connstring != connectionString)
                 {
                     SynchronizeTypes(connstring, xpObjectTypes);
                 }
             }
         }
     }
 }
 protected override IEnumerable<Type> GetDeclaredExportedTypes() {
     if (FullConnectionString != null && _existentTypesMemberCreator != null) {
         _existentTypesMemberCreator = new ExistentTypesMemberCreator();
         var xpoMultiDataStoreProxy = new MultiDataStoreProxy(FullConnectionString, GetReflectionDictionary());
         var simpleDataLayer = new SimpleDataLayer(xpoMultiDataStoreProxy);
         var session = new Session(simpleDataLayer);
         _existentTypesMemberCreator.CreateMembers(session);
     }
     return base.GetDeclaredExportedTypes();
 }