Remove loan availability

main_design2.0
zaid_daoud 2 years ago
parent 64c3912102
commit 3e3bdf2ce6

@ -1,73 +1,74 @@
import 'dart:convert'; /// Loan availability not required
// import 'dart:convert';
import 'package:flutter/cupertino.dart'; //
import 'package:flutter/material.dart'; // import 'package:flutter/cupertino.dart';
import 'package:http/http.dart'; // import 'package:flutter/material.dart';
import 'package:test_sa/controllers/api_routes/api_manager.dart'; // import 'package:http/http.dart';
import 'package:test_sa/controllers/api_routes/urls.dart'; // import 'package:test_sa/controllers/api_routes/api_manager.dart';
import 'package:test_sa/models/lookup.dart'; // import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/models/user.dart'; // import 'package:test_sa/models/lookup.dart';
// import 'package:test_sa/models/user.dart';
class ServiceLoanAvailabilityProvider extends ChangeNotifier { //
//reset provider data // class ServiceLoanAvailabilityProvider extends ChangeNotifier {
void reset() { // //reset provider data
_statuses = null; // void reset() {
_stateCode = null; // _statuses = null;
} // _stateCode = null;
// }
// state code of current request to defied error message //
// like 400 customer request failed // // state code of current request to defied error message
// 500 service not available // // like 400 customer request failed
int _stateCode; // // 500 service not available
// int _stateCode;
int get stateCode => _stateCode; //
// int get stateCode => _stateCode;
// contain user data //
// when user not login or register _user = null // // contain user data
List<Lookup> _statuses; // // when user not login or register _user = null
// List<Lookup> _statuses;
List<Lookup> get items => _statuses; //
// List<Lookup> get items => _statuses;
// when categories in-process _loading = true //
// done _loading = true // // when categories in-process _loading = true
// failed _loading = false // // done _loading = true
bool _loading; // // failed _loading = false
// bool _loading;
bool get isLoading => _loading; //
// bool get isLoading => _loading;
set isLoading(bool isLoading) { //
_loading = isLoading; // set isLoading(bool isLoading) {
notifyListeners(); // _loading = isLoading;
} // notifyListeners();
// }
/// return -2 if request in progress //
/// return -1 if error happen when sending request // /// return -2 if request in progress
/// return state code if request complete may be 200, 404 or 403 // /// return -1 if error happen when sending request
/// for more details check http state manager // /// return state code if request complete may be 200, 404 or 403
/// lib\controllers\http_status_manger\http_status_manger.dart // /// for more details check http state manager
Future<int> getData({String host, User user}) async { // /// lib\controllers\http_status_manger\http_status_manger.dart
if (_loading == true) return -2; // Future<int> getData({String host, User user}) async {
_loading = true; // if (_loading == true) return -2;
notifyListeners(); // _loading = true;
Response response; // notifyListeners();
try { // Response response;
response = await ApiManager.instance.get( // try {
URLs.getServiceLoanAvailability, // response = await ApiManager.instance.get(
); // URLs.getServiceLoanAvailability,
_stateCode = response.statusCode; // );
if (response.statusCode >= 200 && response.statusCode < 300) { // _stateCode = response.statusCode;
// client's request was successfully received // if (response.statusCode >= 200 && response.statusCode < 300) {
List categoriesListJson = json.decode(response.body)["data"]; // // client's request was successfully received
_statuses = categoriesListJson.map((e) => Lookup.fromJson(e)).toList(); // List categoriesListJson = json.decode(response.body)["data"];
} // _statuses = categoriesListJson.map((e) => Lookup.fromJson(e)).toList();
_loading = false; // }
notifyListeners(); // _loading = false;
return response.statusCode; // notifyListeners();
} catch (error) { // return response.statusCode;
_loading = false; // } catch (error) {
_stateCode = -1; // _loading = false;
notifyListeners(); // _stateCode = -1;
return -1; // notifyListeners();
} // return -1;
} // }
} // }
// }

