33 lines
995 B
Dart
33 lines
995 B
Dart
import 'package:mnemo_cards_common_backend/mnemo_cards_common_backend.dart';
|
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
|
|
|
extension converterExtenxion on GameCardModel {
|
|
GameCardDto toDto() {
|
|
return GameCardDto(
|
|
id: id ?? -1,
|
|
image: image,
|
|
mnemo: mnemo,
|
|
original: original,
|
|
translation: translation,
|
|
transcription: transcription,
|
|
transcriptionMnemo: transcriptionMnemo,
|
|
imageBack: imageBack,
|
|
back: back,
|
|
);
|
|
}
|
|
}
|
|
|
|
extension listConverterExtenxion on Iterable<GameCardModel> {
|
|
List<GameCardDto> toDtosList(List<int> cardsOrder) =>
|
|
map((e) => e.toDto()).toList()
|
|
..sort((p, n) {
|
|
final pIndex = cardsOrder.indexOf(p.id);
|
|
final nIndex = cardsOrder.indexOf(n.id);
|
|
if (pIndex == -1) {
|
|
return nIndex == -1 ? p.id.compareTo(n.id) : 1;
|
|
} else if (nIndex == -1) {
|
|
return -1;
|
|
}
|
|
return pIndex.compareTo(nIndex);
|
|
});
|
|
}
|