Skip to main content

IRuntimeRepository

Namespace: Meshmakers.Octo.Runtime.Contracts.Repositories

Interface of runtime repository, a repository that is used to access runtime entities.

public interface IRuntimeRepository

Properties

TenantId

Returns the tenant id

public abstract string TenantId { get; }

Property Value

String

Methods

GetSessionAsync()

Gets a new session

Task<IOctoSession> GetSessionAsync()

Returns

Task<IOctoSession>
The session object to handle a transaction

GetRtEntityByRtIdAsync(IOctoSession, RtEntityId)

Gets an entity by its runtime id.

Task<RtEntity> GetRtEntityByRtIdAsync(IOctoSession session, RtEntityId rtEntityId)

Parameters

session IOctoSession
The session object

rtEntityId RtEntityId
The runtime id

Returns

Task<RtEntity>

GetRtEntityByRtIdAsync<TEntity>(IOctoSession, OctoObjectId)

Gets an entity by its runtime id.

Task<TEntity> GetRtEntityByRtIdAsync<TEntity>(IOctoSession session, OctoObjectId rtId)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
The session object

rtId OctoObjectId
The object id

Returns

Task<TEntity>

GetRtEntitiesByIdAsync(IOctoSession, CkId<CkTypeId>, IReadOnlyList<OctoObjectId>, DataQueryOperation, Nullable<Int32>, Nullable<Int32>)

Gets entities based on the query options.

Task<IResultSet<RtEntity>> GetRtEntitiesByIdAsync(IOctoSession session, CkId<CkTypeId> ckTypeId, IReadOnlyList<OctoObjectId> rtIds, DataQueryOperation dataQueryOperation, Nullable<int> skip, Nullable<int> take)

Parameters

session IOctoSession
The session object

ckTypeId CkId<CkTypeId>
Construction kit type id

rtIds IReadOnlyList<OctoObjectId>
Object ids of the runtime entities

dataQueryOperation DataQueryOperation
Query options for data query

skip Nullable<Int32>
Amount of items to skip

take Nullable<Int32>
Amount of items to take

Returns

Task<IResultSet<RtEntity>>
Returns a result set of the given type

GetRtEntitiesByIdAsync<TEntity>(IOctoSession, IReadOnlyList<OctoObjectId>, DataQueryOperation, Nullable<Int32>, Nullable<Int32>)

Gets entities based on the query options.

Task<IResultSet<TEntity>> GetRtEntitiesByIdAsync<TEntity>(IOctoSession session, IReadOnlyList<OctoObjectId> rtIds, DataQueryOperation dataQueryOperation, Nullable<int> skip, Nullable<int> take)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
The session object

rtIds IReadOnlyList<OctoObjectId>
Object ids of the runtime entities

dataQueryOperation DataQueryOperation
Query options for data query

skip Nullable<Int32>
Amount of items to skip

take Nullable<Int32>
Amount of items to take

Returns

Task<IResultSet<TEntity>>
Returns a result set of the given type

GetRtEntitiesByTypeAsync(IOctoSession, CkId<CkTypeId>, DataQueryOperation, Nullable<Int32>, Nullable<Int32>)

Gets entities based on the query options.

Task<IResultSet<RtEntity>> GetRtEntitiesByTypeAsync(IOctoSession session, CkId<CkTypeId> ckTypeId, DataQueryOperation dataQueryOperation, Nullable<int> skip, Nullable<int> take)

Parameters

session IOctoSession
The session object

ckTypeId CkId<CkTypeId>
Construction kit type id

dataQueryOperation DataQueryOperation
Query options for data query

skip Nullable<Int32>
Amount of items to skip

take Nullable<Int32>
Amount of items to take

Returns

Task<IResultSet<RtEntity>>

GetRtEntitiesByTypeAsync<TEntity>(IOctoSession, DataQueryOperation, Nullable<Int32>, Nullable<Int32>)

Task<IResultSet<TEntity>> GetRtEntitiesByTypeAsync<TEntity>(IOctoSession session, DataQueryOperation dataQueryOperation, Nullable<int> skip, Nullable<int> take)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
The session object

dataQueryOperation DataQueryOperation
Query options for data query

skip Nullable<Int32>
Amount of items to skip

take Nullable<Int32>
Amount of items to take

Returns

