Date picker end time fixes

design_3.0_task_module_new
WaseemAbbasi22 4 months ago
parent 8129cdb768
commit 60979b7f95

@ -61,6 +61,9 @@ class Utils {
static Future delay(int millis) async {
return await Future.delayed(Duration(milliseconds: millis));
}
static bool isBeforeOrEqualCurrentTime(TimeOfDay t1, TimeOfDay t2) {
return t1.hour < t2.hour || (t1.hour == t2.hour && t1.minute <= t2.minute);
}
static void showLoading(BuildContext context) {
WidgetsBinding.instance.addPostFrameCallback((_) {

@ -6,6 +6,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/helper/utils.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart';
@ -151,7 +152,14 @@ class _AssistantEmployeeCardState extends State<AssistantEmployeeCard> {
initialTime: TimeOfDay.now(),
).then((selectedTime) {
// Handle the selected date and time here.
if (selectedTime != null) {
final TimeOfDay now = TimeOfDay.now();
final bool isBeforeNow = Utils.isBeforeOrEqualCurrentTime(selectedTime, now);
if (!isBeforeNow) {
"Please select a time before the current time.".showToast;
return;
}
DateTime selectedDateTime = DateTime(
selectedDate.year,
selectedDate.month,

@ -5,6 +5,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/helper/utils.dart';
import 'package:test_sa/models/service_request/service_report.dart';
import 'package:test_sa/models/service_request/supp_engineer_work_orders.dart';
import 'package:test_sa/models/service_request/supplier_details.dart';
@ -186,6 +187,13 @@ class _ExternalMaintenanceRequestState extends State<ExternalMaintenanceRequest>
).then((selectedTime) {
// Handle the selected date and time here.
if (selectedTime != null) {
final TimeOfDay now = TimeOfDay.now();
final bool isBeforeNow = Utils.isBeforeOrEqualCurrentTime(selectedTime, now);
if (!isBeforeNow) {
"Please select a time before the current time.".showToast;
return;
}
DateTime selectedDateTime = DateTime(
selectedDate.year,
selectedDate.month,
@ -237,4 +245,5 @@ class _ExternalMaintenanceRequestState extends State<ExternalMaintenanceRequest>
);
});
}
}

@ -8,6 +8,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/helper/utils.dart';
import 'package:test_sa/models/device/asset.dart';
import 'package:test_sa/models/device/model_definition.dart';
import 'package:test_sa/models/device/supplier.dart';
@ -192,6 +193,12 @@ class _WoInfoFormState extends State<WoInfoForm> {
initialTime: TimeOfDay.now(),
).then((selectedTime) {
if (selectedTime != null) {
final TimeOfDay now = TimeOfDay.now();
final bool isBeforeNow = Utils.isBeforeOrEqualCurrentTime(selectedTime, now);
if (!isBeforeNow) {
"Please select a time before the current time.".showToast;
return;
}
DateTime selectedDateTime = DateTime(
selectedDate.year,
selectedDate.month,

@ -7,6 +7,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/helper/utils.dart';
import 'package:test_sa/models/timer_model.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart';
import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
@ -194,7 +195,14 @@ class _AppTimerState extends State<AppTimer> {
context: context,
initialTime: TimeOfDay.now(),
).then((selectedTime) {
if (selectedTime != null) {
final TimeOfDay now = TimeOfDay.now();
final bool isBeforeNow = Utils.isBeforeOrEqualCurrentTime(selectedTime, now);
if (!isBeforeNow) {
"Please select a time before the current time.".showToast;
return;
}
DateTime selectedDateTime = DateTime(selectedDate.year, selectedDate.month, selectedDate.day, selectedTime.hour, selectedTime.minute);
if (_pickerStartAt != null && selectedDateTime.isBefore(_pickerStartAt!)) {
"End Date time must be greater then start date".showToast;

Loading…
Cancel
Save