format code

merge-requests/16/head
nextwo 2 years ago
parent 55245403d3
commit 6ad1f909bf

@ -7,60 +7,48 @@ import '../controllers/api_routes/urls.dart';
import '../models/device/device_transfer.dart'; import '../models/device/device_transfer.dart';
import '../models/device/device_transfer_info.dart'; import '../models/device/device_transfer_info.dart';
class DeviceTransferApiClient{ class DeviceTransferApiClient {
static final DeviceTransferApiClient _instance = DeviceTransferApiClient._internal();
static final DeviceTransferApiClient _instance =DeviceTransferApiClient._internal();
DeviceTransferApiClient._internal(); DeviceTransferApiClient._internal();
factory DeviceTransferApiClient() =>_instance; factory DeviceTransferApiClient() => _instance;
Future<List<DeviceTransfer>> getRequests({
required List items,
required int pageItemNumber
}) async {
final response = await ApiClient().getJsonForResponse( Future<List<DeviceTransfer>> getRequests({required List items, required int pageItemNumber}) async {
"${URLs.host1}${URLs.getDeviceTransfer}", final response = await ApiClient().getJsonForResponse("${URLs.host1}${URLs.getDeviceTransfer}", queryParameters: {
queryParameters: { "uid": "${UserApiClient().user?.id}",
"uid":"${UserApiClient().user?.id}", "token": "${UserApiClient().user?.token}",
"token":"${UserApiClient().user?.token}", "page": "${(items.length) ~/ pageItemNumber}",
"page":"${(items.length) ~/ pageItemNumber}", }, headers: {
}, "Content-Type": "application/json; charset=utf-8"
headers: {"Content-Type": "application/json; charset=utf-8"} });
);
List listJson = json.decode(utf8.decode(response.bodyBytes).replaceAll("\\", "")); List listJson = json.decode(utf8.decode(response.bodyBytes).replaceAll("\\", ""));
return listJson.map((request) => DeviceTransfer.fromJson(request)).toList(); return listJson.map((request) => DeviceTransfer.fromJson(request)).toList();
} }
Future<DeviceTransfer> createRequest({ Future<DeviceTransfer> createRequest({
required DeviceTransfer model, required DeviceTransfer model,
})async{ }) async {
Map<String, dynamic> body = { Map<String, dynamic> body = {
"uid": UserApiClient().user?.id.toString()??"", "uid": UserApiClient().user?.id.toString() ?? "",
"token": UserApiClient().user?.token??"", "token": UserApiClient().user?.token ?? "",
"serial_id": model.device?.id??"", "serial_id": model.device?.id ?? "",
"destination_client": model.receiver?.client?.id??"", "destination_client": model.receiver?.client?.id ?? "",
"destination_department": model.receiver?.department?.id??"", "destination_department": model.receiver?.department?.id ?? "",
}; };
final response = await ApiClient().postJsonForResponse("${URLs.host1}${URLs.requestDeviceTransfer}", body, isFormData: true);
final response = await ApiClient().postJsonForResponse( return DeviceTransfer.fromJson(json.decode(utf8.decode(response.bodyBytes))[0]);
"${URLs.host1}${URLs.requestDeviceTransfer}", body, isFormData: true);
return DeviceTransfer.fromJson(json.decode(utf8.decode(response.bodyBytes))[0]);
} }
Future<DeviceTransfer> updateRequest({ Future<DeviceTransfer> updateRequest({
required bool isSender, required bool isSender,
required String requestId, required String requestId,
required DeviceTransfer? oldModel, required DeviceTransfer? oldModel,
required DeviceTransferInfo newModel, required DeviceTransferInfo newModel,
})async{ }) async {
Map<String, dynamic> body = { Map<String, dynamic> body = {
"uid": UserApiClient().user?.id.toString(), "uid": UserApiClient().user?.id.toString(),
"token": UserApiClient().user?.token, "token": UserApiClient().user?.token,
@ -69,13 +57,8 @@ class DeviceTransferApiClient{
body.addAll(newModel.toJson(isSender)); body.addAll(newModel.toJson(isSender));
final response = await ApiClient().postJsonForResponse( final response = await ApiClient().postJsonForResponse("${URLs.host1}${URLs.updateDeviceTransfer}/$requestId", body);
"${URLs.host1}${URLs.updateDeviceTransfer}/$requestId", body);
return DeviceTransfer.fromJson(
json.decode(utf8.decode(response.bodyBytes))[0]
);
return DeviceTransfer.fromJson(json.decode(utf8.decode(response.bodyBytes))[0]);
} }
}
}

@ -6,40 +6,32 @@ import '../controllers/api_routes/urls.dart';
import '../models/gas_refill/gas_refill_model.dart'; import '../models/gas_refill/gas_refill_model.dart';
import 'api_client.dart'; import 'api_client.dart';
class GasRefillApiClient{ class GasRefillApiClient {
static final GasRefillApiClient _instance = GasRefillApiClient._internal();
static final GasRefillApiClient _instance =GasRefillApiClient._internal();
GasRefillApiClient._internal(); GasRefillApiClient._internal();
factory GasRefillApiClient() =>_instance; factory GasRefillApiClient() => _instance;
Future<List<GasRefillModel>> getRequestPages({
required List items,
required int pageItemNumber
}) async {
final response = await ApiClient().getJsonForResponse( Future<List<GasRefillModel>> getRequestPages({required List items, required int pageItemNumber}) async {
"${URLs.host1}${URLs.getGasRefill}",//body final response = await ApiClient().getJsonForResponse("${URLs.host1}${URLs.getGasRefill}", //body
headers: {"Content-Type": "application/json; charset=utf-8"}, headers: {
queryParameters: { "Content-Type": "application/json; charset=utf-8"
"uid":"${UserApiClient().user?.id}", },
"token":"${UserApiClient().user?.token}", queryParameters: {
"page":"${(items.length) ~/ pageItemNumber}", "uid": "${UserApiClient().user?.id}",
} "token": "${UserApiClient().user?.token}",
); "page": "${(items.length) ~/ pageItemNumber}",
});
// client's request was successfully received // client's request was successfully received
List requestsListJson = json.decode(utf8.decode(response.bodyBytes)); List requestsListJson = json.decode(utf8.decode(response.bodyBytes));
return requestsListJson.map((request) => GasRefillModel.fromJson(request)).toList(); return requestsListJson.map((request) => GasRefillModel.fromJson(request)).toList();
} }
Future<GasRefillModel> createModel({ Future<GasRefillModel> createModel({
required GasRefillModel model, required GasRefillModel model,
}) async{ }) async {
Map<String, dynamic> body = { Map<String, dynamic> body = {
"uid": UserApiClient().user?.id.toString(), "uid": UserApiClient().user?.id.toString(),
"token": UserApiClient().user?.token ?? "", "token": UserApiClient().user?.token ?? "",
@ -49,25 +41,24 @@ class GasRefillApiClient{
body["details"] = jsonEncode(model.details body["details"] = jsonEncode(model.details
?.map((model) => { ?.map((model) => {
"type": model.type?.id.toString(), "type": model.type?.id.toString(),
"size": model.cylinderSize?.id.toString(), "size": model.cylinderSize?.id.toString(),
"requsted_qty": model.requestedQuantity.toString(), "requsted_qty": model.requestedQuantity.toString(),
}) })
.toList()); .toList());
final response = await ApiClient().postJsonForResponse( final response = await ApiClient().postJsonForResponse(
"${URLs.host1}${URLs.requestGasRefill}", "${URLs.host1}${URLs.requestGasRefill}",
body, body,
); );
return GasRefillModel.fromJson(json.decode(utf8.decode(response.bodyBytes))[0]); return GasRefillModel.fromJson(json.decode(utf8.decode(response.bodyBytes))[0]);
} }
Future updateModel({ Future updateModel({
required GasRefillModel? oldModel, required GasRefillModel? oldModel,
required GasRefillModel newModel, required GasRefillModel newModel,
})async{ }) async {
Map<String, dynamic> body = { Map<String, dynamic> body = {
"uid": UserApiClient().user?.id.toString(), "uid": UserApiClient().user?.id.toString(),
"token": UserApiClient().user?.token, "token": UserApiClient().user?.token,
@ -77,18 +68,15 @@ class GasRefillApiClient{
body["details"] = jsonEncode(newModel.details body["details"] = jsonEncode(newModel.details
?.map((model) => { ?.map((model) => {
"type": model.type?.id.toString(), "type": model.type?.id.toString(),
"size": model.cylinderSize?.id.toString(), "size": model.cylinderSize?.id.toString(),
"requsted_qty": model.requestedQuantity.toString(), "requsted_qty": model.requestedQuantity.toString(),
"deliverd_qty": model.deliveredQuantity.toString(), "deliverd_qty": model.deliveredQuantity.toString(),
}) })
.toList()); .toList());
final reponse = await ApiClient().postJsonForResponse( final reponse = await ApiClient().postJsonForResponse("${URLs.host1}${URLs.updateGasRefill}/${newModel.id}", body);
"${URLs.host1}${URLs.updateGasRefill}/${newModel.id}",
body);
oldModel?.fromGasRefillModel(newModel); oldModel?.fromGasRefillModel(newModel);
} }
} }

@ -1,5 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart'; import 'package:fluttertoast/fluttertoast.dart';
import 'package:test_sa/api/device_transfer_api_client.dart'; import 'package:test_sa/api/device_transfer_api_client.dart';
@ -34,7 +32,6 @@ class DeviceTransferProvider extends LoadingNotifier {
List<DeviceTransfer> items = []; List<DeviceTransfer> items = [];
Future getRequests() async { Future getRequests() async {
waitApiRequest(() async { waitApiRequest(() async {
items.clear(); items.clear();
items.addAll(await DeviceTransferApiClient().getRequests(items: items, pageItemNumber: pageItemNumber)); items.addAll(await DeviceTransferApiClient().getRequests(items: items, pageItemNumber: pageItemNumber));
@ -44,35 +41,28 @@ class DeviceTransferProvider extends LoadingNotifier {
} else { } else {
nextPage = false; nextPage = false;
} }
}, }, onSuccess: () {
onSuccess: (){ stateCode = 200;
stateCode=200;
notifyListeners(); notifyListeners();
}); });
} }
Future createRequest({ Future createRequest({required DeviceTransfer model, required BuildContext context}) async {
required DeviceTransfer model,
required BuildContext context
}) async {
final subtitle = AppLocalization.of(context)?.subtitle; final subtitle = AppLocalization.of(context)?.subtitle;
waitApiRequest(() async { waitApiRequest(() async {
items.insert(0, await DeviceTransferApiClient().createRequest(model: model)); items.insert(0, await DeviceTransferApiClient().createRequest(model: model));
notifyListeners(); notifyListeners();
}, }, onSuccess: () {
onSuccess: (){
Fluttertoast.showToast( Fluttertoast.showToast(
msg: subtitle?.requestCompleteSuccessfully??"", msg: subtitle?.requestCompleteSuccessfully ?? "",
); );
Navigator.of(context).pop(); Navigator.of(context).pop();
}, }, onError: (error) {
onError: (error){
String errorMessage = HttpStatusManger.getStatusMessage(status: error.error?.errorCode, subtitle: subtitle); String errorMessage = HttpStatusManger.getStatusMessage(status: error.error?.errorCode, subtitle: subtitle);
ScaffoldMessenger.of(context).showSnackBar(SnackBar( ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text(errorMessage), content: Text(errorMessage),
)); ));
} });
);
} }
Future updateRequest({ Future updateRequest({
@ -83,9 +73,8 @@ class DeviceTransferProvider extends LoadingNotifier {
required DeviceTransfer? oldModel, required DeviceTransfer? oldModel,
required DeviceTransferInfo newModel, required DeviceTransferInfo newModel,
}) async { }) async {
reset(); reset();
oldModel= await DeviceTransferApiClient().updateRequest(isSender: isSender, requestId: requestId, oldModel: oldModel, newModel: newModel); oldModel = await DeviceTransferApiClient().updateRequest(isSender: isSender, requestId: requestId, oldModel: oldModel, newModel: newModel);
notifyListeners(); notifyListeners();
} }
} }

@ -33,7 +33,7 @@ class GasRefillProvider extends LoadingNotifier {
bool nextPage = true; bool nextPage = true;
// list of user requests // list of user requests
List<GasRefillModel> items=[]; List<GasRefillModel> items = [];
Future getRequests() async { Future getRequests() async {
waitApiRequest(() async { waitApiRequest(() async {
@ -45,48 +45,35 @@ class GasRefillProvider extends LoadingNotifier {
} else { } else {
nextPage = false; nextPage = false;
} }
}, }, onSuccess: () {
onSuccess: (){ stateCode = 200;
stateCode=200;
notifyListeners(); notifyListeners();
} });
);
} }
Future createModel({ Future createModel({required GasRefillModel model, required BuildContext context}) async {
required GasRefillModel model,
required BuildContext context
}) async {
final subtitle = AppLocalization.of(context)?.subtitle; final subtitle = AppLocalization.of(context)?.subtitle;
waitApiRequest(() async { waitApiRequest(() async {
items.insert(0, await GasRefillApiClient().createModel(model: model)); items.insert(0, await GasRefillApiClient().createModel(model: model));
notifyListeners(); notifyListeners();
}, }, onError: (error) {
onError: (error){ String errorMessage = HttpStatusManger.getStatusMessage(status: error.error?.errorCode, subtitle: subtitle);
String errorMessage = HttpStatusManger.getStatusMessage(status: error.error?.errorCode, subtitle: subtitle); ScaffoldMessenger.of(context).showSnackBar(SnackBar(
ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text(errorMessage),
content: Text(errorMessage), ));
)); }, onSuccess: () {
}, Fluttertoast.showToast(
onSuccess: (){ msg: subtitle?.requestCompleteSuccessfully ?? "",
Fluttertoast.showToast( );
msg: subtitle?.requestCompleteSuccessfully ?? "", Navigator.of(context).pop();
); });
Navigator.of(context).pop();
}
);
} }
Future updateModel({ Future updateModel({
required GasRefillModel? oldModel, required GasRefillModel? oldModel,
required GasRefillModel newModel, required GasRefillModel newModel,
}) async { }) async {
await GasRefillApiClient().updateModel(oldModel: oldModel, newModel: newModel); await GasRefillApiClient().updateModel(oldModel: oldModel, newModel: newModel);
} }
} }

@ -165,9 +165,9 @@ class _RequestDeviceTransferState extends State<RequestDeviceTransfer> {
return; return;
} }
await _deviceTransferProvider?.createRequest( await _deviceTransferProvider?.createRequest(
model: _formModel, context: context, model: _formModel,
context: context,
); );
}, },
), ),

