Example #1
0
        public override void UpdateDatabaseAfterUpdateSchema()
        {
            var session = ((XPObjectSpace)ObjectSpace).Session;

            if (new QueryModelDifferenceObject(session).GetActiveModelDifference(ModelCombine, ApplicationHelper.Instance.Application) == null)
            {
                new ModelDifferenceObject(session).InitializeMembers(ModelCombine, ApplicationHelper.Instance.Application);
                var role = (XpandPermissionPolicyRole)ObjectSpace.GetRole(ModelCombine);
                role.CanEditModel = true;
                var permissionData = ObjectSpace.CreateObject <ModelCombineOperationPermissionPolicyData>();
                permissionData.Difference = ModelCombine;
                role.Permissions.Add(permissionData);

                var user       = ObjectSpace.GetUser(ModelCombine, "", role);
                var collection = (XPBaseCollection)((XafMemberInfo)XafTypesInfo.Instance.FindTypeInfo(role.GetType()).FindMember("Users")).GetValue(role);
                collection.BaseAdd(user);
                ObjectSpace.CommitChanges();
            }
            var modelDifferenceObjects = new XpandXPCollection <ModelDifferenceObject>(session, o => o.PersistentApplication.Name == "FeatureCenter");

            foreach (var modelDifferenceObject in modelDifferenceObjects)
            {
                modelDifferenceObject.PersistentApplication.Name =
                    Path.GetFileNameWithoutExtension(modelDifferenceObject.PersistentApplication.ExecutableName);
            }
            ObjectSpace.CommitChanges();
        }
Example #2
0
 public override void UpdateDatabaseAfterUpdateSchema() {
     var session = ((ObjectSpace)ObjectSpace).Session;
     if (new QueryModelDifferenceObject(session).GetActiveModelDifference(ModelCombine, FeatureCenterModule.Application) == null) {
         new ModelDifferenceObject(session).InitializeMembers(ModelCombine, FeatureCenterModule.Application);
         ICustomizableRole role = Updater.EnsureRoleExists(ModelCombine, customizableRole => GetPermissions(customizableRole, Updater));
         IUserWithRoles user = Updater.EnsureUserExists(ModelCombine, ModelCombine, role);
         role.AddPermission(new ModelCombinePermission(ApplicationModelCombineModifier.Allow) { Difference = ModelCombine });
         role.Users.Add(user);
         ObjectSpace.CommitChanges();
     }
     var modelDifferenceObjects = new XpandXPCollection<ModelDifferenceObject>(session, o => o.PersistentApplication.Name == "FeatureCenter");
     foreach (var modelDifferenceObject in modelDifferenceObjects) {
         modelDifferenceObject.PersistentApplication.Name =
             Path.GetFileNameWithoutExtension(modelDifferenceObject.PersistentApplication.ExecutableName);
     }
     ObjectSpace.CommitChanges();
 }
Example #3
0
 public override void UpdateDatabaseAfterUpdateSchema() {
     var session = ((XPObjectSpace)ObjectSpace).Session;
     if (new QueryModelDifferenceObject(session).GetActiveModelDifference(ModelCombine, FeatureCenterModule.Application) == null) {
         new ModelDifferenceObject(session).InitializeMembers(ModelCombine, FeatureCenterModule.Application);
         var role = Updater.EnsureRoleExists(ModelCombine, customizableRole => GetPermissions(customizableRole, Updater));
         var user = Updater.EnsureUserExists(ModelCombine, ModelCombine, role);
         var collection = (XPBaseCollection)((XafMemberInfo)XafTypesInfo.Instance.FindTypeInfo(role.GetType()).FindMember("Users")).GetValue(role);
         collection.BaseAdd(user);
         ObjectSpace.CommitChanges();
     }
     var modelDifferenceObjects = new XpandXPCollection<ModelDifferenceObject>(session, o => o.PersistentApplication.Name == "FeatureCenter");
     foreach (var modelDifferenceObject in modelDifferenceObjects) {
         modelDifferenceObject.PersistentApplication.Name =
             Path.GetFileNameWithoutExtension(modelDifferenceObject.PersistentApplication.ExecutableName);
     }
     ObjectSpace.CommitChanges();
 }
Example #4
0
        public override void UpdateDatabaseAfterUpdateSchema()
        {
            var session = ((XPObjectSpace)ObjectSpace).Session;

            if (new QueryModelDifferenceObject(session).GetActiveModelDifference(ModelCombine, FeatureCenterModule.Application) == null)
            {
                new ModelDifferenceObject(session).InitializeMembers(ModelCombine, FeatureCenterModule.Application);
                var role       = Updater.EnsureRoleExists(ModelCombine, customizableRole => GetPermissions(customizableRole, Updater));
                var user       = Updater.EnsureUserExists(ModelCombine, ModelCombine, role);
                var collection = ((XPBaseCollection)XafTypesInfo.Instance.FindTypeInfo(role.GetType()).FindMember("Users"));
                collection.BaseAdd(user);
                ObjectSpace.CommitChanges();
            }
            var modelDifferenceObjects = new XpandXPCollection <ModelDifferenceObject>(session, o => o.PersistentApplication.Name == "FeatureCenter");

            foreach (var modelDifferenceObject in modelDifferenceObjects)
            {
                modelDifferenceObject.PersistentApplication.Name =
                    Path.GetFileNameWithoutExtension(modelDifferenceObject.PersistentApplication.ExecutableName);
            }
            ObjectSpace.CommitChanges();
        }
Example #5
0
        public override void UpdateDatabaseAfterUpdateSchema() {
            var session = ((XPObjectSpace)ObjectSpace).Session;
            if (new QueryModelDifferenceObject(session).GetActiveModelDifference(ModelCombine, ApplicationHelper.Instance.Application) == null) {
                new ModelDifferenceObject(session).InitializeMembers(ModelCombine, ApplicationHelper.Instance.Application);
                var role = (XpandRole)ObjectSpace.GetRole(ModelCombine);
                role.CanEditModel = true;
                var permissionData = ObjectSpace.CreateObject<ModelCombineOperationPermissionData>();
                permissionData.Difference = ModelCombine;
                role.Permissions.Add(permissionData);

                var user = ObjectSpace.GetUser(ModelCombine, "", role);
                var collection = (XPBaseCollection)((XafMemberInfo)XafTypesInfo.Instance.FindTypeInfo(role.GetType()).FindMember("Users")).GetValue(role);
                collection.BaseAdd(user);
                ObjectSpace.CommitChanges();
            }
            var modelDifferenceObjects = new XpandXPCollection<ModelDifferenceObject>(session, o => o.PersistentApplication.Name == "FeatureCenter");
            foreach (var modelDifferenceObject in modelDifferenceObjects) {
                modelDifferenceObject.PersistentApplication.Name =
                    Path.GetFileNameWithoutExtension(modelDifferenceObject.PersistentApplication.ExecutableName);
            }
            ObjectSpace.CommitChanges();
        }