Files
syncrow-web/lib/pages/analytics/models/occupancy_heat_map_model.dart
2025-06-27 15:29:11 +03:00

34 lines
980 B
Dart

import 'package:equatable/equatable.dart';
class OccupancyHeatMapModel extends Equatable {
final String uuid;
final DateTime eventDate;
final int countTotalPresenceDetected;
const OccupancyHeatMapModel({
required this.uuid,
required this.eventDate,
required this.countTotalPresenceDetected,
});
factory OccupancyHeatMapModel.fromJson(Map<String, dynamic> json) {
final eventDate = json['event_date'] as String? ?? '${DateTime.now()}';
final year = eventDate.split('-')[0];
final month = eventDate.split('-')[1];
final day = eventDate.split('-')[2];
return OccupancyHeatMapModel(
uuid: json['uuid'] as String? ?? '',
eventDate: DateTime(int.parse(year), int.parse(month), int.parse(day)),
countTotalPresenceDetected: num.parse(
json['count_total_presence_detected']?.toString() ?? '0',
).toInt(),
);
}
@override
List<Object?> get props => [uuid, eventDate, countTotalPresenceDetected];
}