Task<IResultSet<TEntity>>

GetRtAssociationsAsync(IOctoSession, OctoObjectId, GraphDirections)

Gets associations for a runtime entity.

Task<IReadOnlyList<RtAssociation>> GetRtAssociationsAsync(IOctoSession session, OctoObjectId rtId, GraphDirections direction)

Parameters

session IOctoSession
The session object

rtId OctoObjectId
Object id of the runtime entity

direction GraphDirections
Direction of associations to get

Returns

Task<IReadOnlyList<RtAssociation>>

GetRtAssociationsAsync(IOctoSession, OctoObjectId, GraphDirections, CkId<CkAssociationRoleId>)

Gets associations for a runtime entity of a specific role

Task<IReadOnlyList<RtAssociation>> GetRtAssociationsAsync(IOctoSession session, OctoObjectId rtId, GraphDirections direction, CkId<CkAssociationRoleId> roleId)

Parameters

session IOctoSession
The session object

rtId OctoObjectId
Object id of the runtime entity

direction GraphDirections
Direction of associations to get

roleId CkId<CkAssociationRoleId>
Association role

Returns

Task<IReadOnlyList<RtAssociation>>

GetRtAssociationsAsync(IOctoSession, IEnumerable<OctoObjectId>, GraphDirections, CkId<CkAssociationRoleId>)

Gets associations for multiple runtime entities of a specific role

Task<IReadOnlyList<RtAssociation>> GetRtAssociationsAsync(IOctoSession session, IEnumerable<OctoObjectId> rtIds, GraphDirections direction, CkId<CkAssociationRoleId> roleId)

Parameters

session IOctoSession
The session object

rtIds IEnumerable<OctoObjectId>
Object ids of the runtime entities

direction GraphDirections
Direction of associations to get

roleId CkId<CkAssociationRoleId>
Association role

Returns

Task<IReadOnlyList<RtAssociation>>

GetCurrentRtAssociationMultiplicityAsync(IOctoSession, RtEntityId, CkId<CkAssociationRoleId>, GraphDirections)

Returns the current multiplicity of a runtime association, that means the number of associations that exist for a give runtime entity and role

Task<CurrentMultiplicity> GetCurrentRtAssociationMultiplicityAsync(IOctoSession session, RtEntityId rtEntityId, CkId<CkAssociationRoleId> ckRoleId, GraphDirections direction)

Parameters

session IOctoSession
The session object

rtEntityId RtEntityId
Object id of the runtime entity

ckRoleId CkId<CkAssociationRoleId>
Construction kit role id of the association

direction GraphDirections
Direction of associations to get

Returns

Task<CurrentMultiplicity>

GetRtAssociationOrDefaultAsync(IOctoSession, RtEntityId, RtEntityId, CkId<CkAssociationRoleId>)

Gets an association by its origin, target and role id.

Task<RtAssociation> GetRtAssociationOrDefaultAsync(IOctoSession session, RtEntityId originRtEntityId, RtEntityId targetRtEntityId, CkId<CkAssociationRoleId> ckRoleId)

Parameters

session IOctoSession
The session object

originRtEntityId RtEntityId
Runtime id of the origin entity

targetRtEntityId RtEntityId
Runtime id of the target entity

ckRoleId CkId<CkAssociationRoleId>
Construction kit role id of the association

Returns

Task<RtAssociation>

AsQueryableAsync<TEntity>(IOctoSession)

Returns the data source access object for the given entity type

Task<IQueryable<TEntity>> AsQueryableAsync<TEntity>(IOctoSession session)

Type Parameters

TEntity

Parameters

session IOctoSession

Returns

Task<IQueryable<TEntity>>

AsQueryable<TEntity>(IOctoSession)

Returns the data source access object for the given entity type

IQueryable<TEntity> AsQueryable<TEntity>(IOctoSession session)

Type Parameters

TEntity

Parameters

session IOctoSession

Returns

IQueryable<TEntity>

CreateTransientRtAssociation(RtEntityId, CkId<CkAssociationRoleId>, RtEntityId)

Creates an instance of a runtime association

RtAssociation CreateTransientRtAssociation(RtEntityId originRtEntityId, CkId<CkAssociationRoleId> ckRoleId, RtEntityId targetRtEntityId)

Parameters

