refactor: naming synchronisation
parent
f0d575e2f3
commit
b4b50f6192
|
|
@ -25,7 +25,7 @@ class VisitModel {
|
||||||
required this.type_visite,
|
required this.type_visite,
|
||||||
required this.langage});
|
required this.langage});
|
||||||
|
|
||||||
static Future<List<VisitModel>> getTodayVisit() async {
|
static Future<List<VisitModel>> getTodayVisits() async {
|
||||||
// Retrieve all today visits from the database
|
// Retrieve all today visits from the database
|
||||||
final visits = await objectbox.getTodayVisit();
|
final visits = await objectbox.getTodayVisit();
|
||||||
|
|
||||||
|
|
@ -49,7 +49,7 @@ class VisitModel {
|
||||||
return visitModelList;
|
return visitModelList;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Future<List<VisitModel>> getPreviousVisit() async {
|
static Future<List<VisitModel>> getPreviousVisits() async {
|
||||||
// Retrieve all previsous visits from the database
|
// Retrieve all previsous visits from the database
|
||||||
final visits = await objectbox.getPreviousVisit();
|
final visits = await objectbox.getPreviousVisit();
|
||||||
|
|
||||||
|
|
@ -73,7 +73,7 @@ class VisitModel {
|
||||||
return visitModelList;
|
return visitModelList;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Future<List<VisitModel>> getAllVisit() async {
|
static Future<List<VisitModel>> getToSyncVisits() async {
|
||||||
// Retrieve all visits from the database
|
// Retrieve all visits from the database
|
||||||
final visits = await objectbox.getAllVisit();
|
final visits = await objectbox.getAllVisit();
|
||||||
|
|
||||||
|
|
@ -91,6 +91,9 @@ class VisitModel {
|
||||||
image: visite.url_photo_principale,
|
image: visite.url_photo_principale,
|
||||||
type_visite: visite.type_visite,
|
type_visite: visite.type_visite,
|
||||||
langage: visite.langage))
|
langage: visite.langage))
|
||||||
|
.where((visit) =>
|
||||||
|
visit.photoCount >
|
||||||
|
0) // Filter out visits with photoCount equal to 0
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
// Return the list of VisiteModel
|
// Return the list of VisiteModel
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import 'package:mobdr/main.dart';
|
||||||
import 'package:mobdr/ui/account/tab_account.dart';
|
import 'package:mobdr/ui/account/tab_account.dart';
|
||||||
import 'package:mobdr/ui/home/tab_home.dart';
|
import 'package:mobdr/ui/home/tab_home.dart';
|
||||||
import 'package:mobdr/ui/mp4/tab_mp4.dart';
|
import 'package:mobdr/ui/mp4/tab_mp4.dart';
|
||||||
import 'package:mobdr/ui/visit/tab_visit.dart';
|
import 'package:mobdr/ui/sync/tab_sync.dart';
|
||||||
|
|
||||||
import 'package:mobdr/config/constant.dart';
|
import 'package:mobdr/config/constant.dart';
|
||||||
import 'package:mobdr/events.dart';
|
import 'package:mobdr/events.dart';
|
||||||
|
|
@ -28,7 +28,7 @@ class _HomePageState extends State<HomePage>
|
||||||
void initState() {
|
void initState() {
|
||||||
_contentPages = <Widget>[
|
_contentPages = <Widget>[
|
||||||
TabHomePage(),
|
TabHomePage(),
|
||||||
TabVisitListPage(),
|
TabSyncPage(),
|
||||||
TabMP4Page(),
|
TabMP4Page(),
|
||||||
TabAccountPage(),
|
TabAccountPage(),
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -410,8 +410,8 @@ class _TabHomePageState extends State<TabHomePage>
|
||||||
/// Initializes data when the page loads.
|
/// Initializes data when the page loads.
|
||||||
Future<void> loadData() async {
|
Future<void> loadData() async {
|
||||||
// visite model initialisation
|
// visite model initialisation
|
||||||
todayVisitData = await VisitModel.getTodayVisit();
|
todayVisitData = await VisitModel.getTodayVisits();
|
||||||
previousVisitData = await VisitModel.getPreviousVisit();
|
previousVisitData = await VisitModel.getPreviousVisits();
|
||||||
|
|
||||||
// Search for the visit matching last_id_visit
|
// Search for the visit matching last_id_visit
|
||||||
int lastIdVisite = SharedPrefs().last_id_visite;
|
int lastIdVisite = SharedPrefs().last_id_visite;
|
||||||
|
|
@ -426,6 +426,13 @@ class _TabHomePageState extends State<TabHomePage>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (var visit in previousVisitData) {
|
||||||
|
if (visit.id_visite == lastIdVisite) {
|
||||||
|
lastVisitData = visit;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (lastVisitData == null) {
|
if (lastVisitData == null) {
|
||||||
SharedPrefs().last_id_visite = 0;
|
SharedPrefs().last_id_visite = 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,12 +12,12 @@ import 'package:mobdr/ui/reusable/cache_image_network.dart';
|
||||||
import 'package:mobdr/ui/sync/upload_photos.dart';
|
import 'package:mobdr/ui/sync/upload_photos.dart';
|
||||||
import 'package:mobdr/ui/sync/check_connection.dart';
|
import 'package:mobdr/ui/sync/check_connection.dart';
|
||||||
|
|
||||||
class TabVisitListPage extends StatefulWidget {
|
class TabSyncPage extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
_TabVisitListPageState createState() => _TabVisitListPageState();
|
_TabSyncPageState createState() => _TabSyncPageState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _TabVisitListPageState extends State<TabVisitListPage>
|
class _TabSyncPageState extends State<TabSyncPage>
|
||||||
with AutomaticKeepAliveClientMixin {
|
with AutomaticKeepAliveClientMixin {
|
||||||
// keep the state to do not refresh when switch navbar
|
// keep the state to do not refresh when switch navbar
|
||||||
@override
|
@override
|
||||||
|
|
@ -26,7 +26,7 @@ class _TabVisitListPageState extends State<TabVisitListPage>
|
||||||
bool _isLoading = true;
|
bool _isLoading = true;
|
||||||
String _errorMessage = '';
|
String _errorMessage = '';
|
||||||
|
|
||||||
late List<VisitModel> modelData = [];
|
late List<VisitModel> tosyncVisitData = [];
|
||||||
|
|
||||||
late StreamSubscription subVisitPhotoCountEvent;
|
late StreamSubscription subVisitPhotoCountEvent;
|
||||||
|
|
||||||
|
|
@ -40,9 +40,9 @@ class _TabVisitListPageState extends State<TabVisitListPage>
|
||||||
// Listen particular event
|
// Listen particular event
|
||||||
subVisitPhotoCountEvent = eventBus.on<VisitPhotoCountEvent>().listen((e) {
|
subVisitPhotoCountEvent = eventBus.on<VisitPhotoCountEvent>().listen((e) {
|
||||||
setState(() {
|
setState(() {
|
||||||
for (int i = 0; i < modelData.length; i++) {
|
for (int i = 0; i < tosyncVisitData.length; i++) {
|
||||||
if (modelData[i].id_visite == e.id_visite) {
|
if (tosyncVisitData[i].id_visite == e.id_visite) {
|
||||||
modelData[i].photoCount = e.photoCount;
|
tosyncVisitData[i].photoCount = e.photoCount;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -69,7 +69,7 @@ class _TabVisitListPageState extends State<TabVisitListPage>
|
||||||
final double boxImageSize = (MediaQuery.of(context).size.width / 4);
|
final double boxImageSize = (MediaQuery.of(context).size.width / 4);
|
||||||
if (_isLoading) {
|
if (_isLoading) {
|
||||||
return Center(child: CircularProgressIndicator());
|
return Center(child: CircularProgressIndicator());
|
||||||
} else if (modelData.isEmpty) {
|
} else if (tosyncVisitData.isEmpty) {
|
||||||
return Center(
|
return Center(
|
||||||
child: Text('No visits to synchronise.'),
|
child: Text('No visits to synchronise.'),
|
||||||
);
|
);
|
||||||
|
|
@ -91,7 +91,7 @@ class _TabVisitListPageState extends State<TabVisitListPage>
|
||||||
Flexible(
|
Flexible(
|
||||||
child: AnimatedList(
|
child: AnimatedList(
|
||||||
key: _listKey,
|
key: _listKey,
|
||||||
initialItemCount: modelData.length,
|
initialItemCount: tosyncVisitData.length,
|
||||||
physics: AlwaysScrollableScrollPhysics(),
|
physics: AlwaysScrollableScrollPhysics(),
|
||||||
itemBuilder: (context, index, animation) {
|
itemBuilder: (context, index, animation) {
|
||||||
return Dismissible(
|
return Dismissible(
|
||||||
|
|
@ -100,7 +100,7 @@ class _TabVisitListPageState extends State<TabVisitListPage>
|
||||||
onDismissed: (direction) {
|
onDismissed: (direction) {
|
||||||
// the photo must be removed
|
// the photo must be removed
|
||||||
setState(() {
|
setState(() {
|
||||||
modelData.removeAt(index);
|
tosyncVisitData.removeAt(index);
|
||||||
_listKey = GlobalKey<AnimatedListState>();
|
_listKey = GlobalKey<AnimatedListState>();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
@ -121,7 +121,7 @@ class _TabVisitListPageState extends State<TabVisitListPage>
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
child: _buildVisitelistCard(
|
child: _buildVisitelistCard(
|
||||||
modelData[index], boxImageSize, animation, index),
|
tosyncVisitData[index], boxImageSize, animation, index),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
@ -375,8 +375,8 @@ class _TabVisitListPageState extends State<TabVisitListPage>
|
||||||
/// Initializes data when the page loads.
|
/// Initializes data when the page loads.
|
||||||
Future<void> loadData() async {
|
Future<void> loadData() async {
|
||||||
try {
|
try {
|
||||||
// data initialisation with today visits
|
// initialization of data with all visits to be synchronized
|
||||||
modelData = await VisitModel.getAllVisit();
|
tosyncVisitData = await VisitModel.getToSyncVisits();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
// set errorMessage for debug
|
// set errorMessage for debug
|
||||||
_errorMessage = 'Error loading visits : $e';
|
_errorMessage = 'Error loading visits : $e';
|
||||||
Loading…
Reference in New Issue