updateConditionedRecords method

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

Implementation

Future<Map<String,dynamic>> updateConditionedRecords({required String table,required Map values,Map<String,dynamic> userDefinedFunctions = const{},String condition=""}) async{
  Map<String,dynamic> result = Simplify.getDefaultResult();
  String query="";
  try {
    List<dynamic> fieldValues=[];
    String updateString="";
    values.forEach((fieldName, fieldValue){
      if(updateString!=""){
        updateString+=",";
      }
      updateString+=fieldName+"=?";
      fieldValues.add(fieldValue);
    });
    if(userDefinedFunctions!=null){
      userDefinedFunctions.forEach((fieldName, function) {
        if(updateString!=""){
          updateString+=",";
        }
        updateString+=fieldName+"="+function["field_value"];
      });
    }
    if(updateString!=""){
      updateString+=",";
    }
    updateString+="modified_on=date('now')";
    query="UPDATE "+table+" SET "+updateString+" WHERE "+condition+";";
    if(logQuery){
      _debug(query);
    }
    result=await executeActionQuery(query: query,action: actionUpdate,values: fieldValues);
  }
  catch(ex,stack){
    result["query"]=query;
    result["message"]=Simplify.getExceptionMessage(ex,stack: stack);
  }
  return result;
}