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/models/device/device_transfer.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/pm_module/ppm_wo/ppm_details_page.dart';
import 'package:test_sa/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart';
@ -101,13 +101,13 @@ class FirebaseNotificationManger {
break;
//these three request are same corrective maintenance....
case "3":
serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString()));
serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()));
break;
case "8":
serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString()));
serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()));
break;
case "11":
serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString()));
serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()));
break;
case "7":
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_types_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/views/nurse/create_new_request_view.dart';
import 'package:test_sa/modules/cm_module/cm_detail_provider.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/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';
@ -204,7 +204,7 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider(create: (_) => NotificationsProvider()),
//new providers according to new Api's..
ChangeNotifierProvider(create: (_) => DashBoardProvider()),
ChangeNotifierProvider(create: (_) => ServiceRequestDetailProvider()),
ChangeNotifierProvider(create: (_) => CMDetailProvider()),
ChangeNotifierProvider(create: (_) => ClassificationLookupProvider()),
ChangeNotifierProvider(create: (_) => RecommendationLookupProvider()),
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/pages/search_asset_view.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/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart';
@ -404,7 +404,7 @@ class _AssetInventoryFormViewState extends State<AssetInventoryFormView> {
_scannedAssetModel?.assetInventoryDetailAssetAttachments = [];
// try {
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));
}
// // } 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/work_order_next_step.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/cx_module/chat/chat_page.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/common_widgets/default_app_bar.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
import 'components/history_log_view.dart';
import 'components/service_request_detail_view.dart';
import 'views/components/history_log_view.dart';
import 'views/components/service_request_detail_view.dart';
class ServiceRequestDetailMain extends StatefulWidget {
class CMDetailPage extends StatefulWidget {
final int requestId;
ServiceRequestDetailMain({Key? key, required this.requestId}) : super(key: key);
CMDetailPage({Key? key, required this.requestId}) : super(key: key);
@override
_ServiceRequestDetailMainState createState() {
return _ServiceRequestDetailMainState();
_CMDetailPageState createState() {
return _CMDetailPageState();
}
}
class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
late ServiceRequestDetailProvider _requestProvider;
class _CMDetailPageState extends State<CMDetailPage> {
late CMDetailProvider _requestProvider;
static const int moduleId = 1;
@ -47,7 +47,7 @@ class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
Future<void> getInitialData() async {
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);
if (isNurse && (_requestProvider.currentWorkOrder?.data?.nextStep?.workOrderNextStepEnum == WorkOrderNextStepEnum.waitingForRequesterToConfirm)) {
ServiceRequestBottomSheet.nurseVerifyArrivalBottomSheet(context: context);
@ -65,7 +65,7 @@ class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
}
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) {
requestDetailProvider.stopTimer();
}
@ -89,13 +89,13 @@ class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
},
actions: [
if (context.userProvider.isEngineer || context.userProvider.isNurse)
Selector<ServiceRequestDetailProvider, bool>(
Selector<CMDetailProvider, bool>(
selector: (_, myModel) => myModel.isLoading, // Selects only the userName
builder: (_, isLoading, __) {
if (isLoading) {
return const SizedBox();
} else {
ServiceRequestDetailProvider provider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
CMDetailProvider provider = Provider.of<CMDetailProvider>(context, listen: false);
int? statusValue = provider.currentWorkOrder?.data?.status?.value;
if (statusValue == 2 || statusValue == 3 || statusValue == 5 || statusValue == 6) {
getChatToken(moduleId, provider.currentWorkOrder?.data?.workOrderNo ?? "");
@ -182,12 +182,12 @@ class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
void getChatToken(int moduleId, String title) {
ChatProvider cProvider = Provider.of<ChatProvider>(context, listen: false);
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 receiver = context.userProvider.isNurse
? 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);
}

@ -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/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;
int lastVisitedRequestActivityId = -1;
@ -266,7 +266,7 @@ class ServiceRequestDetailProvider extends ChangeNotifier {
woAttachments.addAll(otherAttachment);
}
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));
}

@ -18,9 +18,9 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.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({
required DateTime? startTime,
required DateTime? endTime,
@ -63,7 +63,6 @@ class ServiceRequestUtils {
}
static String formatTimerDuration(int seconds) {
int hours = seconds ~/ 3600;
int minutes = (seconds % 3600) ~/ 60;
int remainingSeconds = seconds % 60;
@ -108,6 +107,7 @@ class ServiceRequestUtils {
return formattedDuration.trim();
}
static String formatTotalWorkingHours(double timeInHours) {
// Convert hours seconds
int totalSeconds = (timeInHours * 3600).round();
@ -133,12 +133,9 @@ class ServiceRequestUtils {
return formattedDuration.trim();
}
static void getQrCode({required BuildContext context}) async {
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);
Navigator.pop(context);
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/service_request/pending_service_request_model.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/utilities/service_request_utils.dart';
import 'package:test_sa/modules/cm_module/cm_detail_provider.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/new_views/app_style/app_color.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/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 {
static const String id = "/create-new-request";
@ -52,7 +52,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
late UserProvider _userProvider;
late SettingProvider _settingProvider;
late ServiceRequestsProvider _serviceRequestsProvider;
late ServiceRequestDetailProvider _requestDetailProvider;
late CMDetailProvider _requestDetailProvider;
late ServiceRequest _serviceRequest;
final List<GenericAttachmentModel> _deviceImages = [];
final bool _isLoading = false;
@ -70,7 +70,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
_commentController = TextEditingController();
_userProvider = Provider.of<UserProvider>(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();
if (_serviceRequestsProvider.currentSelectedRequest != null) {
_serviceRequest = _serviceRequestsProvider.currentSelectedRequest!;
@ -352,7 +352,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
}
List<WorkOrderAttachments> attachement = [];
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));
}
_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/lookup.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/bottom_sheets/service_request_bottomsheet.dart';
import 'package:test_sa/modules/cm_module/views/components/verify_arrival_view.dart';
@ -39,7 +39,7 @@ class FooterActionButton {
Lookup? status,
required UserProvider userProvider,
bool isEmpIsAssigned = false}) {
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
bool showMarkAsFixedButton = activities.isEmpty
? false
: activities.any((object) =>
@ -221,7 +221,7 @@ class FooterActionButton {
// maxWidth: true,
buttonColor: AppColor.green70,
onPressed: () {
bool isValid = ServiceRequestBottomSheet.validateAssetSituation(Provider.of<ServiceRequestDetailProvider>(context, listen: false));
bool isValid = ServiceRequestBottomSheet.validateAssetSituation(Provider.of<CMDetailProvider>(context, listen: false));
if (isValid) {
showDialog(
context: context,
@ -291,7 +291,7 @@ class FooterActionButton {
buttonColor: AppColor.green70,
onPressed: () {
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);
if (value) {
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/supp_engineer_work_orders.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/utilities/service_request_utils.dart';
import 'package:test_sa/modules/cm_module/cm_detail_provider.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/forms/maintenance_request/maintenance_request_main.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))],
),
//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;
requestDetailProvider.lastVisitedRequestActivityId = (activities.isNotEmpty ? activities.last.id : -1)!;
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 &&
userProvider.user!.type == UsersTypes.engineer &&
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 =
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,
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),
),
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 = {};
try {
// 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()));
}
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(
id: activity.id,
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/text_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/new_views/app_style/app_color.dart';
import 'package:test_sa/views/widgets/requests/request_status.dart';
@ -16,7 +16,7 @@ class AssetDetailCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, snapshot) {
return Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, snapshot) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
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/lookup.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart';
import 'package:test_sa/modules/cm_module/cm_detail_provider.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/spare_part/spare_part_request.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
@ -52,7 +52,7 @@ class ServiceRequestBottomSheet {
return buildBottomSheetParent(
context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
@ -88,7 +88,7 @@ class ServiceRequestBottomSheet {
requestDetailProvider.fixRemotelyHelperModel?.endDate = null;
requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel);
_workingHoursController.clear();
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.fixRemotelyHelperModel?.startDate,
endTime: requestDetailProvider.fixRemotelyHelperModel?.endDate,
workingHoursController: _workingHoursController,
@ -130,7 +130,7 @@ class ServiceRequestBottomSheet {
}
requestDetailProvider.fixRemotelyHelperModel?.endDate = selectedDateTime;
requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel);
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.fixRemotelyHelperModel?.startDate,
endTime: requestDetailProvider.fixRemotelyHelperModel?.endDate,
workingHoursController: _workingHoursController,
@ -228,7 +228,7 @@ class ServiceRequestBottomSheet {
return buildBottomSheetParent(
context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, requestDetailProvider, child) {
childWidget: Consumer<CMDetailProvider>(builder: (context, requestDetailProvider, child) {
if (requestDetailProvider.needVisitHelperModel?.comment != null) {
_commentController.text = requestDetailProvider.needVisitHelperModel!.comment!;
}
@ -303,7 +303,7 @@ class ServiceRequestBottomSheet {
DateTime updatedDateTime = visitDateTime.subtract(Duration(minutes: reminderMinutes ?? 0));
if (updatedDateTime.isAfter(DateTime.now())) {
// ServiceRequestUtils.scheduleNotification(context: context, scheduleDateTime: updatedDateTime);
ServiceRequestUtils.addOrUpdateEventToCalendar(
CMRequestUtils.addOrUpdateEventToCalendar(
context: context,
start: updatedDateTime,
end: visitDateTime,
@ -391,7 +391,7 @@ class ServiceRequestBottomSheet {
return buildBottomSheetParent(
context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(
childWidget: Consumer<CMDetailProvider>(
builder: (context, requestDetailProvider, child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
@ -436,7 +436,7 @@ class ServiceRequestBottomSheet {
DateTime visitDateTime = DateTime.parse(requestDetailProvider.currentWorkOrder!.data!.needAVisitDateTime.toString());
DateTime updatedDateTime = visitDateTime.subtract(Duration(minutes: selectedReminderTime.value ?? 0));
if (updatedDateTime.isAfter(DateTime.now())) {
ServiceRequestUtils.addOrUpdateEventToCalendar(
CMRequestUtils.addOrUpdateEventToCalendar(
context: context,
start: updatedDateTime,
end: visitDateTime,
@ -467,7 +467,7 @@ class ServiceRequestBottomSheet {
static Future getQRCodeBottomSheet({required BuildContext context}) async {
// Show the loading dialog while fetching QR code
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);
Navigator.pop(context);
@ -571,7 +571,7 @@ class ServiceRequestBottomSheet {
TextEditingController _commentController = TextEditingController();
return buildBottomSheetParent(
context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, requestDetailProvider, child) {
childWidget: Consumer<CMDetailProvider>(builder: (context, requestDetailProvider, child) {
return Column(
children: [
const SizedBox().indicatorWidget(),
@ -677,14 +677,14 @@ class ServiceRequestBottomSheet {
void onItemTap({required int index, required BuildContext context}) {
switch (index) {
case 0:
Provider.of<ServiceRequestDetailProvider>(context, listen: false).sparePartHelperModel = SparePartHelperModel();
Provider.of<CMDetailProvider>(context, listen: false).sparePartHelperModel = SparePartHelperModel();
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => const SparePartRequest()),
);
break;
case 1:
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
requestDetailProvider.activityMaintenanceHelperModel = ActivityMaintenanceHelperModel(
workOrderId: requestDetailProvider.currentWorkOrder?.data?.requestId,
id: 0,
@ -808,7 +808,7 @@ class ServiceRequestBottomSheet {
loading: false,
onPressed: () {
Navigator.pop(context);
Provider.of<ServiceRequestDetailProvider>(context, listen: false).sparePartHelperModel = SparePartHelperModel();
Provider.of<CMDetailProvider>(context, listen: false).sparePartHelperModel = SparePartHelperModel();
Navigator.pushReplacement(
context,
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!.value == 1 || requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus!.value == 2) {
// if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.returnToService == null) {
@ -842,7 +842,7 @@ class ServiceRequestBottomSheet {
TextEditingController _commentController = TextEditingController();
return buildBottomSheetParent(
context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
@ -893,7 +893,7 @@ class ServiceRequestBottomSheet {
TextEditingController _feedBackController = TextEditingController();
return buildBottomSheetParent(
context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
@ -954,7 +954,7 @@ class ServiceRequestBottomSheet {
String? nurseSignature;
return buildBottomSheetParent(
context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
@ -1068,7 +1068,7 @@ class ServiceRequestBottomSheet {
static Future nurseVerifyArrivalBottomSheet({required BuildContext context}) {
return buildBottomSheetParent(
context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
@ -1129,7 +1129,7 @@ class ServiceRequestBottomSheet {
return buildBottomSheetParent(
context: context,
isDismissible: false,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return WillPopScope(
onWillPop: () async {
// Return `false` to block back navigation
@ -1178,7 +1178,7 @@ class ServiceRequestBottomSheet {
String? nurseSignature;
return buildBottomSheetParent(
context: context,
childWidget: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
childWidget: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
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/models/enums/user_types.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart';
import 'package:test_sa/modules/cm_module/cm_detail_provider.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/views/widgets/buttons/app_back_button.dart';
@ -23,7 +23,7 @@ class HistoryLogView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, requestProvider, _) {
return Consumer<CMDetailProvider>(builder: (context, requestProvider, _) {
return requestProvider.isLoading
? const CircularProgressIndicator(color: AppColor.primary10).center
: (requestProvider.currentWorkOrder == null || (requestProvider.currentWorkOrder?.data?.workOrderHistory.isEmpty ?? true)
@ -59,7 +59,7 @@ class HistoryLogView extends StatelessWidget {
if (lastStatus == currentStatus) {
if (i + 1 < workOrderHistory.length) {
nextDate = workOrderHistory[i + 1].date;
String timeDifference = ServiceRequestUtils.calculateTimeDifference(object.date!, nextDate!);
String timeDifference = CMRequestUtils.calculateTimeDifference(object.date!, nextDate!);
object.timeDifference = timeDifference;
} else {
object.timeDifference = ''; // Empty string for the last action
@ -70,7 +70,7 @@ class HistoryLogView extends StatelessWidget {
lastStatus = currentStatus;
if (i + 1 < workOrderHistory.length) {
nextDate = workOrderHistory[i + 1].date;
String timeDifference = ServiceRequestUtils.calculateTimeDifference(object.date!, nextDate!);
String timeDifference = CMRequestUtils.calculateTimeDifference(object.date!, nextDate!);
object.timeDifference = timeDifference;
} else {
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/text_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 'bottom_sheets/service_request_bottomsheet.dart';
@ -26,7 +26,7 @@ class _InitialVisitCardState extends State<InitialVisitCard> {
}
@override
Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, snapshot) {
return Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, snapshot) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
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/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/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/cost/cost_detail_form_screen.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);
return Consumer<ServiceRequestDetailProvider>(builder: (pContext, requestProvider, _) {
return Consumer<CMDetailProvider>(builder: (pContext, requestProvider, _) {
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 =
@ -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(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@ -495,7 +495,7 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
).toShadowContainer(context, padding: 12);
}
Widget costCard(BuildContext context, ServiceRequestDetailProvider provider) {
Widget costCard(BuildContext context, CMDetailProvider provider) {
return Column(
mainAxisSize: MainAxisSize.min,
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 &&
userProvider.user?.type == UsersTypes.engineer &&
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) ||
requestDetailProvider.isReadOnlyRequest) {
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/text_extensions.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';
class TimerWidget extends StatefulWidget {
@ -20,7 +20,7 @@ class _TimerWidgetState extends State<TimerWidget> {
@override
Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(
return Consumer<CMDetailProvider>(
builder: (context, provider, child) {
return Positioned(
left: position.dx,
@ -44,7 +44,7 @@ class _TimerWidgetState extends State<TimerWidget> {
);
}
Widget buildTimerWidget(ServiceRequestDetailProvider provider) {
Widget buildTimerWidget(CMDetailProvider provider) {
return Container(
padding: EdgeInsets.all(8.toScreenHeight),
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/text_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/utilities/service_request_utils.dart';
import 'package:test_sa/modules/cm_module/cm_detail_provider.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/common_widgets/app_lazy_loading.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 {
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
await requestDetailProvider.getArrivalVerificationType();
}
@ -47,7 +47,7 @@ class _VerifyArrivalViewState extends State<VerifyArrivalView> {
return Scaffold(
appBar: DefaultAppBar(title: context.translation.verifyArrival),
//backgroundColor: const Color(0xfff8f9fb),
body: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
body: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return SafeArea(
child: requestDetailProvider.isArrivalLoading || requestDetailProvider.isLoading
? 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) {
case 1:
int? status;
@ -214,13 +214,13 @@ class _VerifyArrivalViewState extends State<VerifyArrivalView> {
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: '');
requestDetailProvider.isVerifyArrivalBottomSheetOpen = true;
ServiceRequestBottomSheet.waitingForApprovalBottomSheet(context: context).then((value) {
requestDetailProvider.isVerifyArrivalBottomSheetOpen = false;
});
bool? isArrived = await ServiceRequestUtils.listenForApproval();
bool? isArrived = await CMRequestUtils.listenForApproval();
if (requestDetailProvider.isVerifyArrivalBottomSheetOpen) {
if (isArrived == null) {
"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/text_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/common_widgets/app_lazy_loading.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
@ -47,7 +47,7 @@ class VerifyOtpView extends StatelessWidget {
),
),
onCompleted: (pin) async {
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
int? status;
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
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/helper_data_models/asset_retired/asset_retired_model.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/utilities/service_request_utils.dart';
import 'package:test_sa/modules/cm_module/cm_detail_provider.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/new_views/app_style/app_color.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 {
ServiceRequestDetailProvider? _requestDetailProvider;
CMDetailProvider? _requestDetailProvider;
RetirementTypeProvider? _retirementTypeProvider;
bool _isLoading = false;
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
@ -43,7 +43,7 @@ class _AssetRetiredState extends State<AssetRetired> with TickerProviderStateMix
void initState() {
super.initState();
if (context.mounted) {
_requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
_requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
_retirementTypeProvider = Provider.of<RetirementTypeProvider>(context, listen: false);
_requestDetailProvider?.assetRetiredHelperModel = AssetRetiredHelperModel(id: 0, workOrderId: _requestDetailProvider?.currentWorkOrder!.data!.requestId, activityAssetToBeRetiredAttachments: []);
_retirementTypeProvider?.serviceRequestId = _requestDetailProvider?.currentWorkOrder!.data!.requestId.toString();
@ -58,7 +58,7 @@ class _AssetRetiredState extends State<AssetRetired> with TickerProviderStateMix
return Scaffold(
key: _scaffoldKey,
appBar: DefaultAppBar(title: context.translation.assetToBeRetired),
body: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
body: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return LoadingManager(
isLoading: _isLoading,
isFailedLoading: false,
@ -124,7 +124,7 @@ class _AssetRetiredState extends State<AssetRetired> with TickerProviderStateMix
requestDetailProvider.assetRetiredHelperModel?.activityAssetToBeRetiredAttachments = [];
for (var item in _attachments) {
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));
}
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/lookup.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/new_views/app_style/app_color.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 {
ServiceRequestDetailProvider? _requestDetailProvider;
CMDetailProvider? _requestDetailProvider;
LoanAvailabilityProvider? _loanAvailabilityProvider;
EquipmentStatusProvider? _equipmentStatusProvider;
ReasonProvider? _reasonProvider;
@ -101,7 +101,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
@override
Widget build(BuildContext context) {
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!.reset();
_loanAvailabilityProvider = Provider.of<LoanAvailabilityProvider>(context, listen: false);
@ -119,7 +119,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
return Scaffold(
key: _scaffoldKey,
appBar: DefaultAppBar(title: context.translation.updateAssetDetails),
body: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
body: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
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;
if (!widget.isEdit) {
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/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/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/new_views/app_style/app_color.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 {
ServiceRequestDetailProvider? _requestDetailProvider;
CMDetailProvider? _requestDetailProvider;
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
@ -55,14 +55,14 @@ class _CostDetailFormScreenState extends State<CostDetailFormScreen> with Ticker
@override
Widget build(BuildContext context) {
if (_requestDetailProvider == null) {
_requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
_requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
assignValues();
}
return Scaffold(
key: _scaffoldKey,
appBar: const DefaultAppBar(title: "Cost Details"),
body: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
body: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
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;
if (!widget.isEdit) {
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/helper/utils.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart';
import 'package:test_sa/modules/cm_module/cm_detail_provider.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/common_widgets/app_text_form_field.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 {
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) {
isExpanded = true;
setState(() {});
@ -60,7 +60,7 @@ class _AssistantEmployeeCardState extends State<AssistantEmployeeCard> {
@override
Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, requestDetailProvider, child) {
return Consumer<CMDetailProvider>(builder: (context, requestDetailProvider, child) {
return Column(
children: [
SizedBox(
@ -131,7 +131,7 @@ class _AssistantEmployeeCardState extends State<AssistantEmployeeCard> {
requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.startDate = selectedDateTime;
requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel);
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.startDate,
endTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.endDate,
workingHoursController: _workingHoursController,
@ -174,7 +174,7 @@ class _AssistantEmployeeCardState extends State<AssistantEmployeeCard> {
requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.endDate = selectedDate;
requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel);
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.startDate,
endTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.endDate,
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/widget_extensions.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.dart';
import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart';
import 'package:test_sa/modules/cm_module/utilities/service_request_utils.dart';
import 'package:test_sa/modules/cm_module/cm_detail_provider.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/common_widgets/app_filled_button.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
@ -67,7 +67,7 @@ class _ServiceRequestAssistantEmployeeListState extends State<ServiceRequestAssi
@override
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(
itemCount: _list.length + 1,
shrinkWrap: true,
@ -125,7 +125,7 @@ class EmployeeCard extends StatelessWidget {
@override
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(
children: [
@ -200,7 +200,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) {
model.startDate = selectedDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate,
endTime: model.endDate,
workingHoursController: workingHoursController,
@ -245,7 +245,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) {
model.endDate = endDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate,
endTime: model.endDate,
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/supp_engineer_work_orders.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/utilities/service_request_utils.dart';
import 'package:test_sa/modules/cm_module/cm_detail_provider.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/common_widgets/app_text_form_field.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() {
ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
CMDetailProvider requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
_workingHoursController.text =
requestDetailProvider.activityMaintenanceHelperModel?.supplierWorkingHour != null ? requestDetailProvider.activityMaintenanceHelperModel!.supplierWorkingHour.toString() : '';
}
@override
Widget build(BuildContext context) {
return Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
return Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return IgnorePointer(
ignoring: requestDetailProvider.isReadOnlyRequest,
child: Column(
@ -162,7 +162,7 @@ class _ExternalMaintenanceRequestState extends State<ExternalMaintenanceRequest>
requestDetailProvider.activityMaintenanceHelperModel?.supplierEndTime = null;
requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel);
_workingHoursController.clear();
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.activityMaintenanceHelperModel!.supplierStartTime,
endTime: requestDetailProvider.activityMaintenanceHelperModel!.endTime,
workingHoursController: _workingHoursController,
@ -224,7 +224,7 @@ class _ExternalMaintenanceRequestState extends State<ExternalMaintenanceRequest>
requestDetailProvider.activityMaintenanceHelperModel?.supplierEndTime = selectedDate;
requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel);
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: requestDetailProvider.activityMaintenanceHelperModel!.supplierStartTime,
endTime: requestDetailProvider.activityMaintenanceHelperModel!.supplierEndTime,
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/widget_extensions.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/new_views/app_style/app_color.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 {
ServiceRequestDetailProvider? _requestDetailProvider;
CMDetailProvider? _requestDetailProvider;
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
final TextEditingController _workingHoursController = TextEditingController();
final TextEditingController _travellingHoursController = TextEditingController();
@ -38,7 +38,7 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
@override
void initState() {
_requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
_requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
super.initState();
calculateWorkingTime();
WidgetsBinding.instance.addPostFrameCallback((_) {
@ -81,7 +81,7 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
@override
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)
? true
: 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, _) {
try {
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/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/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/new_views/app_style/app_color.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 {
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 ?? ActivityMaintenanceAssistantEmployees();
requestDetailProvider.activityMaintenanceHelperModel?.assistantEmployList = requestDetailProvider.activityMaintenanceHelperModel?.assistantEmployList ?? [];
@ -48,7 +48,7 @@ class _MaintenanceRequestFormState extends State<MaintenanceRequestForm> with Si
@override
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;
return Scaffold(
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!)) {
requestDetailProvider.activityMaintenanceHelperModel?.activityMaintenanceTimers = requestDetailProvider.activityMaintenanceHelperModel?.activityMaintenanceTimers ?? [];
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/service_request/spare_parts.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/utilities/service_request_utils.dart';
import 'package:test_sa/modules/cm_module/cm_detail_provider.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/bottom_sheets/service_request_bottomsheet.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 {
ServiceRequestDetailProvider? _requestDetailProvider;
CMDetailProvider? _requestDetailProvider;
PartsProvider? _partsProvider;
bool _isLoading = false;
List<SparePart> _spareParts = [];
@ -61,7 +61,7 @@ class _SparePartRequestState extends State<SparePartRequest> with TickerProvider
void initState() {
super.initState();
_partsProvider = Provider.of<PartsProvider>(context, listen: false);
_requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
_requestDetailProvider = Provider.of<CMDetailProvider>(context, listen: false);
_requestDetailProvider?.sparePartHelperModel = SparePartHelperModel(
id: _requestDetailProvider?.sparePartHelperModel?.id ?? 0,
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: []);
_partQtyController.clear();
_installQtyController.clear();
@ -121,7 +121,7 @@ class _SparePartRequestState extends State<SparePartRequest> with TickerProvider
return Scaffold(
key: _scaffoldKey,
appBar: DefaultAppBar(title: context.translation.sparePartRequest),
body: Consumer<ServiceRequestDetailProvider>(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) {
body: Consumer<CMDetailProvider>(builder: (context, CMDetailProvider requestDetailProvider, child) {
return Form(
key: _formKey,
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) {
"Please select spare part".showToast;
return;
@ -336,7 +336,7 @@ class _SparePartRequestState extends State<SparePartRequest> with TickerProvider
requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.clear();
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(
SparePartAttachments(id: item.id, name: fileName),
);
@ -386,7 +386,7 @@ class PartDetailBottomSheetSheet extends StatelessWidget {
children: [
8.height,
'Parts Availability'.heading6(context).paddingOnly(top: 12, start: 12),
Consumer<ServiceRequestDetailProvider>(builder: (context, requestDetailProvider, child) {
Consumer<CMDetailProvider>(builder: (context, requestDetailProvider, child) {
return requestDetailProvider.isLoading
? const CircularProgressIndicator(color: AppColor.primary10).center
: 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/helper/utils.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/cx_module/chat/chat_api_client.dart';
import 'package:test_sa/modules/cx_module/chat/chat_provider.dart';
@ -88,13 +88,13 @@ class _ChatPageState extends State<ChatPage> {
// ? assigneeEmployeeNumber
// :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!;
receiver = context.userProvider.isNurse
? assigneeEmployeeNumber
: (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);
}

@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/extensions/context_extension.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_provider.dart';
@ -54,13 +54,13 @@ class _ChatWidgetState extends State<ChatWidget> {
ChatProvider cProvider = Provider.of<ChatProvider>(context, listen: false);
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 receiver = context.userProvider.isNurse
? assigneeEmployeeNumber
: (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);

@ -10,7 +10,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/generic_attachment_model.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/internal_audit_module/models/equipment_internal_audit_form_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();
_equipmentinternalAuditModel.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));
}
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/models/generic_attachment_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/internal_audit_module/models/internal_audit_timer_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();
formModel.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(
InternalAuditAttachments(
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/helper_data_models/workorder/work_order_helper_models.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/internal_audit_module/models/equipment_internal_audit_form_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();
_model.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));
}
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/models/generic_attachment_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/internal_audit_module/models/internal_audit_timer_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();
formModel.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(
InternalAuditAttachments(
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_type_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/loan_module/models/loan_form_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 = [];
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));
}
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/service_request/supp_engineer_work_orders.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/common_widgets/app_filled_button.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;
controller?.clear();
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: widget.model.startDateTime,
endTime: widget.model.endDateTime,
workingHoursController: controller!,
@ -286,7 +286,7 @@ class _ExternalDetailItemState extends State<ExternalDetailItem> {
setState(() {
widget.model.endDateTime = selectedDate;
});
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: widget.model.startDateTime,
endTime: widget.model.endDateTime,
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/models/plan_preventive_visit/plan_preventive_visit_model.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/new_views/app_style/app_color.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());
ppmProvider.planPreventiveVisit?.preventiveVisitAttachments = [];
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));
}

@ -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/site.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/common_widgets/app_text_form_field.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/widget_extensions.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/common_widgets/app_text_form_field.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/floor.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/new_views/app_style/app_color.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();
List<AssetTransferAttachment> attachement = [];
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));
}
_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/assistant_employee.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/bottom_sheets/service_request_bottomsheet.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 {
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.attachments = _formModel.assetTransferAttachments;
}
@ -608,7 +608,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) {
model.startDate = selectedDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate,
endTime: model.endDate,
workingHoursController: workingHoursController,
@ -653,7 +653,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) {
model.endDate = endDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate,
endTime: model.endDate,
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/lookup.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/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -180,7 +180,7 @@ class _UpdateGasRefillRequestState extends State<UpdateGasRefillRequest> {
});
_formModel.gasRefillAttachments = [];
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));
}

@ -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_type_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/new_views/app_style/app_color.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) {
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));
}
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/models/all_requests_and_count_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/new_views/common_widgets/default_app_bar.dart';
import 'package:test_sa/new_views/common_widgets/working_time_tile.dart';
@ -187,7 +187,7 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
return sum;
}
});
String totalHourString = (totalWorkingHours > 0.0) ? ServiceRequestUtils.formatTotalWorkingHours(totalWorkingHours) : totalWorkingHours.toString();
String totalHourString = (totalWorkingHours > 0.0) ? CMRequestUtils.formatTotalWorkingHours(totalWorkingHours) : totalWorkingHours.toString();
return RichText(
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/floor.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/new_views/app_style/app_color.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);
}
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));
}
taskModel?.taskJobAttachments = taskAttachment;
@ -845,7 +845,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) {
model.startDate = selectedDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate,
endTime: model.endDate,
workingHoursController: workingHoursController,
@ -890,7 +890,7 @@ class EmployeeCard extends StatelessWidget {
onUpdate((model) {
model.endDate = endDateTime;
ServiceRequestUtils.calculateAndAssignWorkingHours(
CMRequestUtils.calculateAndAssignWorkingHours(
startTime: model.startDate,
endTime: model.endDate,
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/models/generic_attachment_model.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/traf_module/traf_request_model.dart';
import 'package:test_sa/modules/traf_module/traf_request_provider.dart';
@ -230,7 +230,7 @@ class _UpdateTrafRequestPageState extends State<UpdateTrafRequestPage> {
trafRequest.attachments = [];
for (var item in attachments) {
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(
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/int_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/views/widgets/total_working_time_detail_bottomsheet.dart';
@ -51,7 +51,7 @@ class WorkingTimeTile extends StatelessWidget {
),
),
Text(
" ${ServiceRequestUtils.formatTotalWorkingHours(totalWorkingTime)}",
" ${CMRequestUtils.formatTotalWorkingHours(totalWorkingTime)}",
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/new_models/gas_refill_model.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/new_views/app_style/app_color.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.gasRefillAttachments = [];
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(
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:fluttertoast/fluttertoast.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/extensions/context_extension.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/text_extensions.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/system_internal_audit/create_system_internal_audit_form.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/models/all_requests_and_count_model.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/views/widgets/requests/request_status.dart';
@ -81,7 +81,7 @@ class ServiceRequestItemView extends StatelessWidget {
),
],
).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) {
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(() {
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/service_request/pending_service_request_model.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/providers/service_request_providers/equipment_status_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/widget_extensions.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/views/widgets/sound/sound_player.dart';
@ -63,7 +63,7 @@ class PendingServiceRequestScreen extends StatelessWidget {
],
),
).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/service_request/service_report.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/providers/service_request_providers/equipment_status_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 ??= [];
if (attachments.isEmpty) _serviceReport.attachmentsWorkOrder = [];
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));
}
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/widget_extensions.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 '../../../new_views/app_style/app_color.dart';
@ -273,7 +273,7 @@ class _AppTimerState extends State<AppTimer> {
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
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),
],
).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/widget_extensions.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';
class TotalWorkingTimeDetailBottomSheet extends StatelessWidget {
@ -60,7 +60,7 @@ class TotalWorkingTimeDetailBottomSheet extends StatelessWidget {
text: TextSpan(
text: "Duration: ",
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,

Loading…
Cancel
Save