@ -39,7 +39,6 @@ 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_visit_date_operator_provider.dart'; import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_visit_date_operator_provider.dart';
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_types_provider.dart'; import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_types_provider.dart';
import 'package:test_sa/controllers/providers/api/status_drop_down/service_reqest/service_request_first_action_provider.dart'; import 'package:test_sa/controllers/providers/api/status_drop_down/service_reqest/service_request_first_action_provider.dart';
import 'package:test_sa/controllers/providers/api/status_drop_down/service_reqest/service_request_loan_availability_provider.dart';
import 'package:test_sa/controllers/providers/api/status_drop_down/service_reqest/service_request_status_provider.dart'; import 'package:test_sa/controllers/providers/api/status_drop_down/service_reqest/service_request_status_provider.dart';
import 'package:test_sa/controllers/providers/api/status_drop_down/service_reqest/service_request_through_provider.dart'; import 'package:test_sa/controllers/providers/api/status_drop_down/service_reqest/service_request_through_provider.dart';
import 'package:test_sa/controllers/providers/api/status_drop_down/service_reqest/service_request_type_provider.dart'; import 'package:test_sa/controllers/providers/api/status_drop_down/service_reqest/service_request_type_provider.dart';
@ -62,7 +61,6 @@ import 'package:test_sa/providers/ppm_device_status_provider.dart';
import 'package:test_sa/providers/ppm_visit_status_provider.dart'; import 'package:test_sa/providers/ppm_visit_status_provider.dart';
import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart'; import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart';
import 'package:test_sa/providers/service_request_providers/first_action_provider.dart'; import 'package:test_sa/providers/service_request_providers/first_action_provider.dart';
import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart';
import 'package:test_sa/providers/service_request_providers/priority_provider.dart'; import 'package:test_sa/providers/service_request_providers/priority_provider.dart';
import 'package:test_sa/providers/service_request_providers/request_status_provider.dart'; import 'package:test_sa/providers/service_request_providers/request_status_provider.dart';
import 'package:test_sa/providers/service_request_providers/requested_through_provider.dart'; import 'package:test_sa/providers/service_request_providers/requested_through_provider.dart';
@ -171,7 +169,9 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider(create: (_) => ServiceRequestedThroughProvider()), ChangeNotifierProvider(create: (_) => ServiceRequestedThroughProvider()),
ChangeNotifierProvider(create: (_) => ServiceRequestStatusProvider()), ChangeNotifierProvider(create: (_) => ServiceRequestStatusProvider()),
ChangeNotifierProvider(create: (_) => EngineersProvider()), ChangeNotifierProvider(create: (_) => EngineersProvider()),
ChangeNotifierProvider(create: (_) => ServiceLoanAvailabilityProvider()),
/// Loan availability not required
// ChangeNotifierProvider(create: (_) => ServiceLoanAvailabilityProvider()),
ChangeNotifierProvider(create: (_) => ServiceFirstActionProvider()), ChangeNotifierProvider(create: (_) => ServiceFirstActionProvider()),
ChangeNotifierProvider(create: (_) => ServiceReportRepairLocationProvider()), ChangeNotifierProvider(create: (_) => ServiceReportRepairLocationProvider()),
ChangeNotifierProvider(create: (_) => ServiceRequestFaultDescriptionProvider()), ChangeNotifierProvider(create: (_) => ServiceRequestFaultDescriptionProvider()),
@ -184,7 +184,9 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider(create: (_) => RequestedThroughProvider()), ChangeNotifierProvider(create: (_) => RequestedThroughProvider()),
ChangeNotifierProvider(create: (_) => TypeOfRequestProvider()), ChangeNotifierProvider(create: (_) => TypeOfRequestProvider()),
ChangeNotifierProvider(create: (_) => FirstActionStatusProvider()), ChangeNotifierProvider(create: (_) => FirstActionStatusProvider()),
ChangeNotifierProvider(create: (_) => LoanAvailabilityProvider()),
/// Loan availability not required
// ChangeNotifierProvider(create: (_) => LoanAvailabilityProvider()),
ChangeNotifierProvider(create: (_) => ReasonProvider()), ChangeNotifierProvider(create: (_) => ReasonProvider()),
ChangeNotifierProvider(create: (_) => AssetTypesProvider()), ChangeNotifierProvider(create: (_) => AssetTypesProvider()),
ChangeNotifierProvider(create: (_) => ServiceTypeProvider()), ChangeNotifierProvider(create: (_) => ServiceTypeProvider()),

@ -1,36 +1,37 @@
import 'dart:convert'; /// Loan availability not required
// import 'dart:convert';
import 'package:http/http.dart'; //
import 'package:test_sa/providers/loading_list_notifier.dart'; // import 'package:http/http.dart';
// import 'package:test_sa/providers/loading_list_notifier.dart';
import '../../controllers/api_routes/api_manager.dart'; //
import '../../controllers/api_routes/urls.dart'; // import '../../controllers/api_routes/api_manager.dart';
import '../../models/lookup.dart'; // import '../../controllers/api_routes/urls.dart';
// import '../../models/lookup.dart';
class LoanAvailabilityProvider extends LoadingListNotifier<Lookup> { //
@override // class LoanAvailabilityProvider extends LoadingListNotifier<Lookup> {
Future getDate() async { // @override
if (loading == true) return -2; // Future getDate() async {
loading = true; // if (loading == true) return -2;
notifyListeners(); // loading = true;
loading = true; // notifyListeners();
notifyListeners(); // loading = true;
try { // notifyListeners();
Response response = await ApiManager.instance.get(URLs.getServiceLoanAvailability); // try {
stateCode = response.statusCode; // Response response = await ApiManager.instance.get(URLs.getServiceLoanAvailability);
if (response.statusCode >= 200 && response.statusCode < 300) { // stateCode = response.statusCode;
// client's request was successfully received // if (response.statusCode >= 200 && response.statusCode < 300) {
List categoriesListJson = json.decode(response.body)["data"]; // // client's request was successfully received
items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList(); // List categoriesListJson = json.decode(response.body)["data"];
} // items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
loading = false; // }
notifyListeners(); // loading = false;
return response.statusCode; // notifyListeners();
} catch (error) { // return response.statusCode;
loading = false; // } catch (error) {
stateCode = -1; // loading = false;
notifyListeners(); // stateCode = -1;
return -1; // notifyListeners();
} // return -1;
} // }
} // }
// }

