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;
}