Przeglądaj źródła

Clave sucursal cambia dependiendo del seleccionado en modulo de sucursales

OscarGil03 6 miesięcy temu
rodzic
commit
a0e47e578f

+ 17 - 0
lib/services/repo_service.dart

@@ -1179,4 +1179,21 @@ class RepoService<T> {
     }
     return true;
   }
+
+  Future<String?> obtenerClaveSucursalSeleccionada() async {
+    var db = await this.db;
+    List<Map<String, dynamic>> queryResult = await db!.query(
+      'Sucursal',
+      where: 'seleccionado = ? AND eliminado IS NULL',
+      whereArgs: [1],
+      limit: 1,
+    );
+
+    if (queryResult.isNotEmpty) {
+      Sucursal sucursalSeleccionada = Sucursal.fromJson(queryResult.first);
+      return sucursalSeleccionada.clave;
+    }
+
+    return null;
+  }
 }

+ 2 - 7
lib/viewmodels/pedido_view_model.dart

@@ -305,7 +305,8 @@ class PedidoViewModel extends ChangeNotifier {
 }
 
 Future<Map<String, dynamic>> prepararPedidoParaApi(Pedido pedido) async {
-  String? claveSucursal = await obtenerClaveSucursal();
+  String? claveSucursal =
+      await RepoService().obtenerClaveSucursalSeleccionada();
 
   Map<String, dynamic> apiMap = pedido.toApi();
 
@@ -317,9 +318,3 @@ Future<Map<String, dynamic>> prepararPedidoParaApi(Pedido pedido) async {
 
   return apiMap;
 }
-
-Future<String?> obtenerClaveSucursal() async {
-  RepoService<Variable> repoVariable = RepoService<Variable>();
-  Variable? sucursalVariable = await repoVariable.obtenerPorNombre('Sucursal');
-  return sucursalVariable?.clave;
-}

+ 6 - 8
lib/viewmodels/producto_view_model.dart

@@ -180,7 +180,8 @@ class ProductoViewModel<T> extends ChangeNotifier {
   }
 
   Future<bool> sincronizarCategorias() async {
-    String? claveSucursal = await obtenerClaveSucursal();
+    String? claveSucursal =
+        await RepoService().obtenerClaveSucursalSeleccionada();
 
     try {
       Map<String, String> parametros = {
@@ -211,7 +212,8 @@ class ProductoViewModel<T> extends ChangeNotifier {
   }
 
   Future<bool> sincronizarProductos() async {
-    String? claveSucursal = await obtenerClaveSucursal();
+    String? claveSucursal =
+        await RepoService().obtenerClaveSucursalSeleccionada();
 
     try {
       Map<String, String> parametros = {
@@ -262,7 +264,8 @@ class ProductoViewModel<T> extends ChangeNotifier {
   }
 
   Future<bool> sincronizarProductoTopping() async {
-    String? claveSucursal = await obtenerClaveSucursal();
+    String? claveSucursal =
+        await RepoService().obtenerClaveSucursalSeleccionada();
 
     try {
       Map<String, String> parametros = {
@@ -337,9 +340,4 @@ class ProductoViewModel<T> extends ChangeNotifier {
       fetchLocalAll(page: _currentPage - 1);
     }
   }
-
-  Future<String?> obtenerClaveSucursal() async {
-    Variable? sucursal = await RepoService().obtenerPorNombre('Sucursal');
-    return sucursal?.clave;
-  }
 }