getRemainingTime method
Implementation
int getRemainingTime(BookingHistory item) {
final now = DateTime.now();
if (item.isRateConfirmed || item.isSaved) {
DateTime departureDate = DateTime.tryParse(item.departureDate ?? '') ?? DateTime(1971);
List<String> departureTime = (item.departureTime ?? '00:00').split(':');
int hours = int.parse(departureTime[0]);
int minutes = int.parse(departureTime[1]);
DateTime combinedDateTime = DateTime(
departureDate.year,
departureDate.month,
departureDate.day,
hours,
minutes,
).subtract(const Duration(hours: 12));
final elapsedTime = combinedDateTime.difference(now);
return elapsedTime.inSeconds;
} else {
final elapsedTime = now.difference(DateTime.tryParse(((item.isDiscountedFlight??false) && item.isRoundTrip)? FlightSearchUtils().convertUnixTimestampSecondsToDateTime(item.approvedAt ?? 0).toString() : item.createdAt ?? '') ?? DateTime(1971));
return (Duration(minutes: item.isNonDiscounted ? 8 : 15) - elapsedTime).inSeconds;
}
}