@ -51,7 +51,7 @@ class _GasRefillDetailsState extends State<GasRefillDetails> {
_isLoading = true; _isLoading = true;
setState(() {}); setState(() {});
int? status = await _gasRefillProvider?.updateModel( newModel: _model, oldModel: widget.model); int? status = await _gasRefillProvider?.updateModel(newModel: _model, oldModel: widget.model);
_isLoading = false; _isLoading = false;
setState(() {}); setState(() {});
if (status != null && status >= 200 && status < 300) { if (status != null && status >= 200 && status < 300) {

@ -46,7 +46,6 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
if (mounted) super.setState(() {}); if (mounted) super.setState(() {});
} }
bool _addNewModel() { bool _addNewModel() {
_validate = true; _validate = true;
if (!(_formKey.currentState?.validate() ?? false)) { if (!(_formKey.currentState?.validate() ?? false)) {
@ -172,7 +171,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
height: 4, height: 4,
), ),
ATextFormField( ATextFormField(
initialValue: (_currentDetails.requestedQuantity??"").toString(), initialValue: (_currentDetails.requestedQuantity ?? "").toString(),
textAlign: TextAlign.center, textAlign: TextAlign.center,
controller: _requestedQuantityController, controller: _requestedQuantityController,
style: Theme.of(context).textTheme.subtitle1, style: Theme.of(context).textTheme.subtitle1,
@ -211,11 +210,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
if (!_addNewModel()) return; if (!_addNewModel()) return;
} }
await _gasRefillProvider?.createModel( await _gasRefillProvider?.createModel(model: _formModel, context: context);
model: _formModel,
context: context
);
}, },
), ),
const SizedBox( const SizedBox(

Loading…
Cancel
Save