Erweiterungen
This commit is contained in:
1 parent
ba1f7d5440
commit
bb3dc9e856
28 files changed
+1672
-1291
No files matched your search
@@ -1,6 +1,7 @@
|
||||
import 'dart:convert';
|
||||
import 'package:objectbox/objectbox.dart';
|
||||
import 'package:stadtbote/model/job_tour.dart';
|
||||
import 'package:stadtbote/model/tour_file.dart';
|
||||
|
||||
@Entity()
|
||||
class Job {
|
||||
@@ -34,6 +35,25 @@ class Job {
|
||||
toursJson = jsonEncode(value.map((e) => e.toJson()).toList());
|
||||
}
|
||||
|
||||
// Store files as JSON string for ObjectBox
|
||||
String filesJson = '';
|
||||
|
||||
@Transient()
|
||||
List<TourFile> get files {
|
||||
if (filesJson.isEmpty) {
|
||||
return [];
|
||||
}
|
||||
final List<dynamic> decoded = jsonDecode(filesJson);
|
||||
return decoded.map((e) => TourFile.fromJson(e as Map<String, dynamic>)).toList();
|
||||
}
|
||||
|
||||
set files(List<TourFile> value) {
|
||||
filesJson = jsonEncode(value.map((e) => e.toJson()).toList());
|
||||
}
|
||||
|
||||
// Helper method to check if job has files
|
||||
bool get hasFiles => files.isNotEmpty;
|
||||
|
||||
Job();
|
||||
|
||||
factory Job.fromJson(Map<String, dynamic> json) {
|
||||
@@ -52,6 +72,11 @@ class Job {
|
||||
job.tours = (json['tours'] as List<dynamic>)
|
||||
.map((e) => JobTour.fromJson(e as Map<String, dynamic>))
|
||||
.toList();
|
||||
if (json['files'] != null) {
|
||||
job.files = (json['files'] as List<dynamic>)
|
||||
.map((e) => TourFile.fromJson(e as Map<String, dynamic>))
|
||||
.toList();
|
||||
}
|
||||
return job;
|
||||
}
|
||||
|
||||
@@ -68,6 +93,7 @@ class Job {
|
||||
'rem': rem,
|
||||
'delayOrderTime': delayOrderTime,
|
||||
'tours': tours.map((e) => e.toJson()).toList(),
|
||||
'files': files.map((e) => e.toJson()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user