private MarbidRole CreateDefaultRole() { MarbidRole defaultRole = ObjectSpace.FindObject <MarbidRole>(new BinaryOperator("Name", "Default")); if (defaultRole == null) { defaultRole = ObjectSpace.CreateObject <MarbidRole>(); defaultRole.Name = "Default"; defaultRole.AddObjectPermission <Employee>(SecurityOperations.Read, "[Oid] = CurrentUserId()", SecurityPermissionState.Allow); defaultRole.AddNavigationPermission(@"Application/NavigationItems/Items/Default/Items/MyDetails", SecurityPermissionState.Allow); defaultRole.AddMemberPermission <Employee>(SecurityOperations.Write, "ChangePasswordOnFirstLogon", "[Oid] = CurrentUserId()", SecurityPermissionState.Allow); defaultRole.AddMemberPermission <Employee>(SecurityOperations.Write, "StoredPassword", "[Oid] = CurrentUserId()", SecurityPermissionState.Allow); defaultRole.AddTypePermissionsRecursively <Employee>(SecurityOperations.Read, SecurityPermissionState.Allow); defaultRole.AddTypePermissionsRecursively <ModelDifference>(SecurityOperations.ReadWriteAccess, SecurityPermissionState.Allow); defaultRole.AddTypePermissionsRecursively <ModelDifferenceAspect>(SecurityOperations.ReadWriteAccess, SecurityPermissionState.Allow); defaultRole.AddTypePermissionsRecursively <ModelDifference>(SecurityOperations.Create, SecurityPermissionState.Allow); defaultRole.AddTypePermissionsRecursively <ModelDifferenceAspect>(SecurityOperations.Create, SecurityPermissionState.Allow); } return(defaultRole); }
public override void UpdateDatabaseAfterUpdateSchema() { base.UpdateDatabaseAfterUpdateSchema(); //string name = "MyName"; //DomainObject1 theObject = ObjectSpace.FindObject<DomainObject1>(CriteriaOperator.Parse("Name=?", name)); //if(theObject == null) { // theObject = ObjectSpace.CreateObject<DomainObject1>(); // theObject.Name = name; //} Employee sampleUser = ObjectSpace.FindObject <Employee>(new BinaryOperator("UserName", "Norman")); if (sampleUser == null) { sampleUser = ObjectSpace.CreateObject <Employee>(); sampleUser.UserName = "******"; sampleUser.SetPassword(""); } MarbidRole defaultRole = CreateDefaultRole(); sampleUser.MarbidRoles.Add(defaultRole); Employee userAdmin = ObjectSpace.FindObject <Employee>(new BinaryOperator("UserName", "Admin")); if (userAdmin == null) { userAdmin = ObjectSpace.CreateObject <Employee>(); userAdmin.UserName = "******"; // Set a password if the standard authentication type is used userAdmin.SetPassword(""); } // If a role with the Administrators name doesn't exist in the database, create this role MarbidRole adminRole = ObjectSpace.FindObject <MarbidRole>(new BinaryOperator("Name", "Administrators")); if (adminRole == null) { adminRole = ObjectSpace.CreateObject <MarbidRole>(); adminRole.Name = "Administrators"; } adminRole.IsAdministrative = true; userAdmin.MarbidRoles.Add(adminRole); MarbidRole carManagerRole = ObjectSpace.FindObject <MarbidRole>(new BinaryOperator("Name", "Car Manager")); if (carManagerRole == null) { carManagerRole = ObjectSpace.CreateObject <MarbidRole>(); carManagerRole.Name = "Car Manager"; carManagerRole.IsAdministrative = false; } if (ObjectSpace.GetObjectsCount(typeof(SystemSetting), null) == 0) { SystemSetting ss = ObjectSpace.CreateObject <SystemSetting>(); ss.MaximumOfficeLeaveDays = 3; ss.YearlyOfficeLeaveDays = 14; ss.DriverManagerRole = adminRole; ss.HRRole = adminRole; } ObjectSpace.CommitChanges(); //This line persists created object(s). }