設定(Setup)と非設定(non-setup)オブジェクトを1つトランザクションで同時にDML操作をかけると、下記のエラーが発生します。MIXED_DML_OPERATION, DML operation on setup object is not permitted after you have updated a non-setup object (or vice versa): CustomObject__c, original object: User: []
対策
このようなエラーを解消するには、別のトランザクションで実装すればいいです。
例えば@futureメッソドの使用。