|
|
|
|
@ -32,7 +32,7 @@ import '../../../../new_views/common_widgets/app_filled_button.dart';
|
|
|
|
|
import '../../../../new_views/common_widgets/app_text_form_field.dart';
|
|
|
|
|
|
|
|
|
|
class ServiceRequestBottomSheet {
|
|
|
|
|
static buildBottomSheetParent({required BuildContext context, required Widget childWidget}) {
|
|
|
|
|
static buildBottomSheetParent({required BuildContext context, required Widget childWidget,bool ?isFromFixRemotely}) {
|
|
|
|
|
return showModalBottomSheet(
|
|
|
|
|
context: context,
|
|
|
|
|
useSafeArea: true,
|
|
|
|
|
@ -41,12 +41,37 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
builder: (context) => SingleChildScrollView(
|
|
|
|
|
child: childWidget,
|
|
|
|
|
).bottomSheetContainer(context),
|
|
|
|
|
);
|
|
|
|
|
).then((value){
|
|
|
|
|
if(isFromFixRemotely!=null&&isFromFixRemotely){
|
|
|
|
|
RequestDetailProvider requestDetailProvider = Provider.of<RequestDetailProvider>(context,listen: false);
|
|
|
|
|
requestDetailProvider.fixRemotelyHelperModel = FixRemotelyHelperModel();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static Future fixRemotelyBottomSheet({required BuildContext context}) {
|
|
|
|
|
TextEditingController _workingHoursController = TextEditingController();
|
|
|
|
|
int calculateWorkingHours(DateTime? startTime, DateTime? endTime) {
|
|
|
|
|
if (startTime != null && endTime != null) {
|
|
|
|
|
Duration difference = endTime.difference(startTime);
|
|
|
|
|
int hours = difference.inHours;
|
|
|
|
|
int minutes = difference.inMinutes % 60;
|
|
|
|
|
return hours;
|
|
|
|
|
} else {
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
assignWorkingHours({required RequestDetailProvider requestDetailProvider}) {
|
|
|
|
|
int hours = calculateWorkingHours(requestDetailProvider.fixRemotelyHelperModel?.startDate, requestDetailProvider.fixRemotelyHelperModel?.endDate);
|
|
|
|
|
if (hours != -1) {
|
|
|
|
|
_workingHoursController.text = hours.toString();
|
|
|
|
|
requestDetailProvider.fixRemotelyHelperModel?.workingHour = hours;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return buildBottomSheetParent(
|
|
|
|
|
context: context,
|
|
|
|
|
isFromFixRemotely: true,
|
|
|
|
|
childWidget: Consumer<RequestDetailProvider>(builder: (context, RequestDetailProvider requestDetailProvider, child) {
|
|
|
|
|
return Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
|
@ -87,6 +112,7 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
|
|
|
|
|
requestDetailProvider.fixRemotelyHelperModel?.startDate = selectedDateTime;
|
|
|
|
|
requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel);
|
|
|
|
|
assignWorkingHours(requestDetailProvider: requestDetailProvider);
|
|
|
|
|
// serviceRequestProvider.updateCurrentSelectedRequest(serviceRequestProvider.currentSelectedRequest);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
@ -122,6 +148,8 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
|
|
|
|
|
requestDetailProvider.fixRemotelyHelperModel?.endDate = selectedDateTime;
|
|
|
|
|
requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel);
|
|
|
|
|
assignWorkingHours(requestDetailProvider: requestDetailProvider);
|
|
|
|
|
|
|
|
|
|
// serviceRequestProvider.updateCurrentSelectedRequest(serviceRequestProvider.currentSelectedRequest);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
@ -131,6 +159,8 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
AppTextFormField(
|
|
|
|
|
labelText: context.translation.workingHours,
|
|
|
|
|
textInputType: TextInputType.number,
|
|
|
|
|
enable: false,
|
|
|
|
|
controller: _workingHoursController,
|
|
|
|
|
labelStyle: AppTextStyles.textFieldLabelStyle,
|
|
|
|
|
showWithoutDecoration: true,
|
|
|
|
|
backgroundColor: context.isDark ? AppColor.neutral20 : AppColor.neutral100,
|
|
|
|
|
|