originRtEntityId RtEntityId
Runtime id of the origin entity

ckRoleId CkId<CkAssociationRoleId>
Construction kit role id of the association

targetRtEntityId RtEntityId
Runtime id of the target entity

Returns

RtAssociation
A transient version of a role, need to be stored.

CreateTransientRtEntityAsync(CkId<CkTypeId>)

Creates an instance of a runtime entity

Task<RtEntity> CreateTransientRtEntityAsync(CkId<CkTypeId> ckTypeId)

Parameters

ckTypeId CkId<CkTypeId>

Returns

Task<RtEntity>
Instance of the given construction kit type

CreateTransientRtEntityAsync<TEntity>()

Creates a typed version of a runtime entity

Task<TEntity> CreateTransientRtEntityAsync<TEntity>()

Type Parameters

TEntity
Type derived from RtEntity

Returns

Task<TEntity>
Instance of the given construction kit type

InsertOneRtEntityAsync(IOctoSession, CkId<CkTypeId>, RtEntity)

Inserts a single runtime entity

Task InsertOneRtEntityAsync(IOctoSession session, CkId<CkTypeId> ckTypeId, RtEntity rtEntity)

Parameters

session IOctoSession
Session object for transaction handling

ckTypeId CkId<CkTypeId>
Construction kit type id

rtEntity RtEntity
Object to insert

Returns

Task

InsertOneRtEntityAsync<TEntity>(IOctoSession, TEntity)

Inserts a single runtime entity

Task InsertOneRtEntityAsync<TEntity>(IOctoSession session, TEntity rtEntity)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
Session object for transaction handling

rtEntity TEntity
Object to insert

Returns

Task

InsertManyRtEntityAsync(IOctoSession, CkId<CkTypeId>, ICollection<RtEntity>)

Inserts multiple runtime entities

Task InsertManyRtEntityAsync(IOctoSession session, CkId<CkTypeId> ckTypeId, ICollection<RtEntity> rtEntities)

Parameters

session IOctoSession
Session object for transaction handling

ckTypeId CkId<CkTypeId>
Construction kit type id

rtEntities ICollection<RtEntity>
Objects to insert

Returns

Task

InsertManyRtEntityAsync<TEntity>(IOctoSession, ICollection<TEntity>)

Inserts multiple runtime entities

Task InsertManyRtEntityAsync<TEntity>(IOctoSession session, ICollection<TEntity> rtEntities)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
Session object for transaction handling

rtEntities ICollection<TEntity>
Objects to insert

Returns

Task

ReplaceOneRtEntityByIdAsync(IOctoSession, CkId<CkTypeId>, OctoObjectId, RtEntity)

Replace a single runtime entity

Task ReplaceOneRtEntityByIdAsync(IOctoSession session, CkId<CkTypeId> ckTypeId, OctoObjectId rtId, RtEntity rtEntity)

Parameters

session IOctoSession
Session object for transaction handling

ckTypeId CkId<CkTypeId>
Construction kit type id

rtId OctoObjectId
Runtime object id

rtEntity RtEntity
Runtime object that is used as replacement

Returns

Task

ReplaceOneRtEntityByIdAsync<TEntity>(IOctoSession, OctoObjectId, TEntity)

Replace a single runtime entity

Task ReplaceOneRtEntityByIdAsync<TEntity>(IOctoSession session, OctoObjectId rtId, TEntity rtEntity)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
Session object for transaction handling

rtId OctoObjectId
Runtime object id

rtEntity TEntity
Runtime object that is used as replacement

Returns

Task

ReplaceOneRtEntityAsync(IOctoSession, ICollection<FieldFilter>, RtEntity)

Replace a single runtime entity

Task ReplaceOneRtEntityAsync(IOctoSession session, ICollection<FieldFilter> fieldFilters, RtEntity entity)

Parameters

session IOctoSession
Session object for transaction handling

fieldFilters ICollection<FieldFilter>
A collection of filter objects

entity RtEntity
Runtime object that is used as replacement

Returns

Task

ReplaceOneRtEntityAsync<TEntity>(IOctoSession, ICollection<FieldFilter>, TEntity)

Replace a single runtime entity

Task ReplaceOneRtEntityAsync<TEntity>(IOctoSession session, ICollection<FieldFilter> fieldFilters, TEntity entity)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
Session object for transaction handling

