36 lines
1.1 KiB
Dart
36 lines
1.1 KiB
Dart
import 'package:intl/intl.dart';
|
|
class AttendanceLogViewModel {
|
|
final DateTime? activityTime;
|
|
final String? imageUrl;
|
|
final String? comment;
|
|
final String? thumbPreSignedUrl;
|
|
final String? preSignedUrl;
|
|
final String? longitude;
|
|
final String? latitude;
|
|
|
|
AttendanceLogViewModel({
|
|
this.activityTime,
|
|
this.imageUrl,
|
|
this.comment,
|
|
this.thumbPreSignedUrl,
|
|
this.preSignedUrl,
|
|
this.longitude,
|
|
this.latitude,
|
|
});
|
|
|
|
factory AttendanceLogViewModel.fromJson(Map<String, dynamic> json) {
|
|
return AttendanceLogViewModel(
|
|
activityTime: json['activityTime'] != null ? DateTime.tryParse(json['activityTime']) : null,
|
|
imageUrl: json['imageUrl'],
|
|
comment: json['comment'],
|
|
thumbPreSignedUrl: json['thumbPreSignedUrl'],
|
|
preSignedUrl: json['preSignedUrl'],
|
|
longitude: json['longitude'],
|
|
latitude: json['latitude'],
|
|
);
|
|
}
|
|
|
|
String? get formattedDate => activityTime != null ? DateFormat('yyyy-MM-dd').format(activityTime!) : null;
|
|
|
|
String? get formattedTime => activityTime != null ? DateFormat('hh:mm a').format(activityTime!) : null;
|
|
} |