TKK_E32221220/lib/models/history_model.dart

52 lines
1.5 KiB
Dart

import 'package:cloud_firestore/cloud_firestore.dart';
class History {
final DateTime tanggal;
final double berat;
final double tinggi;
final double bmi;
String user; // Menambahkan field user
History({
required this.tanggal,
required this.berat,
required this.tinggi,
required this.bmi,
required this.user, // Inisialisasi user
});
// Fungsi untuk mengonversi objek History menjadi Map
Map<String, dynamic> toMap() {
return {
'tanggal': tanggal.toIso8601String(),
'berat': berat,
'tinggi': tinggi,
'bmi': bmi,
'user': user, // Menambahkan field user ke map
};
}
// Fungsi untuk mengonversi Map menjadi objek History
factory History.fromMap(Map<String, dynamic> map) {
return History(
tanggal: DateTime.parse(map['tanggal']),
berat: map['berat'] as double,
tinggi: map['tinggi'] as double,
bmi: map['bmi'] as double,
user: map['user'] as String, // Mengambil data user dari map
);
}
// Fungsi untuk mengonversi data Firestore menjadi objek History
static History fromFirestore(QueryDocumentSnapshot<Map<String, dynamic>> doc) {
var data = doc.data();
return History(
tanggal: (data['timestamp'] as Timestamp).toDate(), // Mengonversi Timestamp ke DateTime
berat: data['berat'].toDouble(),
tinggi: data['tinggi'].toDouble(),
bmi: data['bmi'].toDouble(),
user: data['user'] ?? 'Unknown', // Menambahkan user dengan default 'Unknown'
);
}
}