upsertTR method

Future<RawRowData> upsertTR(
  1. TrDto trDto,
  2. FieldData? fieldData,
  3. WhereData whereData
)

Implementation

Future<RawRowData> upsertTR(
    TrDto trDto, FieldData? fieldData, WhereData whereData) async {
  fieldData = _appendTRFieldValues(trDto, fieldData);
  try {
    await selectTR(whereData, fieldData: fieldData);
    await updateTR(trDto, fieldData, whereData);
  } on SqlException catch (e) {
    if (e.sqlExceptionEnum == SqlExceptionEnum.ENTRY_NOT_FOUND ||
        e.sqlExceptionEnum == SqlExceptionEnum.FAILED_SELECT) {
      await insertTR(trDto, fieldData);
    }
  }
  return fieldData.getRawRowData();
}