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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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