|
@@ -1016,32 +1016,13 @@ class RepoService<T> {
|
|
|
List<ProductoTopping> toppingsApi) async {
|
|
|
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) {
|
|
|
- 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 {
|