saveRecord method

Future<Map<String, dynamic>> saveRecord(
  1. Map<String, dynamic> data
)

Implementation

Future<Map<String,dynamic>> saveRecord(Map<String, dynamic> data) async {
  Map<String,dynamic> result = {
    "status": "failure",
    "message": "nothing executed",
    "operation": "SAVE"
  };
  try {
    String primaryKeyField = "";
    dynamic primaryKeyValue;
    formatValues();
    String validateStatus = validateValues();
    if (validateStatus == "success") {
      data.forEach((field, value) {
        if(fields.containsKey(field)){
          if (fields[field][fieldAttributes]
              .contains(attributePrimaryKey)) {
            primaryKeyField = fields[field][fieldName];
            primaryKeyValue = value;
            result[attributePrimaryKey] = primaryKeyField;
          }
        }
      });
      if(Simplify.validPrimaryKeyValue(primaryKeyValue)){
        result=await updateRecord(data);
      }
      else{
        result=await insertRecord(data);
      }
    } else {
      result["message"] = validateStatus;
    }
  } catch (ex, stack) {
    result["message"] = Simplify.getExceptionMessage(ex, stack: stack);
  }
  return result;
}