fieldFilters ICollection<FieldFilter>
A collection of filter objects

entity TEntity
Runtime object that is used as replacement

Returns

Task

UpdateOneRtEntityByIdAsync(IOctoSession, CkId<CkTypeId>, OctoObjectId, RtEntity)

Updates a single runtime entity. Only attributes of the entity that are set in the update object are updated.

Task UpdateOneRtEntityByIdAsync(IOctoSession session, CkId<CkTypeId> ckTypeId, OctoObjectId rtId, RtEntity rtEntity)

Parameters

session IOctoSession
Session object for transaction handling

ckTypeId CkId<CkTypeId>
Construction kit type id

rtId OctoObjectId
Runtime object id

rtEntity RtEntity
Runtime object that is used as replacement

Returns

Task

UpdateOneRtEntityByIdAsync<TEntity>(IOctoSession, OctoObjectId, TEntity)

Updates a single runtime entity. Only attributes of the entity that are set in the update object are updated.

Task UpdateOneRtEntityByIdAsync<TEntity>(IOctoSession session, OctoObjectId rtId, TEntity rtEntity)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
Session object for transaction handling

rtId OctoObjectId
Runtime object id

rtEntity TEntity
Runtime object that is used as replacement

Returns

Task

UpdateOneRtEntityAsync(IOctoSession, ICollection<FieldFilter>, RtEntity)

Updates a single runtime entity. Only attributes of the entity that are set in the update object are updated.

Task UpdateOneRtEntityAsync(IOctoSession session, ICollection<FieldFilter> fieldFilters, RtEntity rtEntity)

Parameters

session IOctoSession
Session object for transaction handling

fieldFilters ICollection<FieldFilter>
A collection of filter objects

rtEntity RtEntity
Runtime object that is used as replacement

Returns

Task

UpdateOneRtEntityAsync<TEntity>(IOctoSession, ICollection<FieldFilter>, TEntity)

Updates a single runtime entity. Only attributes of the entity that are set in the update object are updated.

Task UpdateOneRtEntityAsync<TEntity>(IOctoSession session, ICollection<FieldFilter> fieldFilters, TEntity rtEntity)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
Session object for transaction handling

fieldFilters ICollection<FieldFilter>
A collection of filter objects

rtEntity TEntity
Runtime object that is used as replacement

Returns

Task

UpdateManyRtEntityAsync(IOctoSession, ICollection<FieldFilter>, RtEntity)

Updates a multiple runtime entities. Only attributes of the entity that are set in the update object are updated.

Task UpdateManyRtEntityAsync(IOctoSession session, ICollection<FieldFilter> fieldFilters, RtEntity rtEntity)

Parameters

session IOctoSession
Session object for transaction handling

fieldFilters ICollection<FieldFilter>
A collection of filter objects

rtEntity RtEntity
Runtime object that is used as replacement

Returns

Task

UpdateManyRtEntityAsync<TEntity>(IOctoSession, ICollection<FieldFilter>, TEntity)

Updates multiple runtime entities. Only attributes of the entity that are set in the update object are updated.

Task UpdateManyRtEntityAsync<TEntity>(IOctoSession session, ICollection<FieldFilter> fieldFilters, TEntity rtEntity)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
Session object for transaction handling

fieldFilters ICollection<FieldFilter>
A collection of filter objects

rtEntity TEntity
Runtime object that is used as replacement

Returns

Task

DeleteOneRtEntityByRtIdAsync(IOctoSession, CkId<CkTypeId>, OctoObjectId)

Deletes a single runtime entity by its runtime id

Task DeleteOneRtEntityByRtIdAsync(IOctoSession session, CkId<CkTypeId> ckTypeId, OctoObjectId rtId)

Parameters

session IOctoSession
Session object for transaction handling

ckTypeId CkId<CkTypeId>
Construction kit type id

rtId OctoObjectId

Returns

Task

DeleteOneRtEntityByRtIdAsync<TEntity>(IOctoSession, OctoObjectId)

Deletes a single runtime entity by its runtime id

Task DeleteOneRtEntityByRtIdAsync<TEntity>(IOctoSession session, OctoObjectId rtId)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
Session object for transaction handling

rtId OctoObjectId
Runtime object id

Returns

Task

