push nobody_time update

This commit is contained in:
ashrafzarkanisala
2024-08-27 21:25:36 +03:00
parent c70906af07
commit 7f8130d39b
4 changed files with 162 additions and 52 deletions

View File

@ -1,3 +1,4 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_status.dart';
class CeilingSensorModel {
@ -7,56 +8,72 @@ class CeilingSensorModel {
int presenceRange;
int sportsPara;
String bodyMovement;
int noBodyTime;
String noBodyTime;
int maxDistance;
CeilingSensorModel(
{required this.presenceState,
required this.sensitivity,
required this.checkingResult,
required this.presenceRange,
required this.sportsPara,
required this.bodyMovement,
required this.noBodyTime,
required this.maxDistance});
CeilingSensorModel({
required this.presenceState,
required this.sensitivity,
required this.checkingResult,
required this.presenceRange,
required this.sportsPara,
required this.bodyMovement,
required this.noBodyTime,
required this.maxDistance,
});
factory CeilingSensorModel.fromJson(List<Status> jsonList) {
late String _presenceState;
late int _sensitivity;
late String _checkingResult;
late String _presenceState = 'none';
late int _sensitivity = 1;
late String _checkingResult = '';
int _presenceRange = 1;
int _sportsPara = 1;
String _bodyMovement = 'none';
int _noBodyTime = 0;
String _noBodyTime = 'none';
int _maxDis = 0;
for (int i = 0; i < jsonList.length; i++) {
if (jsonList[i].code == 'presence_state') {
_presenceState = jsonList[i].value ?? 'none';
} else if (jsonList[i].code == 'sensitivity') {
_sensitivity = jsonList[i].value ?? 1;
} else if (jsonList[i].code == 'checking_result') {
_checkingResult = jsonList[i].value ?? '';
} else if (jsonList[i].code == 'presence_range') {
_presenceRange = jsonList[i].value ?? 0;
} else if (jsonList[i].code == 'sports_para') {
_sportsPara = jsonList[i].value ?? 0;
} else if (jsonList[i].code == 'body_movement') {
_bodyMovement = jsonList[i].value ?? '';
} else if (jsonList[i].code == 'none_body_time') {
_noBodyTime = jsonList[i].value ?? 0;
} else if (jsonList[i].code == 'moving_max_dis') {
_maxDis = jsonList[i].value ?? 0;
try {
for (var status in jsonList) {
switch (status.code) {
case 'presence_state':
_presenceState = status.value ?? 'none';
break;
case 'sensitivity':
_sensitivity = status.value is int ? status.value : int.tryParse(status.value ?? '1') ?? 1;
break;
case 'checking_result':
_checkingResult = status.value ?? '';
break;
case 'presence_range':
_presenceRange = status.value is int ? status.value : int.tryParse(status.value ?? '0') ?? 0;
break;
case 'sports_para':
_sportsPara = status.value is int ? status.value : int.tryParse(status.value ?? '0') ?? 0;
break;
case 'body_movement':
_bodyMovement = status.value ?? '';
break;
case 'nobody_time':
_noBodyTime = status.value ?? 'none';
break;
case 'moving_max_dis':
_maxDis = status.value is int ? status.value : int.tryParse(status.value ?? '0') ?? 0;
break;
}
}
} catch (e) {
debugPrint(e.toString());
}
return CeilingSensorModel(
presenceState: _presenceState,
sensitivity: _sensitivity,
checkingResult: _checkingResult,
presenceRange: _presenceRange,
sportsPara: _sportsPara,
bodyMovement: _bodyMovement,
noBodyTime: _noBodyTime,
maxDistance: _maxDis);
presenceState: _presenceState,
sensitivity: _sensitivity,
checkingResult: _checkingResult,
presenceRange: _presenceRange,
sportsPara: _sportsPara,
bodyMovement: _bodyMovement,
noBodyTime: _noBodyTime,
maxDistance: _maxDis,
);
}
}