convertToChaptersAndCompletionDto method
- {required ChaptersAndCompletionRates chaptersAndCompletionRates}
override
Implementation
@override
ChaptersAndCompletionDto convertToChaptersAndCompletionDto({
required ChaptersAndCompletionRates chaptersAndCompletionRates,
}) {
final chapters = chaptersAndCompletionRates.chapters;
final completedChaptersNumber =
chaptersAndCompletionRates.completedChaptersNumber;
final totalChaptersNumber = chaptersAndCompletionRates.totalChaptersNumber;
if (chapters == null ||
completedChaptersNumber == null ||
totalChaptersNumber == null ||
chapters.length != totalChaptersNumber) {
throw Exception('学習チャプター一覧が不正です');
}
final completionRate = completedChaptersNumber / totalChaptersNumber;
final chapterDtos = chapters
.map(
(e) => convertToChapterDto(
chapter: e,
),
)
.toList();
return ChaptersAndCompletionDto(
learningChapters: chapterDtos,
completionRate: completionRate,
);
}