/// <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); } }
/// <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 { } } }