private Task RoleEdited(SocketRole prevSocketRole, SocketRole socketRole) { // Get roleContainers and check if role exists. List <RoleContainer> roleContainers = Data.GetContainers <RoleContainer>(Data.FILE_PATH + Data.ROLE_FILE); RoleContainer roleContainer = roleContainers.FirstOrDefault(rc => rc.name.ToLower() == prevSocketRole.Name.ToLower()); if (roleContainer != null) { roleContainer.name = socketRole.Name; // Check if administrative permissions have changed. If so make unjoinable. if (Data.ReceivedAdministrativePermission(prevSocketRole, socketRole)) { roleContainer.joinable = false; roleContainer.roleType = RoleType.Admin; } Data.SaveContainers(roleContainers, Data.FILE_PATH + Data.ROLE_FILE); } return(Task.CompletedTask); }