manageInventoryStockcountSystemService method

Future<List<ManageInventoryStockCountSystem>> manageInventoryStockcountSystemService(
  1. ManageInventoryStockCountSystem manageInventoryStockCount,
  2. String action
)

Implementation

Future<List<stockCount.ManageInventoryStockCountSystem>> manageInventoryStockcountSystemService(stockCount.ManageInventoryStockCountSystem manageInventoryStockCount,String action) async{
  var api = await ExternalApiClassHelper.load('external_api');
  var externalApi = tasks. ExternalApiClass(
    externalWebApiToken: api?.externalWebApiToken ?? "",
    externalWebApiTokenName: api?.externalWebApiTokenName ?? "",
    licenseKey: api?.licenseKey ?? "",
    licenseKeyId: api?.licenseKeyId ?? "",
    employeeId: api?.employeeId ?? "",
  );

  var request = tasks. ManageInventoryStockCountSessionRequest(
    externalApiClass: externalApi,
    manageInventoryStockCountSession: tasks. ManageInventoryStockCountSession(
      manageStockCountSession: tasks. ManageStockCountSession(
        manageStockSessionId: manageInventoryStockCount.manageStockCountSession!.manageStockSessionId
      ),
      inventoryManagement: tasks. InventoryManagement(
        inventoryId: manageInventoryStockCount.inventoryManagement!.inventoryId
      )
    ),
    iCEmployee: tasks. ICEmployee(
      icEmployeeId: manageInventoryStockCount.employee!.id
    ),
    action: action
  );

  final plainBytes = request.writeToBuffer();
  final result = GrpcEncryptedHelper.encrypt(plainBytes);
  final Uint8List iv = result["iv"]!;
  final Uint8List cipherText = result["ciphertext"]!;
  var response = await  taskServiceClient.manageInventoryStockCountSessionService( tasks. EncryptedMessage(iv: iv,ciphertext: cipherText));
  final decryptedBytes = GrpcEncryptedHelper.decrypted(Uint8List.fromList(response.iv), Uint8List.fromList(response.ciphertext));
  final responses = tasks. ManageInventoryStockCountSessionResponse.fromBuffer(decryptedBytes);
  // DateTime? _parseDate(String? value) {
  //   if (value == null || value.isEmpty) return null;
  //   return DateTime.parse(value);
  // }
  List<stockCount.ManageInventoryStockCountSystem> manageInventory  =[];
  if(responses.success){
    if(responses.manageInventoryStockCountSession.isNotEmpty){
      for(var s in responses.manageInventoryStockCountSession){
        manageInventory.add(stockCount.ManageInventoryStockCountSystem(manageInventoryId: s.manageInventoryId,manageStockCountSession:
        stockCount.ManageStockCountSession(manageStockSessionId: s.manageStockCountSession.manageStockSessionId),
        inventoryManagement: stock.Inventory(
           inventoryId:  s.inventoryManagement.inventoryId,
           item:  Item(
          newItemNumber:  s.inventoryManagement.productItem.newItemNumber,
          itemName1:  s.inventoryManagement.productItem.itemName1,
          itemName2: s.inventoryManagement.productItem.itemName2,
          modelName: s.inventoryManagement.productItem.modelName),
          icProject:   icproject.ICProject(organization: icproject.Organization(organizationid: 0),projectGroup: icproject.ProjectGroup()),

        qtyOnHand: 0)
        ));
      }
    }

    return manageInventory;
  }
  return [];
}