You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.5 KiB
Dart
57 lines
1.5 KiB
Dart
import 'package:test_sa/models/gas_refill/gas_refill_details.dart';
|
|
import 'package:test_sa/models/lookup.dart';
|
|
|
|
class GasRefillModel {
|
|
int id;
|
|
//String userId;
|
|
String clientName;
|
|
String title;
|
|
Lookup status;
|
|
Lookup building;
|
|
Lookup floor;
|
|
List<GasRefillDetails> details;
|
|
|
|
GasRefillModel({
|
|
this.id,
|
|
//this.userId,
|
|
this.clientName,
|
|
this.title,
|
|
this.status,
|
|
this.details,
|
|
});
|
|
|
|
bool validate() {
|
|
if (title == null) return false;
|
|
if (status == null) return false;
|
|
if (building == null) return false;
|
|
if (floor == null) return false;
|
|
if (details == null && details.isEmpty) return false;
|
|
return true;
|
|
}
|
|
|
|
fromGasRefillModel(GasRefillModel model) {
|
|
id = model.id;
|
|
//userId = model.userId;
|
|
clientName = model.clientName;
|
|
title = model.title;
|
|
status = Lookup.fromStatus(model.status);
|
|
details = model.details.map((e) => GasRefillDetails.fromDetails(e)).toList();
|
|
}
|
|
|
|
factory GasRefillModel.fromJson(Map<String, dynamic> parsedJson) {
|
|
List<GasRefillDetails> details = [];
|
|
if (parsedJson["gazRefillDetails"] != null) {
|
|
List list = parsedJson["gazRefillDetails"];
|
|
details = list.map((e) => GasRefillDetails.fromJson(e)).toList();
|
|
}
|
|
return GasRefillModel(
|
|
id: parsedJson["id"],
|
|
//userId: parsedJson["uid"],
|
|
title: parsedJson["gazRefillNo"],
|
|
clientName: parsedJson["site"] == null ? null : parsedJson["site"]["custName"],
|
|
status: Lookup.fromJson(parsedJson["status"]),
|
|
details: details,
|
|
);
|
|
}
|
|
}
|