selectCloseDate function

Future<void> selectCloseDate(
  1. BuildContext context,
  2. String weekDataComboValue
)

Implementation

Future<void> selectCloseDate(BuildContext context, String weekDataComboValue) async {
  var ret = "16:00";
  for (var item in currentProvider.workTime)
    if (item.id.toString() == weekDataComboValue)
      ret = item.closeTime;
  DateTime _time = DateFormat('HH:mm').parse(ret);
  //
  final TimeOfDay? picked = await showTimePicker(
    context: context,
    initialTime: TimeOfDay(hour: _time.hour, minute: _time.minute),
    builder: (context, child) =>
        MediaQuery(data: MediaQuery.of(context).copyWith(alwaysUse24HourFormat: appSettings.timeFormat == "24h"), child: child!),    // 24h - 12h
  );
  if (picked != null){
    _initWeekEnd();
    for (var item in currentProvider.workTime)
      if (item.id.toString() == weekDataComboValue){
        DateTime _timeOpen = DateFormat('HH:mm').parse(item.openTime);
        var _open = DateTime(0,0,0, _timeOpen.hour, _timeOpen.minute);
        var _close = DateTime(0,0,0, picked.hour, picked.minute);
        if (_close.isBefore(_open))
          _close = _open;
        item.closeTime = DateFormat('HH:mm').format(_close);
      }
  }
}