Exemple #1
0
        /// <summary>
        /// Assign new permissions
        /// </summary>
        /// <param name="permissionIdRoleId">comma separated permissionID and RoleID</param>
        /// /// <param name="RoleID">RoleID</param>
        /// <returns>Processed success or not</returns>
        public bool AssignPermissions(string permissionIdRoleId, Guid RoleID)
        {
            try
            {
                this.DeleteAllPermissions(RoleID);
                if (!string.IsNullOrEmpty(permissionIdRoleId))
                {
                    string[] stringPermissionAndRole = permissionIdRoleId.Split(',');

                    foreach (var item in stringPermissionAndRole)
                    {
                        string[] permissionGuidRoleGuid           = item.Split('#');
                        AssignedPermissionItem assignedPermission = new AssignedPermissionItem();
                        assignedPermission.RoleID       = new Guid(permissionGuidRoleGuid[1]);
                        assignedPermission.PermissionID = Convert.ToInt32(permissionGuidRoleGuid[0]);
                        this.AddNewPermission(assignedPermission);
                    }
                }

                PermissionsDB.ClearPermissionsCache();

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemple #2
0
        /// <summary>
        /// Assign new permission
        /// </summary>
        /// <param name="permissions">object of AssignedPermissionItem </param>
        private void AddNewPermission(AssignedPermissionItem permissions)
        {
            using (var connection = Config.SqlConnectionString)
                using (var sqlCommand = new SqlCommand("INSERT INTO aspnet_RolePermissions (RoleID, PermissionID) VALUES (@RoleID, @PermissionID)", connection))
                {
                    // Mark the Command as a SPROC
                    sqlCommand.CommandType = CommandType.Text;
                    var parameterSliderName = new SqlParameter("@RoleID", SqlDbType.UniqueIdentifier)
                    {
                        Value = permissions.RoleID
                    };
                    sqlCommand.Parameters.Add(parameterSliderName);

                    sqlCommand.CommandType = CommandType.Text;
                    var parameterCreatedDate = new SqlParameter("@PermissionID", SqlDbType.Int)
                    {
                        Value = permissions.PermissionID
                    };
                    sqlCommand.Parameters.Add(parameterCreatedDate);

                    connection.Open();
                    try
                    {
                        sqlCommand.ExecuteNonQuery();
                    }
                    finally
                    {
                    }
                }
        }