files refactoring

design_3.0_demo_module
Sikander Saleem 4 months ago
parent 16a2fa2b26
commit 1a3861d816

@ -8,7 +8,7 @@ import 'package:huawei_push/huawei_push.dart' as h_push;
import 'package:test_sa/controllers/notification/notification_manger.dart'; import 'package:test_sa/controllers/notification/notification_manger.dart';
import 'package:test_sa/models/device/device_transfer.dart'; import 'package:test_sa/models/device/device_transfer.dart';
import 'package:test_sa/models/new_models/gas_refill_model.dart'; import 'package:test_sa/models/new_models/gas_refill_model.dart';
import 'package:test_sa/modules/cm_module/views/service_request_detail_main_view.dart'; import 'package:test_sa/modules/cm_module/cm_detail_page.dart';
import 'package:test_sa/modules/cx_module/survey/survey_page.dart'; import 'package:test_sa/modules/cx_module/survey/survey_page.dart';
import 'package:test_sa/modules/pm_module/ppm_wo/ppm_details_page.dart'; import 'package:test_sa/modules/pm_module/ppm_wo/ppm_details_page.dart';
import 'package:test_sa/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart'; import 'package:test_sa/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart';
@ -101,13 +101,13 @@ class FirebaseNotificationManger {
break; break;
//these three request are same corrective maintenance.... //these three request are same corrective maintenance....
case "3": case "3":
serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString())); serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()));
break; break;
case "8": case "8":
serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString())); serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()));
break; break;
case "11": case "11":
serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString())); serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()));
break; break;
case "7": case "7":
serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString()))); serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString())));

@ -28,8 +28,8 @@ import 'package:test_sa/controllers/providers/api/status_drop_down/report/servic
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_repair_location_provider.dart'; import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_repair_location_provider.dart';
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_types_provider.dart'; import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_types_provider.dart';
import 'package:test_sa/modules/asset_inventory_module/provider/asset_inventory_provider.dart'; import 'package:test_sa/modules/asset_inventory_module/provider/asset_inventory_provider.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/nurse/create_new_request_view.dart'; import 'package:test_sa/modules/cm_module/create_cm_request.dart';
import 'package:test_sa/modules/cx_module/chat/chat_provider.dart'; import 'package:test_sa/modules/cx_module/chat/chat_provider.dart';
import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/create_equipment_internal_audit_form.dart'; import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/create_equipment_internal_audit_form.dart';
import 'package:test_sa/modules/internal_audit_module/pages/system_internal_audit/create_system_internal_audit_form.dart'; import 'package:test_sa/modules/internal_audit_module/pages/system_internal_audit/create_system_internal_audit_form.dart';
@ -204,7 +204,7 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider(create: (_) => NotificationsProvider()), ChangeNotifierProvider(create: (_) => NotificationsProvider()),
//new providers according to new Api's.. //new providers according to new Api's..
ChangeNotifierProvider(create: (_) => DashBoardProvider()), ChangeNotifierProvider(create: (_) => DashBoardProvider()),
ChangeNotifierProvider(create: (_) => ServiceRequestDetailProvider()), ChangeNotifierProvider(create: (_) => CMDetailProvider()),
ChangeNotifierProvider(create: (_) => ClassificationLookupProvider()), ChangeNotifierProvider(create: (_) => ClassificationLookupProvider()),
ChangeNotifierProvider(create: (_) => RecommendationLookupProvider()), ChangeNotifierProvider(create: (_) => RecommendationLookupProvider()),
ChangeNotifierProvider(create: (_) => PpmProvider()), ChangeNotifierProvider(create: (_) => PpmProvider()),

