Merge remote-tracking branch 'origin/zaid_development_new' into zaid_development_new

merge-requests/27/head
zaid_daoud 3 years ago
commit 62dcae610d

@ -79,6 +79,7 @@ class DeviceTransferProvider extends ChangeNotifier {
List<DeviceTransfer> itemsPage = listJson.map((request) => DeviceTransfer.fromJson(request)).toList();
items ??= [];
items.addAll(itemsPage);
print(listJson);
if (itemsPage.length == pageItemNumber) {
nextPage = true;
} else {
@ -153,11 +154,27 @@ class DeviceTransferProvider extends ChangeNotifier {
"senderWorkingHours": newModel.workingHours,
"senderTravelingHours": newModel.travelingHours,
"senderAttachmentName": "${newModel.signature}.png",
"destSiteId": oldModel.receiver.client.id,
"destDepartmentId": oldModel.receiver.department.id,
"receiverAssignedEmployeeId": oldModel.receiver.userId,
"receiverMachineStatusId": oldModel.receiver.status.id??"",
"receiverComment": oldModel.receiver.comment,
"receiverWorkingHours": oldModel.receiver.workingHours,
"receiverTravelingHours": oldModel.receiver.travelingHours,
"receiverAttachmentName": "${oldModel.receiver.signature}.png",
}
);
}else{
body.addAll(
{
"senderSiteId": oldModel.sender.client.id,
"senderDepartmentId": oldModel.sender.department.id,
"senderAssignedEmployeeId": oldModel.sender.userId,
"senderMachineStatusId": oldModel.sender.status.id,
"senderComment": oldModel.sender.comment,
"senderWorkingHours": oldModel.sender.workingHours,
"senderTravelingHours": oldModel.sender.travelingHours,
"senderAttachmentName": "${oldModel.sender.signature}.png",
"destSiteId": newModel.client.id,
"destDepartmentId": newModel.department.id,
"receiverAssignedEmployeeId": newModel.userId,
@ -170,7 +187,11 @@ class DeviceTransferProvider extends ChangeNotifier {
);
}
print(body["senderWorkingHours"]);
body.addAll(newModel.toJson(isSender));
print(body);
Response response;
try{
response = await ApiManager.instance.put(

@ -11,17 +11,19 @@ import 'package:test_sa/models/user.dart';
class DevicesProvider extends ChangeNotifier {
//reset provider data
void reset() {
_devices = null;
_devices = [];
_stateCode = null;
}
final pageItemNumber = 10;
bool nextPage = true;
// state code of current request to defied error message
// like 400 customer request failed
// 500 service not available
int _stateCode;
int get stateCode => _stateCode;
List<Device> _devices;
List<Device> _devices=[];
List<Device> get devices => _devices;
// when categories in-process _loading = true
@ -52,7 +54,8 @@ class DevicesProvider extends ChangeNotifier {
Response response;
try {
response = await ApiManager.instance.post(URLs.getEquipment, body: {
"pageSize": 50,
"pageSize": pageItemNumber ,
"pageNumber":devices.length ~/ pageItemNumber + 1,
"siteId": hospitalId,
if (serialNumber?.isEmpty == false) "assetSerialNumber": serialNumber,
if (number?.isEmpty == false) "assetNo": number,
@ -67,8 +70,12 @@ class DevicesProvider extends ChangeNotifier {
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received
List equipmentListJson = json.decode(response.body)["data"];
_devices = equipmentListJson.map<Device>((device) => Device.fromJson(device)).toList();
}
_devices.addAll(equipmentListJson.map<Device>((device) => Device.fromJson(device)).toList());
nextPage = true;
}else
{
nextPage = false;
}
_loading = false;
notifyListeners();
return response.statusCode;
@ -89,8 +96,9 @@ class DevicesProvider extends ChangeNotifier {
Response response;
try {
response = await ApiManager.instance.post(URLs.getEquipment, body: {
"pageSize": 50,
"siteId": hospitalId,
"pageSize": pageItemNumber,
"pageNumber":devices.length ~/ pageItemNumber + 1,
"siteId": devices.length ~/ pageItemNumber + 1,
if (serialNumber?.isEmpty == false) "assetSerialNumber": serialNumber,
if (number?.isEmpty == false) "assetNo": number,
});
@ -105,6 +113,8 @@ class DevicesProvider extends ChangeNotifier {
// client's request was successfully received
List equipmentListJson = json.decode(response.body)["data"];
page = equipmentListJson.map((device) => Device.fromJson(device)).toList();
_devices.addAll(equipmentListJson.map<Device>((device) => Device.fromJson(device)).toList());
notifyListeners();
}
return page;
} catch (error) {

@ -31,7 +31,7 @@ class DeviceTransferInfo{
if(comment != null && comment.isNotEmpty) body["${baseKey}comment"] = comment;
if(workingHours != null && workingHours.isNotEmpty) body["${baseKey}working_hours"] = workingHours;
if(travelingHours != null && travelingHours.isNotEmpty) body["${baseKey}travel_hours"] = comment;
if(travelingHours != null && travelingHours.isNotEmpty) body["${baseKey}travel_hours"] = travelingHours;
if(status != null) body["${baseKey}status"] = status.id.toString();
if(signature != null && signature.isNotEmpty) body["${baseKey}image"] = signature;
return body;

@ -114,7 +114,7 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
onPressed: (){
Navigator.of(context).push(
MaterialPageRoute(
builder: (_)=> UpdateDeviceTransfer(model: widget.model,isSender: _isSender,)
builder: (_)=> UpdateDeviceTransfer(model: widget.model,isSender: true,)
)
);
},
@ -140,7 +140,7 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
onPressed: (){
Navigator.of(context).push(
MaterialPageRoute(
builder: (_)=> UpdateDeviceTransfer(model: widget.model,isSender: _isSender,)
builder: (_)=> UpdateDeviceTransfer(model: widget.model,isSender: false,)
)
);
},

@ -68,16 +68,17 @@ class _RequestDeviceTransferState extends State<RequestDeviceTransfer> {
_isLoading = false;
setState(() {});
if (status >= 200 && status < 300) {
Fluttertoast.showToast(
msg: _subtitle.requestCompleteSuccessfully,
);
// Fluttertoast.showToast(
// msg: _subtitle.requestCompleteSuccessfully,
// );
Navigator.of(context).pop();
} else {
String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle);
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text(errorMessage),
));
}
// else {
// String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle);
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(
// content: Text(errorMessage),
// ));
// }
}
@override

@ -8,6 +8,7 @@ import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/models/device/device.dart';
import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/widgets/equipment/device_item.dart';
import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/loaders/no_item_found.dart';
@ -68,7 +69,6 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
if (_firstTime && _devicesProvider.devices != null) {
_searchableList.clear();
_searchableList.addAll(_devicesProvider.devices);
_firstTime = false;
}
_subtitle = AppLocalization.of(context).subtitle;
return Scaffold(
@ -123,23 +123,33 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
),
),
Expanded(
child: _searchableList.isEmpty
? NoItemFound(
message: _subtitle.noDeviceFound,
)
: ListView.builder(
padding: EdgeInsets.zero,
shrinkWrap: true,
itemCount: _searchableList.length,
itemBuilder: (listContext, itemIndex) {
return DeviceItem(
device: _searchableList[itemIndex],
onPressed: (device) {
Navigator.of(context).pop(device);
},
);
child: _searchableList.isEmpty ?
NoItemFound(message: _subtitle.noDeviceFound,):
LazyLoading(
nextPage: _devicesProvider.nextPage,
onLazyLoad: () async {
await _devicesProvider.getDevicesList(
user: _userProvider.user,
host: _settingProvider.host,
hospitalId: _userProvider.user.hospital?.id,
serialNumber: snController.text,
number: numberController.text
);
},
child:ListView.builder(
padding: EdgeInsets.zero,
shrinkWrap: true,
itemCount: _searchableList.length,
itemBuilder: (listContext,itemIndex){
return DeviceItem(
device: _searchableList[itemIndex],
onPressed: (device){
Navigator.of(context).pop(device);
},
),
);
},
),
)
),
],
),

@ -27,12 +27,10 @@ class _LazyLoadingState extends State<LazyLoading> with TickerProviderStateMixin
_scrollListener() async {
if (!_animationController.isAnimating && !_animationController.isCompleted && widget.nextPage) {
_animationController.forward();
setState(() {});
//_animationController.forward();
await widget.onLazyLoad();
await Future.delayed(Duration(milliseconds: 600));
setState(() {});
_animationController.reverse();
// _animationController.reverse();
}
}

Loading…
Cancel
Save