You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
4.0 KiB
120 lines
4.0 KiB
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:bookatanker/common/settings.dart';
|
|
|
|
class ParticularTankConnectionsModel {
|
|
String tank_name = '';
|
|
String capacity='';
|
|
String capacityForParse='';
|
|
String finalCapacity='';
|
|
String block_name='';
|
|
String type_of_water='';
|
|
String type='';
|
|
String tank_location='';
|
|
String water_level='';
|
|
List inConnections=[];
|
|
List outConnections=[];
|
|
List inputConnections=[];
|
|
List outputConnections=[];
|
|
String currentWaterLevelPercent='';
|
|
bool isManual=false;
|
|
Image tank_image=Image(image: const AssetImage('images/100%.png'),);
|
|
bool minimumPercentageTextEditable=true;
|
|
bool maximumPercentageTextEditable=true;
|
|
String slave_status='';
|
|
String slaveDisconnectedTime='';
|
|
|
|
TextEditingController minimumPercentageTextController = TextEditingController();
|
|
TextEditingController maximumPercentageTextController = TextEditingController();
|
|
|
|
Widget minimumPercentage(var height,var width,bool readOnly) {
|
|
return Container(
|
|
height: height,
|
|
width: width,
|
|
child: TextFormField(
|
|
cursorColor: primaryColor,
|
|
style: TextStyle(color: primaryColor),
|
|
controller: minimumPercentageTextController,
|
|
decoration: textFormFieldDecorationForBoxId(Icons.percent,'Enter min %'),
|
|
readOnly:readOnly ,
|
|
|
|
),
|
|
);
|
|
}
|
|
|
|
Widget maximumPercentage(var height,var width,bool readOnly) {
|
|
return Container(
|
|
height: height,
|
|
width: width,
|
|
child: TextFormField(
|
|
cursorColor: primaryColor,
|
|
readOnly:readOnly ,
|
|
style: TextStyle(color: primaryColor),
|
|
controller: maximumPercentageTextController,
|
|
decoration: textFormFieldDecorationForBoxId(Icons.percent,'Enter max %'),
|
|
|
|
),
|
|
);
|
|
}
|
|
|
|
|
|
ParticularTankConnectionsModel();
|
|
|
|
|
|
factory ParticularTankConnectionsModel.fromJson(Map<String, dynamic> json){
|
|
ParticularTankConnectionsModel rtvm = new ParticularTankConnectionsModel();
|
|
|
|
rtvm.tank_name = json['tankName'] ?? '';
|
|
rtvm.capacity = json['capacity'] ??'';
|
|
rtvm.tank_location = json['tankLocation'] ??'';
|
|
rtvm.capacityForParse =rtvm.capacity. replaceAll(',', '');
|
|
rtvm.block_name = json['blockName'] ?? '';
|
|
rtvm.type_of_water = json['typeOfWater'] ?? '';
|
|
rtvm.minimumPercentageTextController.text = json['auto_min_percentage'] ?? '';
|
|
rtvm.maximumPercentageTextController.text = json['auto_max_percentage'] ?? '';
|
|
rtvm.water_level = json['waterlevel'] ?? '';
|
|
rtvm.inConnections = json['connections']['inputConnections']??[];
|
|
rtvm.outConnections = json['connections']['outputConnections']??[];
|
|
rtvm.isManual=false;
|
|
//rtvm.minimumPercentageTextEditable=false;
|
|
|
|
if(rtvm.water_level!=''){
|
|
double percent=int.parse(rtvm.water_level )/double.parse(rtvm.capacityForParse )*100;
|
|
|
|
rtvm.currentWaterLevelPercent=percent.toStringAsFixed(0);
|
|
|
|
print(percent);
|
|
if( percent<20){
|
|
/*rtvm.tank_image=Image(image: const AssetImage('images/25%gif.gif'),height:60,width:60,);*/
|
|
rtvm.tank_image=Image(image: const AssetImage('images/25%.png'),height: 100,width:100,);
|
|
}
|
|
else if( percent>20&&percent<50){
|
|
/*rtvm.tank_image=Image(image: const AssetImage('images/50%gif.gif'),height: 60,width:60,);*/
|
|
rtvm.tank_image=Image(image: const AssetImage('images/50%.png'),height: 100,width:100,);
|
|
}
|
|
else if( percent>50&&percent<80){
|
|
/*rtvm.tank_image=Image(image: const AssetImage('images/75%gif.gif'),height: 60,width:60,);*/
|
|
rtvm.tank_image=Image(image: const AssetImage('images/75%.png'),height: 100,width:100,);
|
|
}
|
|
else{
|
|
rtvm.tank_image=Image(image: const AssetImage('images/100%.png'),height: 100,width:100,);
|
|
}
|
|
}
|
|
else{
|
|
rtvm.water_level ='';
|
|
}
|
|
rtvm.slave_status = json['slave_status'] ?? '';
|
|
rtvm.slaveDisconnectedTime = json['slave_disconnected_time'] ?? '';
|
|
|
|
return rtvm;
|
|
}
|
|
|
|
|
|
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
"tankName":this.tank_name,
|
|
"capacity": this.capacity,
|
|
};
|
|
} |