first commit
This commit is contained in:
82
lib/models/tank_model.dart
Normal file
82
lib/models/tank_model.dart
Normal file
@@ -0,0 +1,82 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class TankModel {
|
||||
final String szDocumentId;
|
||||
final String szUserId;
|
||||
final String szDate;
|
||||
final String szOdometer;
|
||||
final String szLiters;
|
||||
final String szPricePerLiter;
|
||||
final String szLocation;
|
||||
final String szPriceTotal;
|
||||
|
||||
TankModel({
|
||||
required this.szDocumentId,
|
||||
required this.szUserId,
|
||||
required this.szDate,
|
||||
required this.szOdometer,
|
||||
required this.szLiters,
|
||||
required this.szPricePerLiter,
|
||||
required this.szLocation,
|
||||
required this.szPriceTotal,
|
||||
});
|
||||
|
||||
TankModel copyWith({
|
||||
String? szDocumentId,
|
||||
String? szUserId,
|
||||
String? szDate,
|
||||
String? szOdometer,
|
||||
String? szLiters,
|
||||
String? szPricePerLiter,
|
||||
String? szLocation,
|
||||
String? szPriceTotal,
|
||||
}) {
|
||||
return TankModel(
|
||||
szDocumentId: szDocumentId ?? this.szDocumentId,
|
||||
szUserId: szUserId ?? this.szUserId,
|
||||
szDate: szDate ?? this.szDate,
|
||||
szOdometer: szOdometer ?? this.szOdometer,
|
||||
szLiters: szLiters ?? this.szLiters,
|
||||
szPricePerLiter: szPricePerLiter ?? this.szPricePerLiter,
|
||||
szLocation: szLocation ?? this.szLocation,
|
||||
szPriceTotal: szPriceTotal ?? this.szPriceTotal,
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
final result = <String, dynamic>{};
|
||||
|
||||
result.addAll({'\$id': szDocumentId});
|
||||
result.addAll({'userId': szUserId});
|
||||
result.addAll({'date': szDate});
|
||||
result.addAll({'odometer': szOdometer});
|
||||
result.addAll({'liters': szLiters});
|
||||
result.addAll({'pricePerLiter': szPricePerLiter});
|
||||
result.addAll({'location': szLocation});
|
||||
result.addAll({'priceTotal': szPriceTotal});
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
factory TankModel.fromMap(Map<String, dynamic> map) {
|
||||
return TankModel(
|
||||
szDocumentId: map['\$id'] ?? '',
|
||||
szUserId: map['userId'] ?? '',
|
||||
szDate: map['date'] ?? '',
|
||||
szOdometer: map['odometer'] ?? '',
|
||||
szLiters: map['liters'] ?? '',
|
||||
szPricePerLiter: map['pricePerLiter'] ?? '',
|
||||
szLocation: map['location'] ?? '',
|
||||
szPriceTotal: (double.parse(map['liters']?.toString() ?? '0') * double.parse(map['pricePerLiter']?.toString() ?? '0')).toStringAsFixed(2),
|
||||
);
|
||||
}
|
||||
|
||||
String toJson() => json.encode(toMap());
|
||||
|
||||
factory TankModel.fromJson(String source) => TankModel.fromMap(json.decode(source));
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'TankModel(szDocumentId: $szDocumentId, szUserId: $szUserId, szDate: $szDate, szOdometer: $szOdometer, szLiters: $szLiters, szPricePerLiter: $szPricePerLiter, szLocation: $szLocation, szPriceTotal: $szPriceTotal)';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user