insertRecords method

Future<Map<String, dynamic>> insertRecords({
  1. required String table,
  2. required Map<String, dynamic> values,
  3. Map<String, dynamic> userDefinedFunctions = const {},
})
override

Implementation

Future<Map<String,dynamic>> insertRecords({required String table,required Map<String,dynamic >values,Map<String,dynamic> userDefinedFunctions = const {}}) async{
  Map<String,dynamic> result = Simplify.getDefaultResult();
  String query="";
  try {
    List<dynamic> fieldValues=[];
    String valuesString="",fieldsString="";
    values.forEach((fieldName, fieldValue){
      if(valuesString!=""){
        fieldsString+=",";
        valuesString+=",";
      }
      fieldsString+=fieldName;
      valuesString+="?";
      fieldValues.add(fieldValue);
    });
    if(userDefinedFunctions!=null){
      userDefinedFunctions.forEach((fieldName, function) {
        if(valuesString!=""){
          fieldsString+=",";
          valuesString+=",";
        }
        fieldsString+=fieldName;
        valuesString+=function["field_value"];
      });
    }
    if(fieldsString!=""){
      fieldsString+=",";
      valuesString+=",";
    }
    fieldsString+="created_on,modified_on";
    valuesString+="date('now'),date('now')";
    query="INSERT INTO "+table+"("+fieldsString+") VALUES("+valuesString+");";
    if(logQuery){
      _debug(query);
    }
    result=await executeActionQuery(query: query,action: actionInsert,values: fieldValues);
  }
  catch(ex,stack){
    result["query"]=query;
    result["message"]=Simplify.getExceptionMessage(ex,stack: stack);
  }
  return result;
}