delete method

Implementation

Future<Either<ErrorSqlResult, ExecuteSuccesSqlResult>> delete() async {
  return (_prepareDeleteSQL()).fold((l) => left(l..methodName = 'delete'),
      (sql) async {
    return (await _sqlConnection.executeCommand('delete', sql))
        .fold((l) => left(l), (r) {
      if (r.rowsAffected == 1) {
        _records.removeAt(_rowIndex);
        if (_rowIndex == 0) {
          _newREcord();
        } else {
          _rowIndex--;
        }
        return right(r);
      } else {
        return left(
            ErrorSqlResult(_className, 'delete', sql, ['record not found']));
      }
    });
  });
}