workouttest_util/lib/model/customer_property.dart
2023-02-12 22:42:51 +01:00

72 lines
1.8 KiB
Dart

import 'package:intl/intl.dart';
import '../util/logging.dart';
class CustomerProperty with Logging {
int? customerPropertyId;
late int propertyId;
late int customerId;
DateTime? dateAdd;
String? dateYmd;
String? dateYm;
String? dateY;
late double propertyValue;
bool newData = false;
CustomerProperty(
{required propertyId,
required customerId,
required dateAdd,
required propertyValue});
CustomerProperty.fromJson(Map json) {
customerPropertyId = json['customerPropertyId'];
propertyId = json['propertyId'];
customerId = json['customerId'];
dateAdd = DateTime.parse(json['dateAdd']);
if (dateAdd != null) {
dateYmd = DateFormat('yyyy-MM-dd').format(dateAdd!);
dateYm = DateFormat('yyyy-MM').format(dateAdd!);
dateY = DateFormat('yyyy').format(dateAdd!);
}
propertyValue = json['propertyValue'];
log("Json $json, ${toString()}");
}
Map<String, dynamic> toJson() {
if (customerPropertyId != null) {
return {
"customerPropertyId": customerPropertyId,
"propertyId": propertyId,
"customerId": customerId,
"dateAdd": DateFormat('yyyy-MM-dd HH:mm:ss').format(dateAdd!),
"propertyValue": propertyValue
};
} else {
return {
"propertyId": propertyId,
"customerId": customerId,
"dateAdd": DateFormat('yyyy-MM-dd HH:mm:ss').format(dateAdd!),
"propertyValue": propertyValue
};
}
}
@override
String toString() {
Map<String, dynamic> json = {
"customerPropertyId": customerPropertyId,
"propertyId": propertyId,
"customerId": customerId,
"dateAdd": DateFormat('yyyy-MM-dd HH:mm:ss').format(dateAdd!),
"propertyValue": propertyValue,
"dateYmd": dateYmd,
"dateYm": dateYm,
"dateY": dateY,
};
return json.toString();
}
}