Example #1
0
        /// <summary>
        /// Create the standard records in Permission table, if they don't exist.
        /// Similar to SoftinuxBase.SeedDatabase extension's job.
        /// </summary>
        private void CreatePermissionsIfNeeded()
        {
            var repo = DatabaseFixture.Storage.GetRepository <IPermissionRepository>();

            if (repo.All().FirstOrDefault(p_ => p_.Name == Permission.Admin.GetPermissionName()) != null)
            {
                return;
            }

            // Base permissions not already created
            Permission[] permissions = (Permission[])Enum.GetValues(typeof(Permission));

            foreach (var p in permissions)
            {
                // create a permission object out of the enum value
                SoftinuxBase.Security.Data.Entities.Permission permission = new SoftinuxBase.Security.Data.Entities.Permission()
                {
                    // Automatic ID
                    Name = PermissionHelper.GetPermissionName(p)
                };

                repo.Create(permission);
            }

            // Can't use the async Storage.SaveAsync() because this method is called in class constructor - TODO use a helper pattern?
            DatabaseFixture.Storage.Save();
        }
Example #2
0
        /// <summary>
        /// Create the standard records in Permission table, if they don't exist.
        /// Similar to SeedDatabase extension's job.
        /// </summary>
        private void CreatePermissionsIfNeeded()
        {
            var repo = DatabaseFixture.Storage.GetRepository <IPermissionRepository>();

            if (repo.All().FirstOrDefault(p_ => p_.Id == Permission.Admin.ToString()) != null)
            {
                return;
            }

            // Base permissions not already created

            Permission[] permissions = (Permission[])Enum.GetValues(typeof(Permission));

            foreach (var p in permissions)
            {
                // create a permission object out of the enum value
                Security.Data.Entities.Permission permission = new Security.Data.Entities.Permission()
                {
                    Id   = PermissionHelper.GetPermissionName(p),
                    Name = PermissionHelper.GetPermissionName(p)
                };

                repo.Create(permission);
            }

            DatabaseFixture.Storage.Save();
        }
Example #3
0
 public static string GetPermissionName(this Permission permission) // convenience method
 {
     return(PermissionHelper.GetPermissionName(permission));
 }