@ -15,7 +15,7 @@ import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/modules/asset_inventory_module/models/asset_inventory_model.dart'; import 'package:test_sa/modules/asset_inventory_module/models/asset_inventory_model.dart';
import 'package:test_sa/modules/asset_inventory_module/pages/search_asset_view.dart'; import 'package:test_sa/modules/asset_inventory_module/pages/search_asset_view.dart';
import 'package:test_sa/modules/asset_inventory_module/provider/asset_inventory_provider.dart'; import 'package:test_sa/modules/asset_inventory_module/provider/asset_inventory_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart'; import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart';
@ -404,7 +404,7 @@ class _AssetInventoryFormViewState extends State<AssetInventoryFormView> {
_scannedAssetModel?.assetInventoryDetailAssetAttachments = []; _scannedAssetModel?.assetInventoryDetailAssetAttachments = [];
// try { // try {
for (var item in attachments) { for (var item in attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
_scannedAssetModel?.assetInventoryDetailAssetAttachments.add(AssetInventoryDetailAssetAttachments(id: item.id, name: fileName)); _scannedAssetModel?.assetInventoryDetailAssetAttachments.add(AssetInventoryDetailAssetAttachments(id: item.id, name: fileName));
} }
// // } catch (error) { // // } catch (error) {

@ -9,7 +9,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/enums/user_types.dart'; import 'package:test_sa/models/enums/user_types.dart';
import 'package:test_sa/models/enums/work_order_next_step.dart'; import 'package:test_sa/models/enums/work_order_next_step.dart';
import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart'; import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart'; import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart';
import 'package:test_sa/modules/cx_module/chat/chat_page.dart'; import 'package:test_sa/modules/cx_module/chat/chat_page.dart';
import 'package:test_sa/modules/cx_module/chat/chat_provider.dart'; import 'package:test_sa/modules/cx_module/chat/chat_provider.dart';
@ -17,22 +17,22 @@ import 'package:test_sa/modules/cx_module/survey/survey_page.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
import 'components/history_log_view.dart'; import 'views/components/history_log_view.dart';
import 'components/service_request_detail_view.dart'; import 'views/components/service_request_detail_view.dart';
class ServiceRequestDetailMain extends StatefulWidget { class CMDetailPage extends StatefulWidget {
final int requestId; final int requestId;
ServiceRequestDetailMain({Key? key, required this.requestId}) : super(key: key); CMDetailPage({Key? key, required this.requestId}) : super(key: key);
@override @override
_ServiceRequestDetailMainState createState() { _CMDetailPageState createState() {
return _ServiceRequestDetailMainState(); return _CMDetailPageState();
} }
} }
class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> { class _CMDetailPageState extends State<CMDetailPage> {
late ServiceRequestDetailProvider _requestProvider; late CMDetailProvider _requestProvider;
static const int moduleId = 1; static const int moduleId = 1;
@ -47,7 +47,7 @@ class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
Future<void> getInitialData() async { Future<void> getInitialData() async {
bool isNurse = (Provider.of<UserProvider>(context, listen: false).user?.type) == UsersTypes.normal_user; bool isNurse = (Provider.of<UserProvider>(context, listen: false).user?.type) == UsersTypes.normal_user;
_requestProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); _requestProvider = Provider.of<CMDetailProvider>(context, listen: false);
await _requestProvider.getWorkOrderById(id: widget.requestId); await _requestProvider.getWorkOrderById(id: widget.requestId);
if (isNurse && (_requestProvider.currentWorkOrder?.data?.nextStep?.workOrderNextStepEnum == WorkOrderNextStepEnum.waitingForRequesterToConfirm)) { if (isNurse && (_requestProvider.currentWorkOrder?.data?.nextStep?.workOrderNextStepEnum == WorkOrderNextStepEnum.waitingForRequesterToConfirm)) {
ServiceRequestBottomSheet.nurseVerifyArrivalBottomSheet(context: context); ServiceRequestBottomSheet.nurseVerifyArrivalBottomSheet(context: context);
@ -65,7 +65,7 @@ class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
} }
Future<void> stopTimer() async { Future<void> stopTimer() async {
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
if (requestDetailProvider.timer != null && requestDetailProvider.timer!.isActive) { if (requestDetailProvider.timer != null && requestDetailProvider.timer!.isActive) {
requestDetailProvider.stopTimer(); requestDetailProvider.stopTimer();
} }
@ -89,13 +89,13 @@ class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
}, },
actions: [ actions: [
if (context.userProvider.isEngineer || context.userProvider.isNurse) if (context.userProvider.isEngineer || context.userProvider.isNurse)
Selector<ServiceRequestDetailProvider, bool>( Selector<CMDetailProvider, bool>(
selector: (_, myModel) => myModel.isLoading, // Selects only the userName selector: (_, myModel) => myModel.isLoading, // Selects only the userName
builder: (_, isLoading, __) { builder: (_, isLoading, __) {
if (isLoading) { if (isLoading) {
return const SizedBox(); return const SizedBox();
} else { } else {
ServiceRequestDetailProvider provider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); CMDetailProvider provider = Provider.of<CMDetailProvider>(context, listen: false);
int? statusValue = provider.currentWorkOrder?.data?.status?.value; int? statusValue = provider.currentWorkOrder?.data?.status?.value;
if (statusValue == 2 || statusValue == 3 || statusValue == 5 || statusValue == 6) { if (statusValue == 2 || statusValue == 3 || statusValue == 5 || statusValue == 6) {
getChatToken(moduleId, provider.currentWorkOrder?.data?.workOrderNo ?? ""); getChatToken(moduleId, provider.currentWorkOrder?.data?.workOrderNo ?? "");
@ -182,12 +182,12 @@ class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
void getChatToken(int moduleId, String title) { void getChatToken(int moduleId, String title) {
ChatProvider cProvider = Provider.of<ChatProvider>(context, listen: false); ChatProvider cProvider = Provider.of<ChatProvider>(context, listen: false);
if (cProvider.chatLoginResponse != null && cProvider.referenceID == widget.requestId) return; if (cProvider.chatLoginResponse != null && cProvider.referenceID == widget.requestId) return;
String assigneeEmployeeNumber = Provider.of<ServiceRequestDetailProvider>(context, listen: false).currentWorkOrder?.data?.assignedEmployee?.employeeId ?? ""; String assigneeEmployeeNumber = Provider.of<CMDetailProvider>(context, listen: false).currentWorkOrder?.data?.assignedEmployee?.employeeId ?? "";
String myEmployeeId = context.userProvider.user!.username!; String myEmployeeId = context.userProvider.user!.username!;
String receiver = context.userProvider.isNurse String receiver = context.userProvider.isNurse
? assigneeEmployeeNumber ? assigneeEmployeeNumber
: (context.userProvider.isEngineer ? Provider.of<ServiceRequestDetailProvider>(context, listen: false).currentWorkOrder!.data!.workOrderContactPerson.first.employeeId! : ""); : (context.userProvider.isEngineer ? Provider.of<CMDetailProvider>(context, listen: false).currentWorkOrder!.data!.workOrderContactPerson.first.employeeId! : "");
cProvider.getUserAutoLoginTokenSilent(moduleId, widget.requestId, title, myEmployeeId, receiver); cProvider.getUserAutoLoginTokenSilent(moduleId, widget.requestId, title, myEmployeeId, receiver);
} }

@ -18,9 +18,9 @@ import 'package:test_sa/models/new_models/work_order_detail_model.dart';
import 'package:test_sa/models/service_request/spare_parts.dart'; import 'package:test_sa/models/service_request/spare_parts.dart';
import 'package:test_sa/models/service_request/supplier_details.dart'; import 'package:test_sa/models/service_request/supplier_details.dart';
import 'utilities/service_request_utils.dart'; import 'cm_request_utils.dart';
class ServiceRequestDetailProvider extends ChangeNotifier { class CMDetailProvider extends ChangeNotifier {
final pageItemNumber = 10; final pageItemNumber = 10;
int lastVisitedRequestActivityId = -1; int lastVisitedRequestActivityId = -1;
@ -266,7 +266,7 @@ class ServiceRequestDetailProvider extends ChangeNotifier {
woAttachments.addAll(otherAttachment); woAttachments.addAll(otherAttachment);
} }
for (var file in attachments) { for (var file in attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(file.name ?? '') ? ("${file.name ?? ''.split("/").last}|${base64Encode(File(file.name ?? '').readAsBytesSync())}") : file.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(file.name ?? '') ? ("${file.name ?? ''.split("/").last}|${base64Encode(File(file.name ?? '').readAsBytesSync())}") : file.name ?? '';
woAttachments.add(WorkOrderAttachments(id: file.id, name: fileName, createdBy: file.createdBy)); woAttachments.add(WorkOrderAttachments(id: file.id, name: fileName, createdBy: file.createdBy));
} }

@ -18,9 +18,9 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart'; import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart';
import '../service_request_detail_provider.dart'; import 'cm_detail_provider.dart';
class ServiceRequestUtils { class CMRequestUtils {
static double calculateAndAssignWorkingHours({ static double calculateAndAssignWorkingHours({
required DateTime? startTime, required DateTime? startTime,
required DateTime? endTime, required DateTime? endTime,
@ -63,7 +63,6 @@ class ServiceRequestUtils {
} }
static String formatTimerDuration(int seconds) { static String formatTimerDuration(int seconds) {
int hours = seconds ~/ 3600; int hours = seconds ~/ 3600;
int minutes = (seconds % 3600) ~/ 60; int minutes = (seconds % 3600) ~/ 60;
int remainingSeconds = seconds % 60; int remainingSeconds = seconds % 60;
@ -108,6 +107,7 @@ class ServiceRequestUtils {
return formattedDuration.trim(); return formattedDuration.trim();
} }
static String formatTotalWorkingHours(double timeInHours) { static String formatTotalWorkingHours(double timeInHours) {
// Convert hours seconds // Convert hours seconds
int totalSeconds = (timeInHours * 3600).round(); int totalSeconds = (timeInHours * 3600).round();
@ -133,12 +133,9 @@ class ServiceRequestUtils {
return formattedDuration.trim(); return formattedDuration.trim();
} }
static void getQrCode({required BuildContext context}) async { static void getQrCode({required BuildContext context}) async {
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
String? base64String = await requestDetailProvider.getQrCode(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId ?? 0); String? base64String = await requestDetailProvider.getQrCode(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId ?? 0);
Navigator.pop(context); Navigator.pop(context);
if (base64String != null) { if (base64String != null) {

@ -18,8 +18,8 @@ import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_mo
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/service_request/pending_service_request_model.dart'; import 'package:test_sa/models/service_request/pending_service_request_model.dart';
import 'package:test_sa/models/service_request/service_request.dart'; import 'package:test_sa/models/service_request/service_request.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -35,7 +35,7 @@ import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/sound/TextSpeechRecordWidget.dart'; import 'package:test_sa/views/widgets/sound/TextSpeechRecordWidget.dart';
import '../../../../../../new_views/common_widgets/default_app_bar.dart'; import '../../../../new_views/common_widgets/default_app_bar.dart';
class CreateNewRequest extends StatefulWidget { class CreateNewRequest extends StatefulWidget {
static const String id = "/create-new-request"; static const String id = "/create-new-request";
@ -52,7 +52,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
late UserProvider _userProvider; late UserProvider _userProvider;
late SettingProvider _settingProvider; late SettingProvider _settingProvider;
late ServiceRequestsProvider _serviceRequestsProvider; late ServiceRequestsProvider _serviceRequestsProvider;
late ServiceRequestDetailProvider _requestDetailProvider; late CMDetailProvider _requestDetailProvider;
late ServiceRequest _serviceRequest; late ServiceRequest _serviceRequest;
final List<GenericAttachmentModel> _deviceImages = []; final List<GenericAttachmentModel> _deviceImages = [];
final bool _isLoading = false; final bool _isLoading = false;
@ -70,7 +70,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
_commentController = TextEditingController(); _commentController = TextEditingController();
_userProvider = Provider.of<UserProvider>(context, listen: false); _userProvider = Provider.of<UserProvider>(context, listen: false);
_serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context, listen: false); _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context, listen: false);
_requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); _requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
getInitialData(); getInitialData();
if (_serviceRequestsProvider.currentSelectedRequest != null) { if (_serviceRequestsProvider.currentSelectedRequest != null) {
_serviceRequest = _serviceRequestsProvider.currentSelectedRequest!; _serviceRequest = _serviceRequestsProvider.currentSelectedRequest!;
@ -352,7 +352,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
} }
List<WorkOrderAttachments> attachement = []; List<WorkOrderAttachments> attachement = [];
for (var item in _deviceImages) { for (var item in _deviceImages) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
attachement.add(WorkOrderAttachments(id: 0, name: fileName)); attachement.add(WorkOrderAttachments(id: 0, name: fileName));
} }
_requestDetailProvider.workOrderHelperModel = WorkOrderHelperModel( _requestDetailProvider.workOrderHelperModel = WorkOrderHelperModel(

@ -11,7 +11,7 @@ import 'package:test_sa/models/enums/work_order_next_step.dart';
import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart'; import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.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/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/components/activities_list_view.dart'; import 'package:test_sa/modules/cm_module/views/components/activities_list_view.dart';
import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart'; import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart';
import 'package:test_sa/modules/cm_module/views/components/verify_arrival_view.dart'; import 'package:test_sa/modules/cm_module/views/components/verify_arrival_view.dart';
@ -39,7 +39,7 @@ class FooterActionButton {
Lookup? status, Lookup? status,
required UserProvider userProvider, required UserProvider userProvider,
bool isEmpIsAssigned = false}) { bool isEmpIsAssigned = false}) {
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
bool showMarkAsFixedButton = activities.isEmpty bool showMarkAsFixedButton = activities.isEmpty
? false ? false
: activities.any((object) => : activities.any((object) =>
@ -221,7 +221,7 @@ class FooterActionButton {
// maxWidth: true, // maxWidth: true,
buttonColor: AppColor.green70, buttonColor: AppColor.green70,
onPressed: () { onPressed: () {
bool isValid = ServiceRequestBottomSheet.validateAssetSituation(Provider.of<ServiceRequestDetailProvider>(context, listen: false)); bool isValid = ServiceRequestBottomSheet.validateAssetSituation(Provider.of<CMDetailProvider>(context, listen: false));
if (isValid) { if (isValid) {
showDialog( showDialog(
context: context, context: context,
@ -291,7 +291,7 @@ class FooterActionButton {
buttonColor: AppColor.green70, buttonColor: AppColor.green70,
onPressed: () { onPressed: () {
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
Provider.of<ServiceRequestDetailProvider>(context, listen: false).switchToIHaveArrived().then((value) { Provider.of<CMDetailProvider>(context, listen: false).switchToIHaveArrived().then((value) {
Navigator.pop(context); Navigator.pop(context);
if (value) { if (value) {
Navigator.push(context, MaterialPageRoute(builder: (context) => const VerifyArrivalView())); Navigator.push(context, MaterialPageRoute(builder: (context) => const VerifyArrivalView()));

@ -14,8 +14,8 @@ import 'package:test_sa/models/new_models/work_order_detail_model.dart';
import 'package:test_sa/models/service_request/spare_parts.dart'; import 'package:test_sa/models/service_request/spare_parts.dart';
import 'package:test_sa/models/service_request/supp_engineer_work_orders.dart'; import 'package:test_sa/models/service_request/supp_engineer_work_orders.dart';
import 'package:test_sa/models/service_request/supplier_details.dart'; import 'package:test_sa/models/service_request/supplier_details.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/cm_module/views/forms/maintenance_request/maintenance_request_main.dart'; import 'package:test_sa/modules/cm_module/views/forms/maintenance_request/maintenance_request_main.dart';
import 'package:test_sa/modules/cm_module/views/forms/spare_part/spare_part_request.dart'; import 'package:test_sa/modules/cm_module/views/forms/spare_part/spare_part_request.dart';
@ -67,7 +67,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
// actions: [if (!showReorderView) IconButton(onPressed: () => activities.isEmpty ? null : setState(() => showReorderView = true), icon: const Icon(Icons.reorder_rounded))], // actions: [if (!showReorderView) IconButton(onPressed: () => activities.isEmpty ? null : setState(() => showReorderView = true), icon: const Icon(Icons.reorder_rounded))],
), ),
//backgroundColor: const Color(0xfff8f9fb), //backgroundColor: const Color(0xfff8f9fb),
body: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { body: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
activities = requestDetailProvider.currentWorkOrder!.data!.activities; activities = requestDetailProvider.currentWorkOrder!.data!.activities;
requestDetailProvider.lastVisitedRequestActivityId = (activities.isNotEmpty ? activities.last.id : -1)!; requestDetailProvider.lastVisitedRequestActivityId = (activities.isNotEmpty ? activities.last.id : -1)!;
if (activities.isNotEmpty && (activities.last.activityStatus!.value == 14 || activities.last.activityStatus!.value == 19)) { if (activities.isNotEmpty && (activities.last.activityStatus!.value == 14 || activities.last.activityStatus!.value == 19)) {
@ -111,7 +111,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
); );
} }
Widget sparePartActivityCard({required ServiceRequestDetailProvider requestDetailProvider, required UserProvider userProvider, required BuildContext context, required Activities activity}) { Widget sparePartActivityCard({required CMDetailProvider requestDetailProvider, required UserProvider userProvider, required BuildContext context, required Activities activity}) {
bool showActionButtons = userProvider.user!.userID == requestDetailProvider.currentWorkOrder?.data?.assignedEmployee?.userId && bool showActionButtons = userProvider.user!.userID == requestDetailProvider.currentWorkOrder?.data?.assignedEmployee?.userId &&
userProvider.user!.type == UsersTypes.engineer && userProvider.user!.type == UsersTypes.engineer &&
requestDetailProvider.currentWorkOrder?.data?.status?.value != 5 && requestDetailProvider.currentWorkOrder?.data?.status?.value != 5 &&
@ -197,7 +197,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
}); });
} }
Widget maintenanceActivityCard({required ServiceRequestDetailProvider requestDetailProvider, required UserProvider userProvider, required BuildContext context, required Activities activity}) { Widget maintenanceActivityCard({required CMDetailProvider requestDetailProvider, required UserProvider userProvider, required BuildContext context, required Activities activity}) {
double totalWorkingHours = double totalWorkingHours =
activity.activityMaintenance?.activityMaintenanceTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endTime!).difference(DateTime.parse(item.startTime!)).inSeconds) ?? 0; activity.activityMaintenance?.activityMaintenanceTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endTime!).difference(DateTime.parse(item.startTime!)).inSeconds) ?? 0;
@ -265,7 +265,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
), ),
3.height, 3.height,
Text( Text(
'${context.translation.workingHours}: ${totalWorkingHours > 0.0 ? ServiceRequestUtils.formatTimerDuration(totalWorkingHours.round()) : '-'}', '${context.translation.workingHours}: ${totalWorkingHours > 0.0 ? CMRequestUtils.formatTimerDuration(totalWorkingHours.round()) : '-'}',
style: AppTextStyles.bodyText2.copyWith(color: AppColor.neutral120), style: AppTextStyles.bodyText2.copyWith(color: AppColor.neutral120),
), ),
2.height, 2.height,
@ -311,7 +311,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
}); });
} }
void editMaintenanceRequest({required BuildContext context, required ServiceRequestDetailProvider requestDetailProvider, required Activities activity}) async { void editMaintenanceRequest({required BuildContext context, required CMDetailProvider requestDetailProvider, required Activities activity}) async {
// Map<String, dynamic> assistEmpData = {}; // Map<String, dynamic> assistEmpData = {};
try { try {
// if (activity.activityMaintenance?.assistantEmployees != null && activity.activityMaintenance!.assistantEmployees!.isNotEmpty) { // if (activity.activityMaintenance?.assistantEmployees != null && activity.activityMaintenance!.assistantEmployees!.isNotEmpty) {
@ -371,7 +371,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => MaintenanceRequestForm())); Navigator.of(context).push(MaterialPageRoute(builder: (_) => MaintenanceRequestForm()));
} }
void editSparePartRequest({required BuildContext context, required ServiceRequestDetailProvider requestDetailProvider, required Activities activity}) async { void editSparePartRequest({required BuildContext context, required CMDetailProvider requestDetailProvider, required Activities activity}) async {
requestDetailProvider.sparePartHelperModel = SparePartHelperModel( requestDetailProvider.sparePartHelperModel = SparePartHelperModel(
id: activity.id, id: activity.id,
workOrderId: requestDetailProvider.currentWorkOrder?.data?.requestId, workOrderId: requestDetailProvider.currentWorkOrder?.data?.requestId,

@ -5,7 +5,7 @@ import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/forms/asset_retired/verify_asset_detail.dart'; import 'package:test_sa/modules/cm_module/views/forms/asset_retired/verify_asset_detail.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/views/widgets/requests/request_status.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart';
@ -16,7 +16,7 @@ class AssetDetailCard extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, snapshot) { return Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, snapshot) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [

@ -17,8 +17,8 @@ import 'package:test_sa/models/helper_data_models/spare_part/activity_spare_part
import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart'; import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.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/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/forms/maintenance_request/maintenance_request_main.dart'; import 'package:test_sa/modules/cm_module/views/forms/maintenance_request/maintenance_request_main.dart';
import 'package:test_sa/modules/cm_module/views/forms/spare_part/spare_part_request.dart'; import 'package:test_sa/modules/cm_module/views/forms/spare_part/spare_part_request.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
@ -52,7 +52,7 @@ class ServiceRequestBottomSheet {
return buildBottomSheetParent( return buildBottomSheetParent(
context: context, context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
@ -88,7 +88,7 @@ class ServiceRequestBottomSheet {
requestDetailProvider.fixRemotelyHelperModel?.endDate = null; requestDetailProvider.fixRemotelyHelperModel?.endDate = null;
requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel); requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel);
_workingHoursController.clear(); _workingHoursController.clear();
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.fixRemotelyHelperModel?.startDate, startTime: requestDetailProvider.fixRemotelyHelperModel?.startDate,
endTime: requestDetailProvider.fixRemotelyHelperModel?.endDate, endTime: requestDetailProvider.fixRemotelyHelperModel?.endDate,
workingHoursController: _workingHoursController, workingHoursController: _workingHoursController,
@ -130,7 +130,7 @@ class ServiceRequestBottomSheet {
} }
requestDetailProvider.fixRemotelyHelperModel?.endDate = selectedDateTime; requestDetailProvider.fixRemotelyHelperModel?.endDate = selectedDateTime;
requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel); requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel);
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.fixRemotelyHelperModel?.startDate, startTime: requestDetailProvider.fixRemotelyHelperModel?.startDate,
endTime: requestDetailProvider.fixRemotelyHelperModel?.endDate, endTime: requestDetailProvider.fixRemotelyHelperModel?.endDate,
workingHoursController: _workingHoursController, workingHoursController: _workingHoursController,
@ -228,7 +228,7 @@ class ServiceRequestBottomSheet {
return buildBottomSheetParent( return buildBottomSheetParent(
context: context, context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, requestDetailProvider, child) { childWidget: Consumer<CMDetailProvider>(builder: (context, requestDetailProvider, child) {
if (requestDetailProvider.needVisitHelperModel?.comment != null) { if (requestDetailProvider.needVisitHelperModel?.comment != null) {
_commentController.text = requestDetailProvider.needVisitHelperModel!.comment!; _commentController.text = requestDetailProvider.needVisitHelperModel!.comment!;
} }
@ -303,7 +303,7 @@ class ServiceRequestBottomSheet {
DateTime updatedDateTime = visitDateTime.subtract(Duration(minutes: reminderMinutes ?? 0)); DateTime updatedDateTime = visitDateTime.subtract(Duration(minutes: reminderMinutes ?? 0));
if (updatedDateTime.isAfter(DateTime.now())) { if (updatedDateTime.isAfter(DateTime.now())) {
// ServiceRequestUtils.scheduleNotification(context: context, scheduleDateTime: updatedDateTime); // ServiceRequestUtils.scheduleNotification(context: context, scheduleDateTime: updatedDateTime);
ServiceRequestUtils.addOrUpdateEventToCalendar( CMRequestUtils.addOrUpdateEventToCalendar(
context: context, context: context,
start: updatedDateTime, start: updatedDateTime,
end: visitDateTime, end: visitDateTime,
@ -391,7 +391,7 @@ class ServiceRequestBottomSheet {
return buildBottomSheetParent( return buildBottomSheetParent(
context: context, context: context,
childWidget: Consumer<ServiceRequestDetailProvider>( childWidget: Consumer<CMDetailProvider>(
builder: (context, requestDetailProvider, child) { builder: (context, requestDetailProvider, child) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -436,7 +436,7 @@ class ServiceRequestBottomSheet {
DateTime visitDateTime = DateTime.parse(requestDetailProvider.currentWorkOrder!.data!.needAVisitDateTime.toString()); DateTime visitDateTime = DateTime.parse(requestDetailProvider.currentWorkOrder!.data!.needAVisitDateTime.toString());
DateTime updatedDateTime = visitDateTime.subtract(Duration(minutes: selectedReminderTime.value ?? 0)); DateTime updatedDateTime = visitDateTime.subtract(Duration(minutes: selectedReminderTime.value ?? 0));
if (updatedDateTime.isAfter(DateTime.now())) { if (updatedDateTime.isAfter(DateTime.now())) {
ServiceRequestUtils.addOrUpdateEventToCalendar( CMRequestUtils.addOrUpdateEventToCalendar(
context: context, context: context,
start: updatedDateTime, start: updatedDateTime,
end: visitDateTime, end: visitDateTime,
@ -467,7 +467,7 @@ class ServiceRequestBottomSheet {
static Future getQRCodeBottomSheet({required BuildContext context}) async { static Future getQRCodeBottomSheet({required BuildContext context}) async {
// Show the loading dialog while fetching QR code // Show the loading dialog while fetching QR code
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
String? base64String = await requestDetailProvider.getQrCode(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId ?? 0); String? base64String = await requestDetailProvider.getQrCode(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId ?? 0);
Navigator.pop(context); Navigator.pop(context);
@ -571,7 +571,7 @@ class ServiceRequestBottomSheet {
TextEditingController _commentController = TextEditingController(); TextEditingController _commentController = TextEditingController();
return buildBottomSheetParent( return buildBottomSheetParent(
context: context, context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, requestDetailProvider, child) { childWidget: Consumer<CMDetailProvider>(builder: (context, requestDetailProvider, child) {
return Column( return Column(
children: [ children: [
const SizedBox().indicatorWidget(), const SizedBox().indicatorWidget(),
@ -677,14 +677,14 @@ class ServiceRequestBottomSheet {
void onItemTap({required int index, required BuildContext context}) { void onItemTap({required int index, required BuildContext context}) {
switch (index) { switch (index) {
case 0: case 0:
Provider.of<ServiceRequestDetailProvider>(context, listen: false).sparePartHelperModel = SparePartHelperModel(); Provider.of<CMDetailProvider>(context, listen: false).sparePartHelperModel = SparePartHelperModel();
Navigator.pushReplacement( Navigator.pushReplacement(
context, context,
MaterialPageRoute(builder: (context) => const SparePartRequest()), MaterialPageRoute(builder: (context) => const SparePartRequest()),
); );
break; break;
case 1: case 1:
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
requestDetailProvider.activityMaintenanceHelperModel = ActivityMaintenanceHelperModel( requestDetailProvider.activityMaintenanceHelperModel = ActivityMaintenanceHelperModel(
workOrderId: requestDetailProvider.currentWorkOrder?.data?.requestId, workOrderId: requestDetailProvider.currentWorkOrder?.data?.requestId,
id: 0, id: 0,
@ -808,7 +808,7 @@ class ServiceRequestBottomSheet {
loading: false, loading: false,
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
Provider.of<ServiceRequestDetailProvider>(context, listen: false).sparePartHelperModel = SparePartHelperModel(); Provider.of<CMDetailProvider>(context, listen: false).sparePartHelperModel = SparePartHelperModel();
Navigator.pushReplacement( Navigator.pushReplacement(
context, context,
MaterialPageRoute(builder: (context) => const SparePartRequest()), MaterialPageRoute(builder: (context) => const SparePartRequest()),
@ -825,7 +825,7 @@ class ServiceRequestBottomSheet {
); );
} }
static bool validateAssetSituation(ServiceRequestDetailProvider requestDetailProvider) { static bool validateAssetSituation(CMDetailProvider requestDetailProvider) {
// if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus != null) { // if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus != null) {
// if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus!.value == 1 || requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus!.value == 2) { // if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus!.value == 1 || requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus!.value == 2) {
// if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.returnToService == null) { // if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.returnToService == null) {
@ -842,7 +842,7 @@ class ServiceRequestBottomSheet {
TextEditingController _commentController = TextEditingController(); TextEditingController _commentController = TextEditingController();
return buildBottomSheetParent( return buildBottomSheetParent(
context: context, context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
@ -893,7 +893,7 @@ class ServiceRequestBottomSheet {
TextEditingController _feedBackController = TextEditingController(); TextEditingController _feedBackController = TextEditingController();
return buildBottomSheetParent( return buildBottomSheetParent(
context: context, context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
@ -954,7 +954,7 @@ class ServiceRequestBottomSheet {
String? nurseSignature; String? nurseSignature;
return buildBottomSheetParent( return buildBottomSheetParent(
context: context, context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
@ -1068,7 +1068,7 @@ class ServiceRequestBottomSheet {
static Future nurseVerifyArrivalBottomSheet({required BuildContext context}) { static Future nurseVerifyArrivalBottomSheet({required BuildContext context}) {
return buildBottomSheetParent( return buildBottomSheetParent(
context: context, context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
@ -1129,7 +1129,7 @@ class ServiceRequestBottomSheet {
return buildBottomSheetParent( return buildBottomSheetParent(
context: context, context: context,
isDismissible: false, isDismissible: false,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return WillPopScope( return WillPopScope(
onWillPop: () async { onWillPop: () async {
// Return `false` to block back navigation // Return `false` to block back navigation
@ -1178,7 +1178,7 @@ class ServiceRequestBottomSheet {
String? nurseSignature; String? nurseSignature;
return buildBottomSheetParent( return buildBottomSheetParent(
context: context, context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [

@ -10,8 +10,8 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/enums/user_types.dart'; import 'package:test_sa/models/enums/user_types.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.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/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/views/widgets/buttons/app_back_button.dart'; import 'package:test_sa/views/widgets/buttons/app_back_button.dart';
@ -23,7 +23,7 @@ class HistoryLogView extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, requestProvider, _) { return Consumer<CMDetailProvider>(builder: (context, requestProvider, _) {
return requestProvider.isLoading return requestProvider.isLoading
? const CircularProgressIndicator(color: AppColor.primary10).center ? const CircularProgressIndicator(color: AppColor.primary10).center
: (requestProvider.currentWorkOrder == null || (requestProvider.currentWorkOrder?.data?.workOrderHistory.isEmpty ?? true) : (requestProvider.currentWorkOrder == null || (requestProvider.currentWorkOrder?.data?.workOrderHistory.isEmpty ?? true)
@ -59,7 +59,7 @@ class HistoryLogView extends StatelessWidget {
if (lastStatus == currentStatus) { if (lastStatus == currentStatus) {
if (i + 1 < workOrderHistory.length) { if (i + 1 < workOrderHistory.length) {
nextDate = workOrderHistory[i + 1].date; nextDate = workOrderHistory[i + 1].date;
String timeDifference = ServiceRequestUtils.calculateTimeDifference(object.date!, nextDate!); String timeDifference = CMRequestUtils.calculateTimeDifference(object.date!, nextDate!);
object.timeDifference = timeDifference; object.timeDifference = timeDifference;
} else { } else {
object.timeDifference = ''; // Empty string for the last action object.timeDifference = ''; // Empty string for the last action
@ -70,7 +70,7 @@ class HistoryLogView extends StatelessWidget {
lastStatus = currentStatus; lastStatus = currentStatus;
if (i + 1 < workOrderHistory.length) { if (i + 1 < workOrderHistory.length) {
nextDate = workOrderHistory[i + 1].date; nextDate = workOrderHistory[i + 1].date;
String timeDifference = ServiceRequestUtils.calculateTimeDifference(object.date!, nextDate!); String timeDifference = CMRequestUtils.calculateTimeDifference(object.date!, nextDate!);
object.timeDifference = timeDifference; object.timeDifference = timeDifference;
} else { } else {
object.timeDifference = ''; // Empty string for the last action object.timeDifference = ''; // Empty string for the last action

@ -7,7 +7,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'bottom_sheets/service_request_bottomsheet.dart'; import 'bottom_sheets/service_request_bottomsheet.dart';
@ -26,7 +26,7 @@ class _InitialVisitCardState extends State<InitialVisitCard> {
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, snapshot) { return Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, snapshot) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [

@ -15,7 +15,7 @@ import 'package:test_sa/models/enums/work_order_next_step.dart';
import 'package:test_sa/models/generic_attachment_model.dart'; import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart'; import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.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/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/forms/asset_retired/asset_retired.dart'; import 'package:test_sa/modules/cm_module/views/forms/asset_retired/asset_retired.dart';
import 'package:test_sa/modules/cm_module/views/forms/cost/cost_detail_form_screen.dart'; import 'package:test_sa/modules/cm_module/views/forms/cost/cost_detail_form_screen.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
@ -57,7 +57,7 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
// //
// ) // )
UserProvider _userProvider = Provider.of<UserProvider>(context, listen: false); UserProvider _userProvider = Provider.of<UserProvider>(context, listen: false);
return Consumer<ServiceRequestDetailProvider>(builder: (pContext, requestProvider, _) { return Consumer<CMDetailProvider>(builder: (pContext, requestProvider, _) {
if (_userProvider.user?.type == UsersTypes.engineer) { if (_userProvider.user?.type == UsersTypes.engineer) {
// _userAttachments = requestProvider.currentWorkOrder?.data?.workOrderAttachments.where((e) => e.createdBy == _userProvider.user?.userID).map((e) => File(e.name ?? '')).toList() ?? []; // _userAttachments = requestProvider.currentWorkOrder?.data?.workOrderAttachments.where((e) => e.createdBy == _userProvider.user?.userID).map((e) => File(e.name ?? '')).toList() ?? [];
_userAttachments = _userAttachments =
@ -113,7 +113,7 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
}); });
} }
Widget workOrderDetailCard(BuildContext context, WorkOrderData workOrder, UserProvider userProvider, ServiceRequestDetailProvider requestProvider) { Widget workOrderDetailCard(BuildContext context, WorkOrderData workOrder, UserProvider userProvider, CMDetailProvider requestProvider) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
@ -495,7 +495,7 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
).toShadowContainer(context, padding: 12); ).toShadowContainer(context, padding: 12);
} }
Widget costCard(BuildContext context, ServiceRequestDetailProvider provider) { Widget costCard(BuildContext context, CMDetailProvider provider) {
return Column( return Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -571,7 +571,7 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
); );
} }
Widget initialVisitCard({required ServiceRequestDetailProvider requestDetailProvider, required UserProvider userProvider}) { Widget initialVisitCard({required CMDetailProvider requestDetailProvider, required UserProvider userProvider}) {
if (requestDetailProvider.currentWorkOrder!.data!.needAVisitDateTime != null && if (requestDetailProvider.currentWorkOrder!.data!.needAVisitDateTime != null &&
userProvider.user?.type == UsersTypes.engineer && userProvider.user?.type == UsersTypes.engineer &&
requestDetailProvider.currentWorkOrder?.data?.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.eArrived) { requestDetailProvider.currentWorkOrder?.data?.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.eArrived) {
@ -586,7 +586,7 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
} }
} }
Widget assetDetailCard({required ServiceRequestDetailProvider requestDetailProvider, required UserProvider userProvider}) { Widget assetDetailCard({required CMDetailProvider requestDetailProvider, required UserProvider userProvider}) {
if ((userProvider.user?.type == UsersTypes.engineer && requestDetailProvider.currentWorkOrder?.data?.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.activity) || if ((userProvider.user?.type == UsersTypes.engineer && requestDetailProvider.currentWorkOrder?.data?.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.activity) ||
requestDetailProvider.isReadOnlyRequest) { requestDetailProvider.isReadOnlyRequest) {
WorkOrderData currentWorkOrderData = requestDetailProvider.currentWorkOrder!.data!; WorkOrderData currentWorkOrderData = requestDetailProvider.currentWorkOrder!.data!;

@ -5,7 +5,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/models/size_config.dart'; import 'package:test_sa/models/size_config.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
class TimerWidget extends StatefulWidget { class TimerWidget extends StatefulWidget {
@ -20,7 +20,7 @@ class _TimerWidgetState extends State<TimerWidget> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>( return Consumer<CMDetailProvider>(
builder: (context, provider, child) { builder: (context, provider, child) {
return Positioned( return Positioned(
left: position.dx, left: position.dx,
@ -44,7 +44,7 @@ class _TimerWidgetState extends State<TimerWidget> {
); );
} }
Widget buildTimerWidget(ServiceRequestDetailProvider provider) { Widget buildTimerWidget(CMDetailProvider provider) {
return Container( return Container(
padding: EdgeInsets.all(8.toScreenHeight), padding: EdgeInsets.all(8.toScreenHeight),
width: 80.toScreenWidth, width: 80.toScreenWidth,

@ -10,8 +10,8 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart'; import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
@ -38,7 +38,7 @@ class _VerifyArrivalViewState extends State<VerifyArrivalView> {
} }
Future<void> getInitialData() async { Future<void> getInitialData() async {
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
await requestDetailProvider.getArrivalVerificationType(); await requestDetailProvider.getArrivalVerificationType();
} }
@ -47,7 +47,7 @@ class _VerifyArrivalViewState extends State<VerifyArrivalView> {
return Scaffold( return Scaffold(
appBar: DefaultAppBar(title: context.translation.verifyArrival), appBar: DefaultAppBar(title: context.translation.verifyArrival),
//backgroundColor: const Color(0xfff8f9fb), //backgroundColor: const Color(0xfff8f9fb),
body: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { body: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return SafeArea( return SafeArea(
child: requestDetailProvider.isArrivalLoading || requestDetailProvider.isLoading child: requestDetailProvider.isArrivalLoading || requestDetailProvider.isLoading
? const CircularProgressIndicator(color: AppColor.primary10).center ? const CircularProgressIndicator(color: AppColor.primary10).center
@ -111,7 +111,7 @@ class _VerifyArrivalViewState extends State<VerifyArrivalView> {
); );
} }
void onItemTap({required ServiceRequestDetailProvider requestDetailProvider, required BuildContext context, int? verificationTypeId}) async { void onItemTap({required CMDetailProvider requestDetailProvider, required BuildContext context, int? verificationTypeId}) async {
switch (verificationTypeId) { switch (verificationTypeId) {
case 1: case 1:
int? status; int? status;
@ -214,13 +214,13 @@ class _VerifyArrivalViewState extends State<VerifyArrivalView> {
return fileImage; return fileImage;
} }
void showWaitingBottomSheet({required ServiceRequestDetailProvider requestDetailProvider, int? verificationTypeId}) async { void showWaitingBottomSheet({required CMDetailProvider requestDetailProvider, int? verificationTypeId}) async {
await requestDetailProvider.engineerConfirmArrival(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, verificationTypeId: verificationTypeId ?? 2, photoInfo: '', otp: ''); await requestDetailProvider.engineerConfirmArrival(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, verificationTypeId: verificationTypeId ?? 2, photoInfo: '', otp: '');
requestDetailProvider.isVerifyArrivalBottomSheetOpen = true; requestDetailProvider.isVerifyArrivalBottomSheetOpen = true;
ServiceRequestBottomSheet.waitingForApprovalBottomSheet(context: context).then((value) { ServiceRequestBottomSheet.waitingForApprovalBottomSheet(context: context).then((value) {
requestDetailProvider.isVerifyArrivalBottomSheetOpen = false; requestDetailProvider.isVerifyArrivalBottomSheetOpen = false;
}); });
bool? isArrived = await ServiceRequestUtils.listenForApproval(); bool? isArrived = await CMRequestUtils.listenForApproval();
if (requestDetailProvider.isVerifyArrivalBottomSheetOpen) { if (requestDetailProvider.isVerifyArrivalBottomSheetOpen) {
if (isArrived == null) { if (isArrived == null) {
"Requester not confirmed you arrival".showToast; "Requester not confirmed you arrival".showToast;

@ -5,7 +5,7 @@ import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart'; import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
@ -47,7 +47,7 @@ class VerifyOtpView extends StatelessWidget {
), ),
), ),
onCompleted: (pin) async { onCompleted: (pin) async {
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
int? status; int? status;
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
status = await requestDetailProvider.verifyOtp(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, otpCode: pin); status = await requestDetailProvider.verifyOtp(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, otpCode: pin);

@ -10,8 +10,8 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/generic_attachment_model.dart'; import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/helper_data_models/asset_retired/asset_retired_model.dart'; import 'package:test_sa/models/helper_data_models/asset_retired/asset_retired_model.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -32,7 +32,7 @@ class AssetRetired extends StatefulWidget {
} }
class _AssetRetiredState extends State<AssetRetired> with TickerProviderStateMixin { class _AssetRetiredState extends State<AssetRetired> with TickerProviderStateMixin {
ServiceRequestDetailProvider? _requestDetailProvider; CMDetailProvider? _requestDetailProvider;
RetirementTypeProvider? _retirementTypeProvider; RetirementTypeProvider? _retirementTypeProvider;
bool _isLoading = false; bool _isLoading = false;
final GlobalKey<FormState> _formKey = GlobalKey<FormState>(); final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
@ -43,7 +43,7 @@ class _AssetRetiredState extends State<AssetRetired> with TickerProviderStateMix
void initState() { void initState() {
super.initState(); super.initState();
if (context.mounted) { if (context.mounted) {
_requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); _requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
_retirementTypeProvider = Provider.of<RetirementTypeProvider>(context, listen: false); _retirementTypeProvider = Provider.of<RetirementTypeProvider>(context, listen: false);
_requestDetailProvider?.assetRetiredHelperModel = AssetRetiredHelperModel(id: 0, workOrderId: _requestDetailProvider?.currentWorkOrder!.data!.requestId, activityAssetToBeRetiredAttachments: []); _requestDetailProvider?.assetRetiredHelperModel = AssetRetiredHelperModel(id: 0, workOrderId: _requestDetailProvider?.currentWorkOrder!.data!.requestId, activityAssetToBeRetiredAttachments: []);
_retirementTypeProvider?.serviceRequestId = _requestDetailProvider?.currentWorkOrder!.data!.requestId.toString(); _retirementTypeProvider?.serviceRequestId = _requestDetailProvider?.currentWorkOrder!.data!.requestId.toString();
@ -58,7 +58,7 @@ class _AssetRetiredState extends State<AssetRetired> with TickerProviderStateMix
return Scaffold( return Scaffold(
key: _scaffoldKey, key: _scaffoldKey,
appBar: DefaultAppBar(title: context.translation.assetToBeRetired), appBar: DefaultAppBar(title: context.translation.assetToBeRetired),
body: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { body: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return LoadingManager( return LoadingManager(
isLoading: _isLoading, isLoading: _isLoading,
isFailedLoading: false, isFailedLoading: false,
@ -124,7 +124,7 @@ class _AssetRetiredState extends State<AssetRetired> with TickerProviderStateMix
requestDetailProvider.assetRetiredHelperModel?.activityAssetToBeRetiredAttachments = []; requestDetailProvider.assetRetiredHelperModel?.activityAssetToBeRetiredAttachments = [];
for (var item in _attachments) { for (var item in _attachments) {
String fileName = String fileName =
ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
requestDetailProvider.assetRetiredHelperModel?.activityAssetToBeRetiredAttachments?.add(ActivityAssetToBeRetiredAttachments(id: item.id, name: fileName)); requestDetailProvider.assetRetiredHelperModel?.activityAssetToBeRetiredAttachments?.add(ActivityAssetToBeRetiredAttachments(id: item.id, name: fileName));
} }
int status = await requestDetailProvider.createActivityAssetToBeRetired(); int status = await requestDetailProvider.createActivityAssetToBeRetired();

@ -12,7 +12,7 @@ import 'package:test_sa/models/fault_description.dart';
import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart'; import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.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/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -40,7 +40,7 @@ class VerifyAssetDetails extends StatefulWidget {
} }
class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProviderStateMixin { class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProviderStateMixin {
ServiceRequestDetailProvider? _requestDetailProvider; CMDetailProvider? _requestDetailProvider;
LoanAvailabilityProvider? _loanAvailabilityProvider; LoanAvailabilityProvider? _loanAvailabilityProvider;
EquipmentStatusProvider? _equipmentStatusProvider; EquipmentStatusProvider? _equipmentStatusProvider;
ReasonProvider? _reasonProvider; ReasonProvider? _reasonProvider;
@ -101,7 +101,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (_requestDetailProvider == null) { if (_requestDetailProvider == null) {
_requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); _requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
_reasonProvider = Provider.of<ReasonProvider>(context, listen: false); _reasonProvider = Provider.of<ReasonProvider>(context, listen: false);
_reasonProvider!.reset(); _reasonProvider!.reset();
_loanAvailabilityProvider = Provider.of<LoanAvailabilityProvider>(context, listen: false); _loanAvailabilityProvider = Provider.of<LoanAvailabilityProvider>(context, listen: false);
@ -119,7 +119,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
return Scaffold( return Scaffold(
key: _scaffoldKey, key: _scaffoldKey,
appBar: DefaultAppBar(title: context.translation.updateAssetDetails), appBar: DefaultAppBar(title: context.translation.updateAssetDetails),
body: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { body: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -355,7 +355,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
); );
} }
bool validateForm({required ServiceRequestDetailProvider requestDetailProvider}) { bool validateForm({required CMDetailProvider requestDetailProvider}) {
bool isValid = true; bool isValid = true;
if (!widget.isEdit) { if (!widget.isEdit) {
return true; return true;

@ -6,7 +6,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart'; import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.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/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -26,7 +26,7 @@ class CostDetailFormScreen extends StatefulWidget {
} }
class _CostDetailFormScreenState extends State<CostDetailFormScreen> with TickerProviderStateMixin { class _CostDetailFormScreenState extends State<CostDetailFormScreen> with TickerProviderStateMixin {
ServiceRequestDetailProvider? _requestDetailProvider; CMDetailProvider? _requestDetailProvider;
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>(); final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
@ -55,14 +55,14 @@ class _CostDetailFormScreenState extends State<CostDetailFormScreen> with Ticker
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (_requestDetailProvider == null) { if (_requestDetailProvider == null) {
_requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); _requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
assignValues(); assignValues();
} }
return Scaffold( return Scaffold(
key: _scaffoldKey, key: _scaffoldKey,
appBar: const DefaultAppBar(title: "Cost Details"), appBar: const DefaultAppBar(title: "Cost Details"),
body: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { body: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -210,7 +210,7 @@ class _CostDetailFormScreenState extends State<CostDetailFormScreen> with Ticker
); );
} }
bool validateForm({required ServiceRequestDetailProvider requestDetailProvider}) { bool validateForm({required CMDetailProvider requestDetailProvider}) {
bool isValid = true; bool isValid = true;
if (!widget.isEdit) { if (!widget.isEdit) {
return true; return true;

@ -8,8 +8,8 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/helper/utils.dart'; import 'package:test_sa/helper/utils.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.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/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart'; import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
import 'package:test_sa/views/widgets/date_and_time/date_picker.dart'; import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
@ -39,7 +39,7 @@ class _AssistantEmployeeCardState extends State<AssistantEmployeeCard> {
Future<void> getInitialData() async { Future<void> getInitialData() async {
final user = Provider.of<UserProvider>(context, listen: false).user!; final user = Provider.of<UserProvider>(context, listen: false).user!;
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
if (requestDetailProvider.isReadOnlyRequest) { if (requestDetailProvider.isReadOnlyRequest) {
isExpanded = true; isExpanded = true;
setState(() {}); setState(() {});
@ -60,7 +60,7 @@ class _AssistantEmployeeCardState extends State<AssistantEmployeeCard> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, requestDetailProvider, child) { return Consumer<CMDetailProvider>(builder: (context, requestDetailProvider, child) {
return Column( return Column(
children: [ children: [
SizedBox( SizedBox(
@ -131,7 +131,7 @@ class _AssistantEmployeeCardState extends State<AssistantEmployeeCard> {
requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.startDate = selectedDateTime; requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.startDate = selectedDateTime;
requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel); requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel);
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.startDate, startTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.startDate,
endTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.endDate, endTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.endDate,
workingHoursController: _workingHoursController, workingHoursController: _workingHoursController,
@ -174,7 +174,7 @@ class _AssistantEmployeeCardState extends State<AssistantEmployeeCard> {
requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.endDate = selectedDate; requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.endDate = selectedDate;
requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel); requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel);
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.startDate, startTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.startDate,
endTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.endDate, endTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.endDate,
workingHoursController: _workingHoursController, workingHoursController: _workingHoursController,

@ -6,8 +6,8 @@ import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.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/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart'; import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
@ -67,7 +67,7 @@ class _ServiceRequestAssistantEmployeeListState extends State<ServiceRequestAssi
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final isReadOnly = Provider.of<ServiceRequestDetailProvider>(context, listen: false).isReadOnlyRequest; final isReadOnly = Provider.of<CMDetailProvider>(context, listen: false).isReadOnlyRequest;
return ListView.builder( return ListView.builder(
itemCount: _list.length + 1, itemCount: _list.length + 1,
shrinkWrap: true, shrinkWrap: true,
@ -125,7 +125,7 @@ class EmployeeCard extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final requestedDate = Provider.of<ServiceRequestDetailProvider>(context, listen: false).currentWorkOrder?.data?.requestedDate; final requestedDate = Provider.of<CMDetailProvider>(context, listen: false).currentWorkOrder?.data?.requestedDate;
return Column( return Column(
children: [ children: [
@ -200,7 +200,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) { onUpdate((model) {
model.startDate = selectedDateTime; model.startDate = selectedDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate, startTime: model.startDate,
endTime: model.endDate, endTime: model.endDate,
workingHoursController: workingHoursController, workingHoursController: workingHoursController,
@ -245,7 +245,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) { onUpdate((model) {
model.endDate = endDateTime; model.endDate = endDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate, startTime: model.startDate,
endTime: model.endDate, endTime: model.endDate,
workingHoursController: workingHoursController, workingHoursController: workingHoursController,

@ -9,8 +9,8 @@ import 'package:test_sa/helper/utils.dart';
import 'package:test_sa/models/service_request/service_report.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/supp_engineer_work_orders.dart';
import 'package:test_sa/models/service_request/supplier_details.dart'; import 'package:test_sa/models/service_request/supplier_details.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart'; import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart'; import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart';
@ -40,14 +40,14 @@ class _ExternalMaintenanceRequestState extends State<ExternalMaintenanceRequest>
} }
void getInitialData() { void getInitialData() {
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
_workingHoursController.text = _workingHoursController.text =
requestDetailProvider.activityMaintenanceHelperModel?.supplierWorkingHour != null ? requestDetailProvider.activityMaintenanceHelperModel!.supplierWorkingHour.toString() : ''; requestDetailProvider.activityMaintenanceHelperModel?.supplierWorkingHour != null ? requestDetailProvider.activityMaintenanceHelperModel!.supplierWorkingHour.toString() : '';
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { return Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return IgnorePointer( return IgnorePointer(
ignoring: requestDetailProvider.isReadOnlyRequest, ignoring: requestDetailProvider.isReadOnlyRequest,
child: Column( child: Column(
@ -162,7 +162,7 @@ class _ExternalMaintenanceRequestState extends State<ExternalMaintenanceRequest>
requestDetailProvider.activityMaintenanceHelperModel?.supplierEndTime = null; requestDetailProvider.activityMaintenanceHelperModel?.supplierEndTime = null;
requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel); requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel);
_workingHoursController.clear(); _workingHoursController.clear();
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.activityMaintenanceHelperModel!.supplierStartTime, startTime: requestDetailProvider.activityMaintenanceHelperModel!.supplierStartTime,
endTime: requestDetailProvider.activityMaintenanceHelperModel!.endTime, endTime: requestDetailProvider.activityMaintenanceHelperModel!.endTime,
workingHoursController: _workingHoursController, workingHoursController: _workingHoursController,
@ -224,7 +224,7 @@ class _ExternalMaintenanceRequestState extends State<ExternalMaintenanceRequest>
requestDetailProvider.activityMaintenanceHelperModel?.supplierEndTime = selectedDate; requestDetailProvider.activityMaintenanceHelperModel?.supplierEndTime = selectedDate;
requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel); requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel);
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.activityMaintenanceHelperModel!.supplierStartTime, startTime: requestDetailProvider.activityMaintenanceHelperModel!.supplierStartTime,
endTime: requestDetailProvider.activityMaintenanceHelperModel!.supplierEndTime, endTime: requestDetailProvider.activityMaintenanceHelperModel!.supplierEndTime,
workingHoursController: _workingHoursController, workingHoursController: _workingHoursController,

@ -8,7 +8,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/forms/maintenance_request/components/assistant_employee_list.dart'; import 'package:test_sa/modules/cm_module/views/forms/maintenance_request/components/assistant_employee_list.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart'; import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
@ -28,7 +28,7 @@ class InternalMaintenanceRequest extends StatefulWidget {
} }
class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest> with TickerProviderStateMixin { class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest> with TickerProviderStateMixin {
ServiceRequestDetailProvider? _requestDetailProvider; CMDetailProvider? _requestDetailProvider;
final GlobalKey<FormState> _formKey = GlobalKey<FormState>(); final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
final TextEditingController _workingHoursController = TextEditingController(); final TextEditingController _workingHoursController = TextEditingController();
final TextEditingController _travellingHoursController = TextEditingController(); final TextEditingController _travellingHoursController = TextEditingController();
@ -38,7 +38,7 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
@override @override
void initState() { void initState() {
_requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); _requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
super.initState(); super.initState();
calculateWorkingTime(); calculateWorkingTime();
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
@ -81,7 +81,7 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, requestDetailProvider, child) { return Consumer<CMDetailProvider>(builder: (context, requestDetailProvider, child) {
bool enableTimer = (requestDetailProvider.lastVisitedRequestActivityId == -1 || requestDetailProvider.activityMaintenanceHelperModel?.id == 0) bool enableTimer = (requestDetailProvider.lastVisitedRequestActivityId == -1 || requestDetailProvider.activityMaintenanceHelperModel?.id == 0)
? true ? true
: requestDetailProvider.activityMaintenanceHelperModel?.id == requestDetailProvider.lastVisitedRequestActivityId; : requestDetailProvider.activityMaintenanceHelperModel?.id == requestDetailProvider.lastVisitedRequestActivityId;
@ -205,7 +205,7 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
}); });
} }
Widget repairLocationWidget(BuildContext context, ServiceRequestDetailProvider requestDetailProvider) { Widget repairLocationWidget(BuildContext context, CMDetailProvider requestDetailProvider) {
return Consumer<ServiceReportRepairLocationProvider>(builder: (cxt, snapshot, _) { return Consumer<ServiceReportRepairLocationProvider>(builder: (cxt, snapshot, _) {
try { try {
requestDetailProvider.activityMaintenanceHelperModel?.repairLocation ??= snapshot.reasons?.first; requestDetailProvider.activityMaintenanceHelperModel?.repairLocation ??= snapshot.reasons?.first;

@ -10,7 +10,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/helper/utils.dart'; import 'package:test_sa/helper/utils.dart';
import 'package:test_sa/models/helper_data_models/maintenance_request/activity_maintenance_model.dart'; import 'package:test_sa/models/helper_data_models/maintenance_request/activity_maintenance_model.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.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/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -40,7 +40,7 @@ class _MaintenanceRequestFormState extends State<MaintenanceRequestForm> with Si
Future<void> getInitialData() async { Future<void> getInitialData() async {
Provider.of<ServiceReportRepairLocationProvider>(context, listen: false).getTypes(); Provider.of<ServiceReportRepairLocationProvider>(context, listen: false).getTypes();
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
// requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees = // requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees =
// requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees ?? ActivityMaintenanceAssistantEmployees(); // requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees ?? ActivityMaintenanceAssistantEmployees();
requestDetailProvider.activityMaintenanceHelperModel?.assistantEmployList = requestDetailProvider.activityMaintenanceHelperModel?.assistantEmployList ?? []; requestDetailProvider.activityMaintenanceHelperModel?.assistantEmployList = requestDetailProvider.activityMaintenanceHelperModel?.assistantEmployList ?? [];
@ -48,7 +48,7 @@ class _MaintenanceRequestFormState extends State<MaintenanceRequestForm> with Si
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { return Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
bool isUpdate = requestDetailProvider.activityMaintenanceHelperModel?.id != 0; bool isUpdate = requestDetailProvider.activityMaintenanceHelperModel?.id != 0;
return Scaffold( return Scaffold(
backgroundColor: Theme.of(context).scaffoldBackgroundColor, backgroundColor: Theme.of(context).scaffoldBackgroundColor,
@ -124,7 +124,7 @@ class _MaintenanceRequestFormState extends State<MaintenanceRequestForm> with Si
}); });
} }
void save(ServiceRequestDetailProvider requestDetailProvider) async { void save(CMDetailProvider requestDetailProvider) async {
if (validate(model: requestDetailProvider.activityMaintenanceHelperModel!)) { if (validate(model: requestDetailProvider.activityMaintenanceHelperModel!)) {
requestDetailProvider.activityMaintenanceHelperModel?.activityMaintenanceTimers = requestDetailProvider.activityMaintenanceHelperModel?.activityMaintenanceTimers ?? []; requestDetailProvider.activityMaintenanceHelperModel?.activityMaintenanceTimers = requestDetailProvider.activityMaintenanceHelperModel?.activityMaintenanceTimers ?? [];
if (requestDetailProvider.activityMaintenanceHelperModel?.activityTimePicker != null) { if (requestDetailProvider.activityMaintenanceHelperModel?.activityTimePicker != null) {

@ -16,8 +16,8 @@ import 'package:test_sa/models/helper_data_models/spare_part/activity_spare_part
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/service_request/spare_parts.dart'; import 'package:test_sa/models/service_request/spare_parts.dart';
import 'package:test_sa/models/size_config.dart'; import 'package:test_sa/models/size_config.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart'; import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
@ -40,7 +40,7 @@ class SparePartRequest extends StatefulWidget {
} }
class _SparePartRequestState extends State<SparePartRequest> with TickerProviderStateMixin { class _SparePartRequestState extends State<SparePartRequest> with TickerProviderStateMixin {
ServiceRequestDetailProvider? _requestDetailProvider; CMDetailProvider? _requestDetailProvider;
PartsProvider? _partsProvider; PartsProvider? _partsProvider;
bool _isLoading = false; bool _isLoading = false;
List<SparePart> _spareParts = []; List<SparePart> _spareParts = [];
@ -61,7 +61,7 @@ class _SparePartRequestState extends State<SparePartRequest> with TickerProvider
void initState() { void initState() {
super.initState(); super.initState();
_partsProvider = Provider.of<PartsProvider>(context, listen: false); _partsProvider = Provider.of<PartsProvider>(context, listen: false);
_requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); _requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
_requestDetailProvider?.sparePartHelperModel = SparePartHelperModel( _requestDetailProvider?.sparePartHelperModel = SparePartHelperModel(
id: _requestDetailProvider?.sparePartHelperModel?.id ?? 0, id: _requestDetailProvider?.sparePartHelperModel?.id ?? 0,
workOrderId: _requestDetailProvider?.sparePartHelperModel?.workOrderId ?? _requestDetailProvider?.currentWorkOrder?.data?.requestId, workOrderId: _requestDetailProvider?.sparePartHelperModel?.workOrderId ?? _requestDetailProvider?.currentWorkOrder?.data?.requestId,
@ -90,7 +90,7 @@ class _SparePartRequestState extends State<SparePartRequest> with TickerProvider
}); });
} }
void restValues({required ServiceRequestDetailProvider requestDetailProvider}) { void restValues({required CMDetailProvider requestDetailProvider}) {
requestDetailProvider.sparePartHelperModel = SparePartHelperModel(id: 0, workOrderId: _requestDetailProvider?.currentWorkOrder?.data?.requestId, sparePartAttachments: []); requestDetailProvider.sparePartHelperModel = SparePartHelperModel(id: 0, workOrderId: _requestDetailProvider?.currentWorkOrder?.data?.requestId, sparePartAttachments: []);
_partQtyController.clear(); _partQtyController.clear();
_installQtyController.clear(); _installQtyController.clear();
@ -121,7 +121,7 @@ class _SparePartRequestState extends State<SparePartRequest> with TickerProvider
return Scaffold( return Scaffold(
key: _scaffoldKey, key: _scaffoldKey,
appBar: DefaultAppBar(title: context.translation.sparePartRequest), appBar: DefaultAppBar(title: context.translation.sparePartRequest),
body: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { body: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Form( return Form(
key: _formKey, key: _formKey,
child: Column( child: Column(
@ -324,7 +324,7 @@ class _SparePartRequestState extends State<SparePartRequest> with TickerProvider
); );
} }
_onSubmit({required ServiceRequestDetailProvider requestDetailProvider}) async { _onSubmit({required CMDetailProvider requestDetailProvider}) async {
if (requestDetailProvider.sparePartHelperModel?.sparePart?.id == null) { if (requestDetailProvider.sparePartHelperModel?.sparePart?.id == null) {
"Please select spare part".showToast; "Please select spare part".showToast;
return; return;
@ -336,7 +336,7 @@ class _SparePartRequestState extends State<SparePartRequest> with TickerProvider
requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.clear(); requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.clear();
for (var item in attachments) { for (var item in attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.add( requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.add(
SparePartAttachments(id: item.id, name: fileName), SparePartAttachments(id: item.id, name: fileName),
); );
@ -386,7 +386,7 @@ class PartDetailBottomSheetSheet extends StatelessWidget {
children: [ children: [
8.height, 8.height,
'Parts Availability'.heading6(context).paddingOnly(top: 12, start: 12), 'Parts Availability'.heading6(context).paddingOnly(top: 12, start: 12),
Consumer<ServiceRequestDetailProvider>(builder: (context, requestDetailProvider, child) { Consumer<CMDetailProvider>(builder: (context, requestDetailProvider, child) {
return requestDetailProvider.isLoading return requestDetailProvider.isLoading
? const CircularProgressIndicator(color: AppColor.primary10).center ? const CircularProgressIndicator(color: AppColor.primary10).center
: requestDetailProvider.storeAvailability.isEmpty : requestDetailProvider.storeAvailability.isEmpty

@ -13,7 +13,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/helper/utils.dart'; import 'package:test_sa/helper/utils.dart';
import 'package:test_sa/models/service_request/service_request.dart'; import 'package:test_sa/models/service_request/service_request.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/cx_module/chat/chat_api_client.dart'; import 'package:test_sa/modules/cx_module/chat/chat_api_client.dart';
import 'package:test_sa/modules/cx_module/chat/chat_provider.dart'; import 'package:test_sa/modules/cx_module/chat/chat_provider.dart';
@ -88,13 +88,13 @@ class _ChatPageState extends State<ChatPage> {
// ? assigneeEmployeeNumber // ? assigneeEmployeeNumber
// :myEmployeeId; // :myEmployeeId;
String assigneeEmployeeNumber = widget.assigneeEmployeeNumber ?? Provider.of<ServiceRequestDetailProvider>(context, listen: false).currentWorkOrder?.data?.assignedEmployee?.employeeId ?? ""; String assigneeEmployeeNumber = widget.assigneeEmployeeNumber ?? Provider.of<CMDetailProvider>(context, listen: false).currentWorkOrder?.data?.assignedEmployee?.employeeId ?? "";
String myEmployeeId = widget.myLoginUserID ?? context.userProvider.user!.username!; String myEmployeeId = widget.myLoginUserID ?? context.userProvider.user!.username!;
receiver = context.userProvider.isNurse receiver = context.userProvider.isNurse
? assigneeEmployeeNumber ? assigneeEmployeeNumber
: (context.userProvider.isEngineer : (context.userProvider.isEngineer
? (widget.contactEmployeeINumber ?? Provider.of<ServiceRequestDetailProvider>(context, listen: false).currentWorkOrder!.data!.workOrderContactPerson.first.employeeId!) ? (widget.contactEmployeeINumber ?? Provider.of<CMDetailProvider>(context, listen: false).currentWorkOrder!.data!.workOrderContactPerson.first.employeeId!)
: ""); : "");
Provider.of<ChatProvider>(context, listen: false).connectToHub(widget.moduleId, widget.requestId, myEmployeeId, receiver, widget.readOnly, isMounted: mounted); Provider.of<ChatProvider>(context, listen: false).connectToHub(widget.moduleId, widget.requestId, myEmployeeId, receiver, widget.readOnly, isMounted: mounted);
} }

@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/cm_detail_provider.dart';
import 'chat_page.dart'; import 'chat_page.dart';
import 'chat_provider.dart'; import 'chat_provider.dart';
@ -54,13 +54,13 @@ class _ChatWidgetState extends State<ChatWidget> {
ChatProvider cProvider = Provider.of<ChatProvider>(context, listen: false); ChatProvider cProvider = Provider.of<ChatProvider>(context, listen: false);
if (cProvider.chatLoginResponse != null && cProvider.referenceID == widget.requestId) return; if (cProvider.chatLoginResponse != null && cProvider.referenceID == widget.requestId) return;
String assigneeEmployeeNumber = widget.assigneeEmployeeNumber ?? Provider.of<ServiceRequestDetailProvider>(context, listen: false).currentWorkOrder?.data?.assignedEmployee?.employeeId ?? ""; String assigneeEmployeeNumber = widget.assigneeEmployeeNumber ?? Provider.of<CMDetailProvider>(context, listen: false).currentWorkOrder?.data?.assignedEmployee?.employeeId ?? "";
String myEmployeeId = widget.myLoginUserID ?? context.userProvider.user!.username!; String myEmployeeId = widget.myLoginUserID ?? context.userProvider.user!.username!;
String receiver = context.userProvider.isNurse String receiver = context.userProvider.isNurse
? assigneeEmployeeNumber ? assigneeEmployeeNumber
: (context.userProvider.isEngineer : (context.userProvider.isEngineer
? (widget.contactEmployeeINumber ?? Provider.of<ServiceRequestDetailProvider>(context, listen: false).currentWorkOrder!.data!.workOrderContactPerson.first.employeeId!) ? (widget.contactEmployeeINumber ?? Provider.of<CMDetailProvider>(context, listen: false).currentWorkOrder!.data!.workOrderContactPerson.first.employeeId!)
: ""); : "");
cProvider.getUserAutoLoginTokenSilent(widget.moduleId, widget.requestId, widget.title, myEmployeeId, receiver, isMounted: mounted); cProvider.getUserAutoLoginTokenSilent(widget.moduleId, widget.requestId, widget.title, myEmployeeId, receiver, isMounted: mounted);

@ -10,7 +10,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/generic_attachment_model.dart'; import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/internal_audit_module/models/equipment_internal_audit_form_model.dart'; import 'package:test_sa/modules/internal_audit_module/models/equipment_internal_audit_form_model.dart';
import 'package:test_sa/modules/internal_audit_module/models/internal_audit_attachment_model.dart'; import 'package:test_sa/modules/internal_audit_module/models/internal_audit_attachment_model.dart';
@ -132,7 +132,7 @@ class _CreateEquipmentInternalAuditFormState extends State<CreateEquipmentIntern
_formKey.currentState!.save(); _formKey.currentState!.save();
_equipmentinternalAuditModel.attachments = []; _equipmentinternalAuditModel.attachments = [];
for (var item in _attachments) { for (var item in _attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
_equipmentinternalAuditModel.attachments.add(InternalAuditAttachments(id: item.id, name: fileName)); _equipmentinternalAuditModel.attachments.add(InternalAuditAttachments(id: item.id, name: fileName));
} }
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());

@ -12,7 +12,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/generic_attachment_model.dart'; import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/timer_model.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/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/internal_audit_module/models/internal_audit_timer_model.dart'; import 'package:test_sa/modules/internal_audit_module/models/internal_audit_timer_model.dart';
import 'package:test_sa/modules/internal_audit_module/models/update_audit_form_model.dart'; import 'package:test_sa/modules/internal_audit_module/models/update_audit_form_model.dart';
@ -122,7 +122,7 @@ class _UpdateEquipmentInternalAuditPageState extends State<UpdateEquipmentIntern
_formKey.currentState!.save(); _formKey.currentState!.save();
formModel.attachments = []; formModel.attachments = [];
for (var item in _attachments) { for (var item in _attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name?.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name?.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
formModel.attachments!.add( formModel.attachments!.add(
InternalAuditAttachments( InternalAuditAttachments(
id: item.id, id: item.id,

@ -12,7 +12,7 @@ import 'package:test_sa/models/device/asset.dart';
import 'package:test_sa/models/generic_attachment_model.dart'; import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart'; import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/internal_audit_module/models/equipment_internal_audit_form_model.dart'; import 'package:test_sa/modules/internal_audit_module/models/equipment_internal_audit_form_model.dart';
import 'package:test_sa/modules/internal_audit_module/models/internal_audit_attachment_model.dart'; import 'package:test_sa/modules/internal_audit_module/models/internal_audit_attachment_model.dart';
@ -180,7 +180,7 @@ class _CreateSystemInternalAuditFormState extends State<CreateSystemInternalAudi
_formKey.currentState!.save(); _formKey.currentState!.save();
_model.attachments=[]; _model.attachments=[];
for (var item in _attachments) { for (var item in _attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
_model.attachments?.add(InternalAuditAttachments(id: item.id, name: fileName)); _model.attachments?.add(InternalAuditAttachments(id: item.id, name: fileName));
} }
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());

@ -12,7 +12,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/generic_attachment_model.dart'; import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/timer_model.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/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/internal_audit_module/models/internal_audit_timer_model.dart'; import 'package:test_sa/modules/internal_audit_module/models/internal_audit_timer_model.dart';
import 'package:test_sa/modules/internal_audit_module/models/system_internal_audit_data_model.dart'; import 'package:test_sa/modules/internal_audit_module/models/system_internal_audit_data_model.dart';
@ -122,7 +122,7 @@ class _UpdateSystemInternalAuditPageState extends State<UpdateSystemInternalAudi
_formKey.currentState!.save(); _formKey.currentState!.save();
formModel.attachments = []; formModel.attachments = [];
for (var item in _attachments) { for (var item in _attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name?.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name?.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
formModel.attachments!.add( formModel.attachments!.add(
InternalAuditAttachments( InternalAuditAttachments(
id: item.id, id: item.id,

@ -24,7 +24,7 @@ import 'package:test_sa/models/new_models/site.dart';
import 'package:test_sa/models/new_models/task_request/task_request_model.dart'; import 'package:test_sa/models/new_models/task_request/task_request_model.dart';
import 'package:test_sa/models/new_models/task_request/task_type_model.dart'; import 'package:test_sa/models/new_models/task_request/task_type_model.dart';
import 'package:test_sa/models/service_request/pending_service_request_model.dart'; import 'package:test_sa/models/service_request/pending_service_request_model.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/loan_module/models/loan_form_model.dart'; import 'package:test_sa/modules/loan_module/models/loan_form_model.dart';
import 'package:test_sa/modules/loan_module/models/medical_department_model.dart'; import 'package:test_sa/modules/loan_module/models/medical_department_model.dart';
@ -484,7 +484,7 @@ class _CreateLoanRequestViewState extends State<CreateLoanRequestView> with Tick
_loanFormModel.loanAttachment = []; _loanFormModel.loanAttachment = [];
for (var item in attachments) { for (var item in attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
_loanFormModel.loanAttachment?.add(LoanAttachments(id: item.id, name: fileName)); _loanFormModel.loanAttachment?.add(LoanAttachments(id: item.id, name: fileName));
} }
Utils.showLoading(context); Utils.showLoading(context);

@ -9,7 +9,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/plan_preventive_visit/plan_preventive_visit_model.dart'; import 'package:test_sa/models/plan_preventive_visit/plan_preventive_visit_model.dart';
import 'package:test_sa/models/service_request/supp_engineer_work_orders.dart'; import 'package:test_sa/models/service_request/supp_engineer_work_orders.dart';
import 'package:test_sa/models/service_request/supplier_details.dart'; import 'package:test_sa/models/service_request/supplier_details.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart'; import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
@ -244,7 +244,7 @@ class _ExternalDetailItemState extends State<ExternalDetailItem> {
}); });
widget.model.endDateTime = null; widget.model.endDateTime = null;
controller?.clear(); controller?.clear();
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: widget.model.startDateTime, startTime: widget.model.startDateTime,
endTime: widget.model.endDateTime, endTime: widget.model.endDateTime,
workingHoursController: controller!, workingHoursController: controller!,
@ -286,7 +286,7 @@ class _ExternalDetailItemState extends State<ExternalDetailItem> {
setState(() { setState(() {
widget.model.endDateTime = selectedDate; widget.model.endDateTime = selectedDate;
}); });
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: widget.model.startDateTime, startTime: widget.model.startDateTime,
endTime: widget.model.endDateTime, endTime: widget.model.endDateTime,
workingHoursController: controller!, workingHoursController: controller!,

@ -12,7 +12,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/plan_preventive_visit/plan_preventive_visit_model.dart'; import 'package:test_sa/models/plan_preventive_visit/plan_preventive_visit_model.dart';
import 'package:test_sa/models/ppm/ppm.dart'; import 'package:test_sa/models/ppm/ppm.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -50,7 +50,7 @@ class _UpdatePpmState extends State<UpdatePpm> with TickerProviderStateMixin {
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
ppmProvider.planPreventiveVisit?.preventiveVisitAttachments = []; ppmProvider.planPreventiveVisit?.preventiveVisitAttachments = [];
for (var item in ppmProvider.ppmPlanAttachments) { for (var item in ppmProvider.ppmPlanAttachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
ppmProvider.planPreventiveVisit?.preventiveVisitAttachments?.add(PreventiveVisitAttachments(id: item.id, attachmentName: fileName)); ppmProvider.planPreventiveVisit?.preventiveVisitAttachments?.add(PreventiveVisitAttachments(id: item.id, attachmentName: fileName));
} }

@ -20,7 +20,7 @@ import 'package:test_sa/models/new_models/floor.dart';
import 'package:test_sa/models/new_models/room_model.dart'; import 'package:test_sa/models/new_models/room_model.dart';
import 'package:test_sa/models/new_models/site.dart'; import 'package:test_sa/models/new_models/site.dart';
import 'package:test_sa/models/plan_preventive_visit/plan_preventive_visit_model.dart'; import 'package:test_sa/models/plan_preventive_visit/plan_preventive_visit_model.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart'; import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart'; import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart';

@ -7,7 +7,7 @@ import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/ppm/recurrent_wo.dart'; import 'package:test_sa/models/ppm/recurrent_wo.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart'; import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
import 'package:test_sa/new_views/common_widgets/working_time_tile.dart'; import 'package:test_sa/new_views/common_widgets/working_time_tile.dart';

@ -18,7 +18,7 @@ import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/new_models/department.dart'; import 'package:test_sa/models/new_models/department.dart';
import 'package:test_sa/models/new_models/floor.dart'; import 'package:test_sa/models/new_models/floor.dart';
import 'package:test_sa/models/service_request/pending_service_request_model.dart'; import 'package:test_sa/models/service_request/pending_service_request_model.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart'; import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
@ -80,7 +80,7 @@ class _CreateDeviceTransferRequestState extends State<CreateDeviceTransferReques
_formKey.currentState!.save(); _formKey.currentState!.save();
List<AssetTransferAttachment> attachement = []; List<AssetTransferAttachment> attachement = [];
for (var item in attachments) { for (var item in attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
attachement.add(AssetTransferAttachment(id: item.id, attachmentName: fileName)); attachement.add(AssetTransferAttachment(id: item.id, attachmentName: fileName));
} }
_transferModel.attachments = attachement; _transferModel.attachments = attachement;

@ -17,7 +17,7 @@ import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/new_models/assigned_employee.dart'; import 'package:test_sa/models/new_models/assigned_employee.dart';
import 'package:test_sa/models/new_models/assistant_employee.dart'; import 'package:test_sa/models/new_models/assistant_employee.dart';
import 'package:test_sa/models/timer_model.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/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart'; import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart';
import 'package:test_sa/modules/cm_module/views/forms/maintenance_request/components/assistant_employee_list.dart'; import 'package:test_sa/modules/cm_module/views/forms/maintenance_request/components/assistant_employee_list.dart';
@ -116,7 +116,7 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
} }
try { try {
for (var item in attachments) { for (var item in attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
_formModel.assetTransferAttachments!.add(AssetTransferAttachment(id: item.id, attachmentName: fileName)); _formModel.assetTransferAttachments!.add(AssetTransferAttachment(id: item.id, attachmentName: fileName));
_formModel.attachments = _formModel.assetTransferAttachments; _formModel.attachments = _formModel.assetTransferAttachments;
} }
@ -608,7 +608,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) { onUpdate((model) {
model.startDate = selectedDateTime; model.startDate = selectedDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate, startTime: model.startDate,
endTime: model.endDate, endTime: model.endDate,
workingHoursController: workingHoursController, workingHoursController: workingHoursController,
@ -653,7 +653,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) { onUpdate((model) {
model.endDate = endDateTime; model.endDate = endDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate, startTime: model.startDate,
endTime: model.endDate, endTime: model.endDate,
workingHoursController: workingHoursController, workingHoursController: workingHoursController,

@ -14,7 +14,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/generic_attachment_model.dart'; import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/timer_model.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/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -180,7 +180,7 @@ class _UpdateGasRefillRequestState extends State<UpdateGasRefillRequest> {
}); });
_formModel.gasRefillAttachments = []; _formModel.gasRefillAttachments = [];
for (var item in _attachments) { for (var item in _attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
_formModel.gasRefillAttachments?.add(GasRefillAttachments(id: item.id, gasRefillId: _formModel.id ?? 0, attachmentName: fileName)); _formModel.gasRefillAttachments?.add(GasRefillAttachments(id: item.id, gasRefillId: _formModel.id ?? 0, attachmentName: fileName));
} }

@ -17,7 +17,7 @@ import 'package:test_sa/models/new_models/room_model.dart';
import 'package:test_sa/models/new_models/task_request/task_request_model.dart'; import 'package:test_sa/models/new_models/task_request/task_request_model.dart';
import 'package:test_sa/models/new_models/task_request/task_type_model.dart'; import 'package:test_sa/models/new_models/task_request/task_type_model.dart';
import 'package:test_sa/models/service_request/pending_service_request_model.dart'; import 'package:test_sa/models/service_request/pending_service_request_model.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -451,7 +451,7 @@ class _CreateTaskViewState extends State<CreateTaskView> with TickerProviderStat
} }
} }
for (var item in attachments) { for (var item in attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
_addTaskModel?.attachments?.add(TaskJobAttachment(id: item.id, name: fileName)); _addTaskModel?.attachments?.add(TaskJobAttachment(id: item.id, name: fileName));
} }
TaskRequestProvider taskRequestProvider = Provider.of<TaskRequestProvider>(context, listen: false); TaskRequestProvider taskRequestProvider = Provider.of<TaskRequestProvider>(context, listen: false);

@ -9,7 +9,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart';
import 'package:test_sa/models/new_models/task_request/task_request_model.dart'; import 'package:test_sa/models/new_models/task_request/task_request_model.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
import 'package:test_sa/new_views/common_widgets/working_time_tile.dart'; import 'package:test_sa/new_views/common_widgets/working_time_tile.dart';
@ -187,7 +187,7 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
return sum; return sum;
} }
}); });
String totalHourString = (totalWorkingHours > 0.0) ? ServiceRequestUtils.formatTotalWorkingHours(totalWorkingHours) : totalWorkingHours.toString(); String totalHourString = (totalWorkingHours > 0.0) ? CMRequestUtils.formatTotalWorkingHours(totalWorkingHours) : totalWorkingHours.toString();
return RichText( return RichText(
text: TextSpan( text: TextSpan(

@ -20,7 +20,7 @@ import 'package:test_sa/models/new_models/building.dart';
import 'package:test_sa/models/new_models/department.dart'; import 'package:test_sa/models/new_models/department.dart';
import 'package:test_sa/models/new_models/floor.dart'; import 'package:test_sa/models/new_models/floor.dart';
import 'package:test_sa/models/new_models/task_request/task_request_model.dart'; import 'package:test_sa/models/new_models/task_request/task_request_model.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -250,7 +250,7 @@ class _UpdateTaskRequestState extends State<UpdateTaskRequest> {
taskAttachment.addAll(otherAttachments); taskAttachment.addAll(otherAttachments);
} }
for (var item in attachments) { for (var item in attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; String fileName = CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
taskAttachment.add(TaskJobAttachment(id: item.id, name: fileName)); taskAttachment.add(TaskJobAttachment(id: item.id, name: fileName));
} }
taskModel?.taskJobAttachments = taskAttachment; taskModel?.taskJobAttachments = taskAttachment;
@ -845,7 +845,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) { onUpdate((model) {
model.startDate = selectedDateTime; model.startDate = selectedDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate, startTime: model.startDate,
endTime: model.endDate, endTime: model.endDate,
workingHoursController: workingHoursController, workingHoursController: workingHoursController,
@ -890,7 +890,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) { onUpdate((model) {
model.endDate = endDateTime; model.endDate = endDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours( CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate, startTime: model.startDate,
endTime: model.endDate, endTime: model.endDate,
workingHoursController: workingHoursController, workingHoursController: workingHoursController,

@ -9,7 +9,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/generic_attachment_model.dart'; import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/traf_module/traf_request_model.dart'; import 'package:test_sa/modules/traf_module/traf_request_model.dart';
import 'package:test_sa/modules/traf_module/traf_request_provider.dart'; import 'package:test_sa/modules/traf_module/traf_request_provider.dart';
@ -230,7 +230,7 @@ class _UpdateTrafRequestPageState extends State<UpdateTrafRequestPage> {
trafRequest.attachments = []; trafRequest.attachments = [];
for (var item in attachments) { for (var item in attachments) {
String fileName = String fileName =
ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? ''; CMRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
trafRequest.attachments!.add( trafRequest.attachments!.add(
Attachments(id: item.id, trafId: item.id, attachmentName: fileName), Attachments(id: item.id, trafId: item.id, attachmentName: fileName),
); );

@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/views/widgets/total_working_time_detail_bottomsheet.dart'; import 'package:test_sa/views/widgets/total_working_time_detail_bottomsheet.dart';
@ -51,7 +51,7 @@ class WorkingTimeTile extends StatelessWidget {
), ),
), ),
Text( Text(
" ${ServiceRequestUtils.formatTotalWorkingHours(totalWorkingTime)}", " ${CMRequestUtils.formatTotalWorkingHours(totalWorkingTime)}",
style: Theme.of(context).textTheme.bodyMedium, style: Theme.of(context).textTheme.bodyMedium,
), ),
], ],

@ -15,7 +15,7 @@ import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/new_models/gas_refill_model.dart'; import 'package:test_sa/models/new_models/gas_refill_model.dart';
import 'package:test_sa/models/new_models/mapped_sites.dart'; import 'package:test_sa/models/new_models/mapped_sites.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -237,7 +237,7 @@ class _GasRefillRequestFormState extends State<GasRefillRequestForm> {
_gasModel.gasRefillDetails?.add(_currentDetails); _gasModel.gasRefillDetails?.add(_currentDetails);
_gasModel.gasRefillAttachments = []; _gasModel.gasRefillAttachments = [];
for (var item in attachments) { for (var item in attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name??'') ? ("${item.name??''.split("/").last}|${base64Encode(File(item.name??'').readAsBytesSync())}") :item.name??''; String fileName = CMRequestUtils.isLocalUrl(item.name??'') ? ("${item.name??''.split("/").last}|${base64Encode(File(item.name??'').readAsBytesSync())}") :item.name??'';
_gasModel.gasRefillAttachments?.add(GasRefillAttachments( _gasModel.gasRefillAttachments?.add(GasRefillAttachments(
id: item.id, gasRefillId: _gasModel.id ?? 0, attachmentName: fileName)); id: item.id, gasRefillId: _gasModel.id ?? 0, attachmentName: fileName));
} }
@ -340,7 +340,7 @@ class _GasRefillRequestFormState extends State<GasRefillRequestForm> {
// import 'package:flutter/material.dart'; // import 'package:flutter/material.dart';
// import 'package:fluttertoast/fluttertoast.dart'; // import 'package:fluttertoast/fluttertoast.dart';
// import 'package:provider/provider.dart'; // import 'package:provider/provider.dart';
// import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; // import 'package:test_sa/cm_module/utilities/cm_request_utils.dart';
// import 'package:test_sa/dashboard_latest/dashboard_provider.dart'; // import 'package:test_sa/dashboard_latest/dashboard_provider.dart';
// import 'package:test_sa/extensions/context_extension.dart'; // import 'package:test_sa/extensions/context_extension.dart';
// import 'package:test_sa/extensions/int_extensions.dart'; // import 'package:test_sa/extensions/int_extensions.dart';

@ -9,7 +9,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/models/enums/user_types.dart'; import 'package:test_sa/models/enums/user_types.dart';
import 'package:test_sa/modules/cm_module/views/nurse/create_new_request_view.dart'; import 'package:test_sa/modules/cm_module/create_cm_request.dart';
import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/create_equipment_internal_audit_form.dart'; import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/create_equipment_internal_audit_form.dart';
import 'package:test_sa/modules/internal_audit_module/pages/system_internal_audit/create_system_internal_audit_form.dart'; import 'package:test_sa/modules/internal_audit_module/pages/system_internal_audit/create_system_internal_audit_form.dart';
import 'package:test_sa/modules/loan_module/pages/create_loan_request_view.dart'; import 'package:test_sa/modules/loan_module/pages/create_loan_request_view.dart';

@ -10,7 +10,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart';
import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart';
import 'package:test_sa/modules/cm_module/views/service_request_detail_main_view.dart'; import 'package:test_sa/modules/cm_module/cm_detail_page.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/views/widgets/requests/request_status.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart';
@ -81,7 +81,7 @@ class ServiceRequestItemView extends StatelessWidget {
), ),
], ],
).toShadowContainer(context, withShadow: showShadow).onPress(() async { ).toShadowContainer(context, withShadow: showShadow).onPress(() async {
await Navigator.of(context).push(MaterialPageRoute(builder: (_) => ServiceRequestDetailMain(requestId: requestData!.id!))); await Navigator.of(context).push(MaterialPageRoute(builder: (_) => CMDetailPage(requestId: requestData!.id!)));
if (refreshData) { if (refreshData) {
Provider.of<DashBoardProvider>(context, listen: false).refreshDashboard(userType: Provider.of<SettingProvider>(context, listen: false).user!.type!, context: context); Provider.of<DashBoardProvider>(context, listen: false).refreshDashboard(userType: Provider.of<SettingProvider>(context, listen: false).user!.type!, context: context);
} }
@ -140,7 +140,7 @@ class ServiceRequestItemView extends StatelessWidget {
), ),
], ],
).toShadowContainer(context, withShadow: showShadow).onPress(() { ).toShadowContainer(context, withShadow: showShadow).onPress(() {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => ServiceRequestDetailMain(requestId: requestDetails!.id!))); Navigator.of(context).push(MaterialPageRoute(builder: (_) => CMDetailPage(requestId: requestDetails!.id!)));
}); });
} }

@ -13,7 +13,7 @@
// import 'package:test_sa/models/generic_attachment_model.dart'; // import 'package:test_sa/models/generic_attachment_model.dart';
// import 'package:test_sa/models/service_request/pending_service_request_model.dart'; // import 'package:test_sa/models/service_request/pending_service_request_model.dart';
// import 'package:test_sa/models/service_request/service_request.dart'; // import 'package:test_sa/models/service_request/service_request.dart';
// import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; // import 'package:test_sa/modules/cm_module/utilities/cm_request_utils.dart';
// import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; // import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
// import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart'; // import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart';
// import 'package:test_sa/providers/service_request_providers/requested_through_provider.dart'; // import 'package:test_sa/providers/service_request_providers/requested_through_provider.dart';

@ -4,7 +4,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/service_request/pending_service_request_model.dart'; import 'package:test_sa/models/service_request/pending_service_request_model.dart';
import 'package:test_sa/modules/cm_module/views/service_request_detail_main_view.dart'; import 'package:test_sa/modules/cm_module/cm_detail_page.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
import 'package:test_sa/views/widgets/sound/sound_player.dart'; import 'package:test_sa/views/widgets/sound/sound_player.dart';
@ -63,7 +63,7 @@ class PendingServiceRequestScreen extends StatelessWidget {
], ],
), ),
).onPress(() { ).onPress(() {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => ServiceRequestDetailMain(requestId: pendingAssetServiceRequest.details![index].id ?? 0))); Navigator.of(context).push(MaterialPageRoute(builder: (_) => CMDetailPage(requestId: pendingAssetServiceRequest.details![index].id ?? 0)));
}))); })));
} }
} }

@ -17,7 +17,7 @@ import 'package:test_sa/models/device/asset.dart';
import 'package:test_sa/models/generic_attachment_model.dart'; import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/service_request/service_report.dart'; import 'package:test_sa/models/service_request/service_report.dart';
import 'package:test_sa/models/service_request/service_request.dart'; import 'package:test_sa/models/service_request/service_request.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart'; import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart';
import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart'; import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart';
@ -411,7 +411,7 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
_serviceReport.attachmentsWorkOrder ??= []; _serviceReport.attachmentsWorkOrder ??= [];
if (attachments.isEmpty) _serviceReport.attachmentsWorkOrder = []; if (attachments.isEmpty) _serviceReport.attachmentsWorkOrder = [];
for (var item in attachments) { for (var item in attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name??'') ? ("${item.name??''.split("/").last}|${base64Encode(File(item.name??'').readAsBytesSync())}") :item.name??''; String fileName = CMRequestUtils.isLocalUrl(item.name??'') ? ("${item.name??''.split("/").last}|${base64Encode(File(item.name??'').readAsBytesSync())}") :item.name??'';
_serviceReport.attachmentsWorkOrder!.add(Attachment(id: item.id, name: fileName)); _serviceReport.attachmentsWorkOrder!.add(Attachment(id: item.id, name: fileName));
} }
final user = Provider.of<UserProvider>(context, listen: false).user!; final user = Provider.of<UserProvider>(context, listen: false).user!;

@ -8,7 +8,7 @@ import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/timer_model.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/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/views/widgets/date_and_time/date_picker.dart'; import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
import '../../../new_views/app_style/app_color.dart'; import '../../../new_views/app_style/app_color.dart';
@ -273,7 +273,7 @@ class _AppTimerState extends State<AppTimer> {
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
ServiceRequestUtils.formatTimerDurationCM(_tempPickerTimer!.durationInSecond!.round()).bodyText(context).custom(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), CMRequestUtils.formatTimerDurationCM(_tempPickerTimer!.durationInSecond!.round()).bodyText(context).custom(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
"Start at: ${_tempPickerTimer!.startAt!.toIso8601String().toFirstActionFormat}\nEnd at: ${_tempPickerTimer!.endAt!.toIso8601String().toFirstActionFormat}".tinyFont(context), "Start at: ${_tempPickerTimer!.startAt!.toIso8601String().toFirstActionFormat}\nEnd at: ${_tempPickerTimer!.endAt!.toIso8601String().toFirstActionFormat}".tinyFont(context),
], ],
).expanded, ).expanded,

@ -5,7 +5,7 @@ import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.dart'; import 'package:test_sa/models/new_models/work_order_detail_model.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
class TotalWorkingTimeDetailBottomSheet extends StatelessWidget { class TotalWorkingTimeDetailBottomSheet extends StatelessWidget {
@ -60,7 +60,7 @@ class TotalWorkingTimeDetailBottomSheet extends StatelessWidget {
text: TextSpan( text: TextSpan(
text: "Duration: ", text: "Duration: ",
style: Theme.of(context).textTheme.bodySmall?.copyWith(color: context.isDark ? null : AppColor.neutral20, fontWeight: FontWeight.w500), style: Theme.of(context).textTheme.bodySmall?.copyWith(color: context.isDark ? null : AppColor.neutral20, fontWeight: FontWeight.w500),
children: [TextSpan(text: " ${ServiceRequestUtils.formatTimerDuration(totalWorkingHours.round())}", style: Theme.of(context).textTheme.bodySmall)])), children: [TextSpan(text: " ${CMRequestUtils.formatTimerDuration(totalWorkingHours.round())}", style: Theme.of(context).textTheme.bodySmall)])),
], ],
); );
}).expanded, }).expanded,

Loading…
Cancel
Save