Class RelationBase

Base class for relations.

Inheritance
object
RelationBase
Namespace: StylelabsStylelabs.MSdkStylelabs.M.Sdk.ModelsBase
Assembly: Stylelabs.M.Sdk.dll
Syntax
RequestResponse
public abstract class RelationBase : MemberBase, IRelation, IMember, IDirtyTracking

Constructors

RelationBase(IMClient, string, IDictionary<long, IDictionary<string, JToken>>)

Initializes a new instance of the RelationBase class.

Declaration
RequestResponse
protected RelationBase(IMClient client, string name, IDictionary<long, IDictionary<string, JToken>> properties = null)
Parameters
TypeNameDescription
IMClientclient

The IMClient instance.

stringname

The name of the relation.

IDictionary<, >longIDictionary<, >stringJTokenproperties

The properties of the linked entity.

RelationBase(string, IDictionary<long, IDictionary<string, JToken>>)

Initializes a new instance of the RelationBase class.

Declaration
RequestResponse
protected RelationBase(string name, IDictionary<long, IDictionary<string, JToken>> properties = null)
Parameters
TypeNameDescription
stringname

The name of the relation.

IDictionary<, >longIDictionary<, >stringJTokenproperties

The properties of the linked entity.

Properties

DefinitionType

Gets the definition type.

Declaration
RequestResponse
public override MemberDefinitionType DefinitionType { get; }
Property Value
TypeDescription
MemberDefinitionType
Overrides

Properties

Gets the properties of the linked entity.

Declaration
RequestResponse
public IDictionary<long, IDictionary<string, JToken>> Properties { get; }
Property Value
TypeDescription
IDictionary<, >longIDictionary<, >stringJToken

Role

Gets the role of this instance in the relation.

Declaration
RequestResponse
public abstract RelationRole Role { get; }
Property Value
TypeDescription
RelationRole

Methods

Clear()

Clears the value(s) of the relation.

Declaration
RequestResponse
public abstract void Clear()

GetIds()

This utility method allows getting the value of any type of relation.

In case of an IToManyRelation the result will contain all ids on the relation.

In case of an IToOneRelation the list can contain 1 id (maximum) if an id was set on the relation. If no id was set on the relation, an empty list is returned.

Declaration
RequestResponse
public abstract IList<long> GetIds()
Returns
TypeDescription
IList<>long

A list of ids (never null).

GetTypeName()

Gets the name of the relation type.

Declaration
RequestResponse
protected abstract string GetTypeName()
Returns
TypeDescription
string

The name of the type.

SetIdentifiersAsync(IEnumerable<string>)

Sets the ids on the relations values based on the given identifiers.

In case of an IToManyRelation, the list of ids will be set on the relation.

In case of an IToOneRelation, identifiers can have at most one value. If the list is empty then the value will be set to null.

Declaration
RequestResponse
public Task SetIdentifiersAsync(IEnumerable<string> identifiers)
Parameters
TypeNameDescription
IEnumerable<>stringidentifiers

Identifiers.

Returns
TypeDescription
Task

A representing the asynchronous operation.

SetIds(IEnumerable<long>)

Sets the ids on the relations values. The values should be strictly positive.

In case of an IToManyRelation, the list of ids will be set on the relation.

In case of an IToOneRelation, ids can have at most one value. If the list is empty then the value will be set to null.

Declaration
RequestResponse
public abstract void SetIds(IEnumerable<long> ids)
Parameters
TypeNameDescription
IEnumerable<>longids

Ids.

Implements

Do you have some feedback for us?

If you have suggestions for improving this article,