class ExerciseTree { int treeId; int parentId; String name; String imageUrl; bool active; String nameTranslation; ExerciseTree(); ExerciseTree.fromJson(Map json) { this.treeId = json['treeId']; this.name = json['name']; this.parentId = -1; this.imageUrl = json['imageUrl']; this.active = json['active']; this.nameTranslation = json['translations'] != null && (json['translations']).length > 0 ? json['translations'][0]['name'] : this.name; } Map toJson() { return { "treeId": treeId, "parentId": parentId, "name": name, "imageUrl": imageUrl, "active": active.toString(), "nameTranslation": nameTranslation, }; } ExerciseTree copy(int parentId) { ExerciseTree newTree = ExerciseTree(); newTree.treeId = this.treeId; newTree.name = this.name; newTree.imageUrl = this.imageUrl; newTree.nameTranslation = this.nameTranslation; if (parentId != -1) { newTree.parentId = parentId; } newTree.active = this.active; return newTree; } }