Class KbEntrySentry
KbEntrySentry guards KbEntry entities and their component rows.
The KbEntrySentry applies to the following classes: KbEntry, KbEntryRow, TextRow, UDLarge + UDSmall
Implements
Inherited Members
Namespace: SuperOffice.CRM.Security
Assembly: SoDataBase.dll
Syntax
public class KbEntrySentry : Sentry<KbEntryTableInfo>, ICloneable
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
Constructors
KbEntrySentry(KbEntryTableInfo)
Create a KbEntry sentry.
Declaration
public KbEntrySentry(KbEntryTableInfo kbEntryTableInfo)
Parameters
Type | Name | Description |
---|---|---|
KbEntryTableInfo | kbEntryTableInfo |
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
KbEntrySentry(KbEntryTableInfo, ISoDataLookup)
Create a KbEntry sentry for a particular KbEntry row. The row's associate_id will control the user's permissions with respect to this row.
Declaration
public KbEntrySentry(KbEntryTableInfo kbEntryTableInfo, ISoDataLookup lookup)
Parameters
Type | Name | Description |
---|---|---|
KbEntryTableInfo | kbEntryTableInfo | |
ISoDataLookup | lookup |
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
Properties
AssociateId
KbEntry.associate id
Declaration
public override int AssociateId { get; }
Property Value
Type | Description |
---|---|
Int32 |
Overrides
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
GroupId
returns KbEntry.GroupIdx
Declaration
public override int GroupId { get; }
Property Value
Type | Description |
---|---|
Int32 |
Overrides
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
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 |
---|---|
Boolean |
Overrides
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
IsNew
Is the row saved to teh database (persisted primary key == 0)
Declaration
public override bool IsNew { get; }
Property Value
Type | Description |
---|---|
Boolean |
Overrides
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
RegisteredAssociateId
KbEntrySentry guards KbEntry entities and their component rows.
The KbEntrySentry applies to the following classes: KbEntry, KbEntryRow, TextRow, UDLarge + UDSmall
Declaration
public override int RegisteredAssociateId { get; }
Property Value
Type | Description |
---|---|
Int32 |
Overrides
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
RegisteredAssociateIdField
The field that holds the associate id of the user first creating the item.
Declaration
public override FieldInfo RegisteredAssociateIdField { get; }
Property Value
Type | Description |
---|---|
FieldInfo |
Overrides
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
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 KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
RowId
Should return a KbEntry.KbEntry_id
Declaration
public override int RowId { get; }
Property Value
Type | Description |
---|---|
Int32 |
Overrides
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
Methods
ComputeFieldRights()
KbEntrySentry guards KbEntry entities and their component rows.
The KbEntrySentry applies to the following classes: KbEntry, KbEntryRow, TextRow, UDLarge + UDSmall
Declaration
protected override void ComputeFieldRights()
Overrides
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
ComputeTableRights()
Computes table rights for KbEntry tables. Deny read rights to private KbEntrys that belong to others. Deny update rights to completed KbEntrys. Grant update+insert+delete rights to own KbEntrys.
Declaration
protected override void ComputeTableRights()
Overrides
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
GetRowSentry()
KbEntrySentry guards KbEntry entities and their component rows.
The KbEntrySentry applies to the following classes: KbEntry, KbEntryRow, TextRow, UDLarge + UDSmall
Declaration
public override Sentry GetRowSentry()
Returns
Type | Description |
---|---|
Sentry |
Overrides
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );
GetTableInfoFromQuery<TargetTableInfo>()
Get tables of the given type from our query
Declaration
protected List<TargetTableInfo> GetTableInfoFromQuery<TargetTableInfo>()
where TargetTableInfo : TableInfo
Returns
Type | Description |
---|---|
List<TargetTableInfo> | List of tableinfos of the given type, from the query |
Type Parameters
Name | Description |
---|---|
TargetTableInfo | Type of table to look for |
Remarks
The KbEntry row automatically creates a sentry, because KbEntry is also an RDB Entity. The text row does not create a sentry because it does not know which entity it belongs to, so we have to give it a sentry to use. The text row asks the KbEntry sentry about its permissions.
Examples
KbEntryRow a = new KbEntryRow.IdxKbEntryId(1234); TextRow t = new TextRow.IdxTextId( a.TextId, a.Sentries );