DeleteOneRtEntityAsync(IOctoSession, CkId<CkTypeId>, ICollection<FieldFilter>)

Deletes a single runtime entity by the given filter options

Task DeleteOneRtEntityAsync(IOctoSession session, CkId<CkTypeId> ckTypeId, ICollection<FieldFilter> fieldFilters)

Parameters

session IOctoSession
Session object for transaction handling

ckTypeId CkId<CkTypeId>
Construction kit type id

fieldFilters ICollection<FieldFilter>
A collection of filter objects

Returns

Task

DeleteOneRtEntityAsync<TEntity>(IOctoSession, ICollection<FieldFilter>)

Deletes a single runtime entity by the given filter options

Task DeleteOneRtEntityAsync<TEntity>(IOctoSession session, ICollection<FieldFilter> fieldFilters)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
Session object for transaction handling

fieldFilters ICollection<FieldFilter>
A collection of filter objects

Returns

Task

DeleteManyRtEntitiesAsync(IOctoSession, CkId<CkTypeId>, ICollection<FieldFilter>)

Deletes all entities with the given filter options

Task DeleteManyRtEntitiesAsync(IOctoSession session, CkId<CkTypeId> ckTypeId, ICollection<FieldFilter> fieldFilters)

Parameters

session IOctoSession
Session object for transaction handling

ckTypeId CkId<CkTypeId>
Construction kit type id

fieldFilters ICollection<FieldFilter>
A collection of filter objects

Returns

Task

DeleteManyRtEntitiesAsync<TEntity>(IOctoSession, ICollection<FieldFilter>)

Deletes all entities with the given filter options

Task DeleteManyRtEntitiesAsync<TEntity>(IOctoSession session, ICollection<FieldFilter> fieldFilters)

Type Parameters

TEntity
The type of entity derived from RtEntity

Parameters

session IOctoSession
Session object for transaction handling

fieldFilters ICollection<FieldFilter>
A collection of filter objects

Returns

Task

ApplyChangesAsync(IOctoSession, IReadOnlyList<IEntityUpdateInfo<RtEntity>>, IReadOnlyList<AssociationUpdateInfo>, OperationResult)

Applies changes to the runtime repository

Task ApplyChangesAsync(IOctoSession session, IReadOnlyList<IEntityUpdateInfo<RtEntity>> entityUpdateInfoList, IReadOnlyList<AssociationUpdateInfo> associationUpdateInfoList, OperationResult operationResult)

Parameters

session IOctoSession
Session object for transaction handling

entityUpdateInfoList IReadOnlyList<IEntityUpdateInfo<RtEntity>>
List of runtime entity updates

associationUpdateInfoList IReadOnlyList<AssociationUpdateInfo>
List of runtime association updates

operationResult OperationResult
Result of the operation

Returns

Task

ApplyChangesAsync(IOctoSession, IReadOnlyList<AssociationUpdateInfo>, OperationResult)

Applies changes to the runtime repository

Task ApplyChangesAsync(IOctoSession session, IReadOnlyList<AssociationUpdateInfo> associationUpdateInfoList, OperationResult operationResult)

Parameters

session IOctoSession
Session object for transaction handling

associationUpdateInfoList IReadOnlyList<AssociationUpdateInfo>
List of runtime association updates

operationResult OperationResult
Result of the operation

Returns

Task

ApplyChangesAsync(IOctoSession, IReadOnlyList<IEntityUpdateInfo<RtEntity>>, OperationResult)

Applies changes to the runtime repository

Task ApplyChangesAsync(IOctoSession session, IReadOnlyList<IEntityUpdateInfo<RtEntity>> entityUpdateInfoList, OperationResult operationResult)

Parameters

session IOctoSession
Session object for transaction handling

entityUpdateInfoList IReadOnlyList<IEntityUpdateInfo<RtEntity>>
List of runtime entity updates

operationResult OperationResult
Result of the operation

Returns

Task

GetCkTypeGraphAsync(CkId<CkTypeId>)

Gets the construction kit type graph from the cache service

Task<CkTypeGraph> GetCkTypeGraphAsync(CkId<CkTypeId> ckTypeId)

Parameters

ckTypeId CkId<CkTypeId>
The ck type id

Returns

Task<CkTypeGraph>

Exceptions

RuntimeRepositoryException
CkTypeId does not exist in cache