@ -16,7 +16,6 @@ import '../../../../new_views/common_widgets/app_filled_button.dart';
import '../../../../new_views/common_widgets/app_text_form_field.dart'; import '../../../../new_views/common_widgets/app_text_form_field.dart';
import '../../../../new_views/common_widgets/single_item_drop_down_menu.dart'; import '../../../../new_views/common_widgets/single_item_drop_down_menu.dart';
import '../../../../providers/service_request_providers/first_action_provider.dart'; import '../../../../providers/service_request_providers/first_action_provider.dart';
import '../../../../providers/service_request_providers/loan_availability_provider.dart';
import '../../../widgets/date_and_time/date_picker.dart'; import '../../../widgets/date_and_time/date_picker.dart';
class FirstActionBottomSheet extends StatefulWidget { class FirstActionBottomSheet extends StatefulWidget {
@ -90,20 +89,22 @@ class _FirstActionBottomSheetState extends State<FirstActionBottomSheet> {
}); });
}, },
), ),
8.height,
SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>( /// Loan availability not required
context: context, // 8.height,
title: context.translation.loanAvailability, // SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
initialValue: _serviceRequest.loanAvailability, // context: context,
onSelect: (status) { // title: context.translation.loanAvailability,
setState(() { // initialValue: _serviceRequest.loanAvailability,
_serviceRequest.loanAvailability = status; // onSelect: (status) {
if (_serviceRequest.loanAvailability.value != 1) { // setState(() {
asset = null; // _serviceRequest.loanAvailability = status;
} // if (_serviceRequest.loanAvailability.value != 1) {
}); // asset = null;
}, // }
), // });
// },
// ),
if (_serviceRequest?.loanAvailability?.value == 1) 8.height, if (_serviceRequest?.loanAvailability?.value == 1) 8.height,
if (_serviceRequest?.loanAvailability?.value == 1) if (_serviceRequest?.loanAvailability?.value == 1)
PickAsset( PickAsset(

@ -1,36 +1,37 @@
import 'package:flutter/material.dart'; /// Loan availability not required
import 'package:provider/provider.dart'; // import 'package:flutter/material.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart'; // import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; // import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/models/lookup.dart'; // import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; // import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/views/widgets/status/single_status_menu.dart'; // import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
import '../../../../controllers/providers/api/status_drop_down/service_reqest/service_request_loan_availability_provider.dart'; //
// import '../../../../controllers/providers/api/status_drop_down/service_reqest/service_request_loan_availability_provider.dart';
class ServiceRequestedLoanAvailability extends StatelessWidget { //
final Function(Lookup) onSelect; // class ServiceRequestedLoanAvailability extends StatelessWidget {
final Lookup initialValue; // final Function(Lookup) onSelect;
// final Lookup initialValue;
const ServiceRequestedLoanAvailability({Key key, this.onSelect, this.initialValue}) : super(key: key); //
// const ServiceRequestedLoanAvailability({Key key, this.onSelect, this.initialValue}) : super(key: key);
@override //
Widget build(BuildContext context) { // @override
final settingProvider = Provider.of<SettingProvider>(context); // Widget build(BuildContext context) {
final userProvider = Provider.of<UserProvider>(context); // final settingProvider = Provider.of<SettingProvider>(context);
final menuProvider = Provider.of<ServiceLoanAvailabilityProvider>(context); // final userProvider = Provider.of<UserProvider>(context);
return LoadingManager( // final menuProvider = Provider.of<ServiceLoanAvailabilityProvider>(context);
isLoading: menuProvider.isLoading, // return LoadingManager(
isFailedLoading: menuProvider.items == null, // isLoading: menuProvider.isLoading,
stateCode: menuProvider.stateCode, // isFailedLoading: menuProvider.items == null,
onRefresh: () async { // stateCode: menuProvider.stateCode,
menuProvider.reset(); // onRefresh: () async {
await menuProvider.getData(user: userProvider.user, host: settingProvider.host); // menuProvider.reset();
}, // await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
child: SingleStatusMenu( // },
initialStatus: initialValue, // child: SingleStatusMenu(
statuses: menuProvider.items, // initialStatus: initialValue,
onSelect: onSelect, // statuses: menuProvider.items,
)); // onSelect: onSelect,
} // ));
} // }
// }

Loading…
Cancel
Save