Selaa lähdekoodia

Sobreescribe la la sincronizacion de toppings para evitar duplicados

OscarGil03 7 kuukautta sitten
vanhempi
commit
bf6b1deab3
1 muutettua tiedostoa jossa 4 lisäystä ja 23 poistoa
  1. 4 23
      lib/services/repo_service.dart

+ 4 - 23
lib/services/repo_service.dart

@@ -1016,32 +1016,13 @@ class RepoService<T> {
       List<ProductoTopping> toppingsApi) async {
       List<ProductoTopping> toppingsApi) async {
     var db = await RepoService().db;
     var db = await RepoService().db;
 
 
-    // Obtenemos los toppings locales existentes
-    var toppingsLocalesQuery = await db!.query('ProductoTopping');
-    List<ProductoTopping> toppingsLocales =
-        toppingsLocalesQuery.map((e) => ProductoTopping.fromJson(e)).toList();
+    await db!.delete('ProductoTopping');
 
 
     for (var toppingApi in toppingsApi) {
     for (var toppingApi in toppingsApi) {
-      var toppingLocal = toppingsLocales.firstWhere(
-        (topping) => topping.id == toppingApi.id,
-        orElse: () => ProductoTopping(),
-      );
-
-      DateTime? fechaModificadaApi = toppingApi.modificado?.toUtc();
-      DateTime? fechaModificadaLocal = toppingLocal.modificado?.toUtc();
-
-      if (toppingLocal.id == 0) {
-        print("Insertando nuevo topping de producto: ${toppingApi.idProducto}");
-        await RepoService().guardar(toppingApi);
-      } else if (fechaModificadaApi != null &&
-          (fechaModificadaLocal == null ||
-              fechaModificadaApi.isAfter(fechaModificadaLocal))) {
-        print("Actualizando topping de producto: ${toppingApi.idProducto}");
-        await RepoService().guardar(toppingApi);
-      } else {
-        print("Topping sin cambios: ${toppingApi.idProducto}");
-      }
+      await RepoService().guardar(toppingApi);
     }
     }
+
+    print("Todos los registros de ProductoTopping han sido sincronizados.");
   }
   }
 
 
   Future<void> sincronizarSucursales(List<Sucursal> sucursalesApi) async {
   Future<void> sincronizarSucursales(List<Sucursal> sucursalesApi) async {