getPregnancyChances method
get expected pregnancy test date
Implementation
Future<String> getPregnancyChances() async {
final dbHelper = MenstrualCycleDbHelper.instance;
String pregnancyChancesStatus = "Low";
String lastPeriodDate = await dbHelper.getLastPeriodDate();
if (lastPeriodDate.isNotEmpty) {
int totalDayBeforeOvulationStart =
getFollicularDayCounts() + getPeriodDuration();
int totalDayBeforeOvulationEnd =
totalDayBeforeOvulationStart + defaultOvulationDay;
final totalDiffCurrentLastPeriod =
DateTime.now().difference(DateTime.parse(lastPeriodDate)).inDays + 1;
if (totalDiffCurrentLastPeriod >= getPeriodDuration() &&
totalDiffCurrentLastPeriod < totalDayBeforeOvulationStart) {
pregnancyChancesStatus = "Medium";
} else if (totalDiffCurrentLastPeriod >= totalDayBeforeOvulationStart &&
totalDiffCurrentLastPeriod < totalDayBeforeOvulationEnd) {
pregnancyChancesStatus = "High";
} else if (totalDiffCurrentLastPeriod >= totalDayBeforeOvulationEnd &&
totalDiffCurrentLastPeriod <= getCycleLength()) {
pregnancyChancesStatus = "Low";
}
}
return pregnancyChancesStatus;
}