+ if (callback != null)
+ Misc.onMainThread(callback);
+ });
+ }
+ public void duplicateTemplateWithAccounts(@NonNull Long id, @Nullable
+ AsyncResultCallback<TemplateWithAccounts> callback) {
+ BaseDAO.runAsync(() -> {
+ TemplateWithAccounts src = getTemplateWithAccountsSync(id);
+ TemplateWithAccounts dup = src.createDuplicate();
+ dup.header.setName(dup.header.getName());
+ dup.header.setId(insertSync(dup.header));
+ TemplateAccountDAO accDao = DB.get()
+ .getTemplateAccountDAO();
+ for (TemplateAccount dupAcc : dup.accounts) {
+ dupAcc.setTemplateId(dup.header.getId());
+ dupAcc.setId(accDao.insertSync(dupAcc));