Class RelationsSentry
RelationsSentry guards Relations entities The RelationsSentry applies to the following classes: RelationsRow
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.Security
Assembly: SoDataBase.dll
Syntax
public class RelationsSentry : RoleRightsSentry<RelationsTableInfo>, ICloneable
Remarks
The Relations row automatically creates a sentry.
Examples
RelationsRow r = new RelationsRow.IdxRelationsId(1234); r.Sentries.GetFieldRight( p.Sentries );
Constructors
RelationsSentry(RelationsTableInfo)
Create a Relations sentry.
Declaration
public RelationsSentry(RelationsTableInfo relationsTableInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| RelationsTableInfo | relationsTableInfo |
Remarks
The Relations row automatically creates a sentry.
RelationsSentry(RelationsTableInfo, ISoDataLookup)
Create a Relations sentry for a particular Relations row. The row's associate_id will control the user's permissions with respect to this row.
Declaration
public RelationsSentry(RelationsTableInfo relationsTableInfo, ISoDataLookup lookup)
Parameters
| Type | Name | Description |
|---|---|---|
| RelationsTableInfo | relationsTableInfo | |
| ISoDataLookup | lookup |
Remarks
The Relations row automatically creates a sentry.
Fields
_queryInfo
RelationsSentry guards Relations entities The RelationsSentry applies to the following classes: RelationsRow
Declaration
protected RelationsSentryQueryInfo _queryInfo
Field Value
| Type | Description |
|---|---|
| RelationsSentryQueryInfo |
Remarks
The Relations row automatically creates a sentry.
Examples
RelationsRow r = new RelationsRow.IdxRelationsId(1234); r.Sentries.GetFieldRight( p.Sentries );
Properties
AssociateId
Relations's associate id - return the Relation.Assoc-id. Returns the current user's id if the field is zero.
Declaration
public override int AssociateId { get; }
Property Value
| Type | Description |
|---|---|
| int |
Overrides
Remarks
The Relations row automatically creates a sentry.
GroupId
Relations's Group id - returns the Relation.Group-id. This is the primary group of the Relation.Assoc-id at the time of creation. The owner and group of a relation are not intended to be edited. Returns the associate-id's primary usergroup if the field is zero.
Declaration
public override int GroupId { get; }
Property Value
| Type | Description |
|---|---|
| int |
Overrides
Remarks
The Relations row automatically creates a sentry.
IsGhostRow
Returns whether the primary key is a ghost field (i.e., we're looking at a nonexistent record, as opposed to just looking at a new one)
Declaration
public override bool IsGhostRow { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Overrides
Remarks
The Relations row automatically creates a sentry.
IsNew
Is the row saved to teh database (persisted primary key == 0)
Declaration
public override bool IsNew { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Overrides
Remarks
The Relations row automatically creates a sentry.
MainTable
Return Relations table info.
Declaration
protected RelationsTableInfo MainTable { get; }
Property Value
| Type | Description |
|---|---|
| RelationsTableInfo |
Remarks
The Relations row automatically creates a sentry.
RegisteredAssociateIdField
The field that holds the associate id of teh user first creating the item.
Declaration
public override FieldInfo RegisteredAssociateIdField { get; }
Property Value
| Type | Description |
|---|---|
| FieldInfo |
Overrides
Remarks
The Relations row automatically creates a sentry.
RegisteredField
The field that holds information about when the item was first created.
Declaration
public override FieldInfo RegisteredField { get; }
Property Value
| Type | Description |
|---|---|
| FieldInfo |
Overrides
Remarks
The Relations row automatically creates a sentry.
RowId
Should return a Relations.Relations_id
Declaration
public override int RowId { get; }
Property Value
| Type | Description |
|---|---|
| int |
Overrides
Remarks
The Relations row automatically creates a sentry.
Methods
ComputeFieldRights()
Computes the field rights based on the associate and group info in the row. The sub-class will handle its particular special cases here. This function is called from SuperComputeFieldRights() which does the standard calculations first, then allows this function to add any special restrictions afterwards.
This function computes a map of rights to all fields that can be determined, both on the primary table and any dependent tables. Each field has an entry in the map, which contains a bitwise OR of all rights the principal user has to that field. If the user has no update rights to a field, the corresponding GUI control should be read-only. If the user has no Read rights to a field, its value should not be shown at all. In the case of write but not read rights, the sanity of the underlying rules should be questioned.
Declaration
protected override void ComputeFieldRights()
Overrides
Remarks
Place the results of the computation in the _fieldRights member.
ComputeTableRights()
Computes table rights for Relations tables. Everyone has full access to relations.
Declaration
protected override void ComputeTableRights()
Overrides
Remarks
The Relations row automatically creates a sentry.
GetRowSentry()
Create a copy of the Sentry holding the right instances of table and field infos.
Declaration
public override Sentry GetRowSentry()
Returns
| Type | Description |
|---|---|
| Sentry | New instance of the Sentry. |
Overrides
Remarks
The Relations row automatically creates a sentry.