getQueryStringFromJsonSingleListTemp method

String getQueryStringFromJsonSingleListTemp({
  1. required dynamic model,
  2. required dynamic dataList,
  3. Function? dataInsertStatus,
})

Implementation

String getQueryStringFromJsonSingleListTemp({required dynamic model, required dynamic dataList, Function? dataInsertStatus }) {

 StringBuffer query = StringBuffer();
 query.write("INSERT INTO " + model.runtimeType.toString() + " (");

 Map<String, String> fieldNameList = model.getDataTypeMap();

 int i = 0;
 fieldNameList.forEach((field, type) {
   if (i == fieldNameList.length - 1) {
     query.write("$field ) VALUES ");
   } else {
     query.write("$field , ");
   }
   i++;
 });

 StringBuffer totalValue = StringBuffer();

 // Loof for All Object
 for (int j = 0; j < dataList!.length; j++) {
   StringBuffer singleModelTotalValue = StringBuffer();
   singleModelTotalValue.write("(");

   final Map<String, dynamic> data = dataList[j];

   String fieldValue = "";
   int k = 0;
   //Map for Single Object
   fieldNameList.forEach((fieldName, type) {

     try {
       //Map for Single Field
       data.forEach((key, value) {
         if (fieldName == key) {

           fieldValue = value.toString();
           throw 'Break Map'; // Stop iteration when the key is Matched
         }
       });
     } catch (e) {
     }

     fieldValue = fieldValue.replaceAll("'", "''");
     if (k == fieldNameList.length - 1) {
       singleModelTotalValue.write("'$fieldValue')");
     } else {
       singleModelTotalValue.write("'$fieldValue',");
     }
     k++;
   });


   if(j%100==0){
     if(dataInsertStatus != null){
       dataInsertStatus(j);
     }
   }

   if (j == dataList!.length - 1) {
     totalValue.write("$singleModelTotalValue");
   } else {
     totalValue.write("$singleModelTotalValue,");
   }
 }

 query.write(totalValue);

 return query.toString();
 }