Remove loan availability

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

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

@ -1,36 +1,37 @@
import 'dart:convert';
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 '../../models/lookup.dart';
class LoanAvailabilityProvider extends LoadingListNotifier<Lookup> {
@override
Future getDate() async {
if (loading == true) return -2;
loading = true;
notifyListeners();
loading = true;
notifyListeners();
try {
Response response = await ApiManager.instance.get(URLs.getServiceLoanAvailability);
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received
List categoriesListJson = json.decode(response.body)["data"];
items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
}
loading = false;
notifyListeners();
return response.statusCode;
} catch (error) {
loading = false;
stateCode = -1;
notifyListeners();
return -1;
}
}
}
/// Loan availability not required
// import 'dart:convert';
//
// 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 '../../models/lookup.dart';
//
// class LoanAvailabilityProvider extends LoadingListNotifier<Lookup> {
// @override
// Future getDate() async {
// if (loading == true) return -2;
// loading = true;
// notifyListeners();
// loading = true;
// notifyListeners();
// try {
// Response response = await ApiManager.instance.get(URLs.getServiceLoanAvailability);
// stateCode = response.statusCode;
// if (response.statusCode >= 200 && response.statusCode < 300) {
// // client's request was successfully received
// List categoriesListJson = json.decode(response.body)["data"];
// items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
// }
// loading = false;
// notifyListeners();
// return response.statusCode;
// } catch (error) {
// loading = false;
// stateCode = -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/single_item_drop_down_menu.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';
class FirstActionBottomSheet extends StatefulWidget {
@ -90,20 +89,22 @@ class _FirstActionBottomSheetState extends State<FirstActionBottomSheet> {
});
},
),
8.height,
SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
context: context,
title: context.translation.loanAvailability,
initialValue: _serviceRequest.loanAvailability,
onSelect: (status) {
setState(() {
_serviceRequest.loanAvailability = status;
if (_serviceRequest.loanAvailability.value != 1) {
asset = null;
}
});
},
),
/// Loan availability not required
// 8.height,
// SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
// context: context,
// title: context.translation.loanAvailability,
// initialValue: _serviceRequest.loanAvailability,
// onSelect: (status) {
// setState(() {
// _serviceRequest.loanAvailability = status;
// if (_serviceRequest.loanAvailability.value != 1) {
// asset = null;
// }
// });
// },
// ),
if (_serviceRequest?.loanAvailability?.value == 1) 8.height,
if (_serviceRequest?.loanAvailability?.value == 1)
PickAsset(

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

Loading…
Cancel
Save