|
|
@@ -6,7 +6,13 @@ import '../services/sync/ordine_sync_service.dart';
|
|
|
import '../services/sync/filiale_sync_service.dart';
|
|
|
import '../services/sync/reference_sync_service.dart';
|
|
|
import '../services/image_service.dart';
|
|
|
+import 'article_provider.dart';
|
|
|
+import 'auth_provider.dart';
|
|
|
+import 'customer_provider.dart';
|
|
|
+import 'dashboard_provider.dart';
|
|
|
import 'database_provider.dart';
|
|
|
+import 'order_provider.dart';
|
|
|
+import '../ui/pages/payments/payments_page.dart';
|
|
|
|
|
|
final apiServiceProvider = Provider<ApiService>((ref) {
|
|
|
final parametriDao = ref.read(parametriDaoProvider);
|
|
|
@@ -83,6 +89,15 @@ class SyncNotifier extends Notifier<SyncState> {
|
|
|
Future<void> startFullSync(int idAgente, String codAgente, {bool forceFullSync = false}) async {
|
|
|
state = const SyncState(isSyncing: true, message: 'Avvio sincronizzazione...');
|
|
|
try {
|
|
|
+ final agentiDao = ref.read(agentiDaoProvider);
|
|
|
+ final agente = await agentiDao.findByCode(codAgente);
|
|
|
+ if (agente?.pwd != null) {
|
|
|
+ final authService = ref.read(authServiceProvider);
|
|
|
+ final token = await authService.loginRemote(codAgente, agente!.pwd!);
|
|
|
+ ref.read(apiServiceProvider).token = token;
|
|
|
+ }
|
|
|
+ _update('Token JWT acquisito', 0.02);
|
|
|
+
|
|
|
final parametriDao = ref.read(parametriDaoProvider);
|
|
|
final ordineSync = ref.read(ordineSyncServiceProvider);
|
|
|
final filialeSync = ref.read(filialeSyncServiceProvider);
|
|
|
@@ -133,6 +148,19 @@ class SyncNotifier extends Notifier<SyncState> {
|
|
|
await parametriDao.set('lastUpdate', newLastUpdate);
|
|
|
|
|
|
state = const SyncState(message: 'Sincronizzazione completata!', progress: 1.0);
|
|
|
+
|
|
|
+ ref.invalidate(articleSearchProvider);
|
|
|
+ ref.invalidate(activeArticleSearchProvider);
|
|
|
+ ref.invalidate(priceCodesProvider);
|
|
|
+ ref.invalidate(customerListProvider);
|
|
|
+ ref.invalidate(customerSearchProvider);
|
|
|
+ ref.invalidate(customerDestinationsProvider);
|
|
|
+ ref.invalidate(customerPaymentsProvider);
|
|
|
+ ref.invalidate(ordersViewProvider);
|
|
|
+ ref.invalidate(ordersSearchViewProvider);
|
|
|
+ ref.invalidate(orderStatsProvider);
|
|
|
+ ref.invalidate(dashboardProvider);
|
|
|
+ ref.invalidate(paymentsProvider);
|
|
|
} catch (e) {
|
|
|
state = SyncState(error: e.toString(), message: 'Errore durante la sincronizzazione');
|
|
|
}
|