Show / Hide Table of Contents

Class EntityBase

Summary description for EntityBase.

Inheritance
object
NestedPersist
EntityBase
Appointment
Contact
Document
Person
Project
ProjectMember
Sale
Selection
Implements
INestedPersist
ITableRowLoadHandler
Inherited Members
NestedPersist._saveOwner
NestedPersist._isSaving
NestedPersist.SetSaveOwner(INestedPersist)
NestedPersist.SaveAsync()
NestedPersist.IsSaving
NestedPersist.IsDeleted
NestedPersist.IsMarkedForDelete
NestedPersist.OnElementSaved
NestedPersist.OnElementIdUpdate
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOffice.CRM.Entities
Assembly: SoDataBase.dll
Syntax
public abstract class EntityBase : NestedPersist, INestedPersist, ITableRowLoadHandler

Constructors

EntityBase()

Default constructor.

Declaration
protected EntityBase()

Fields

_onGetRelatedObjects

Summary description for EntityBase.

Declaration
protected GetRelatedObjects _onGetRelatedObjects
Field Value
Type Description
GetRelatedObjects

Properties

IsDirty

Check if any of the related objects are dirty.

Declaration
public override bool IsDirty { get; }
Property Value
Type Description
bool
Overrides
NestedPersist.IsDirty

IsNew

Is the row new, e.g. not been inserted to the database?

Declaration
public abstract bool IsNew { get; }
Property Value
Type Description
bool

MainRow

Get the main row for the entity.

Declaration
protected abstract TableRowBase MainRow { get; }
Property Value
Type Description
TableRowBase

Methods

DeleteAsync()

Summary description for EntityBase.

Declaration
public abstract Task DeleteAsync()
Returns
Type Description
Task

ForceEntityUpdate()

This method is called when only related objects are changed in order for the entity to force the Updated and UpdatedAssociate to be modified on the entity.

Declaration
protected abstract void ForceEntityUpdate()

GetAdditionalRelatedNestedPersistAsync(List<INestedPersist>, bool, CancellationToken)

Hand-implemented partial class code should override this method to add to the list of related nestedpersist objects

Declaration
protected virtual Task GetAdditionalRelatedNestedPersistAsync(List<INestedPersist> relatedObjects, bool lacyFetchIfNeeded, CancellationToken cancellationToken = default)
Parameters
Type Name Description
List<INestedPersist> relatedObjects
bool lacyFetchIfNeeded
CancellationToken cancellationToken
Returns
Type Description
Task

GetAdditionalRelatedNestedPersistViaBaseClassAsync(List<INestedPersist>, bool, CancellationToken)

Summary description for EntityBase.

Declaration
protected Task GetAdditionalRelatedNestedPersistViaBaseClassAsync(List<INestedPersist> relatedObjects, bool lacyFetchIfNeeded, CancellationToken cancellationToken = default)
Parameters
Type Name Description
List<INestedPersist> relatedObjects
bool lacyFetchIfNeeded
CancellationToken cancellationToken
Returns
Type Description
Task

GetRelatedNestedPersistAsync(List<INestedPersist>, bool, CancellationToken)

Generated code should override this method to return its list of related nestedpersist objects

Declaration
protected abstract Task GetRelatedNestedPersistAsync(List<INestedPersist> relatedObjects, bool lacyFetchIfNeeded, CancellationToken cancellationToken = default)
Parameters
Type Name Description
List<INestedPersist> relatedObjects
bool lacyFetchIfNeeded

Lacy fetch objects that is not allready loaded if needed

CancellationToken cancellationToken
Returns
Type Description
Task

OnIdUpdateAsync()

Summary description for EntityBase.

Declaration
protected override Task OnIdUpdateAsync()
Returns
Type Description
Task
Overrides
NestedPersist.OnIdUpdateAsync()

OnIdUpdateImplementation()

Summary description for EntityBase.

Declaration
protected virtual void OnIdUpdateImplementation()

OnPreIdUpdateAsync()

Summary description for EntityBase.

Declaration
protected override Task OnPreIdUpdateAsync()
Returns
Type Description
Task
Overrides
NestedPersist.OnPreIdUpdateAsync()

OnPreIdUpdateImplementationAsync()

Summary description for EntityBase.

Declaration
protected virtual Task OnPreIdUpdateImplementationAsync()
Returns
Type Description
Task

OnPrimaryKeyRequestAsync(PKContainer)

Summary description for EntityBase.

Declaration
protected override Task OnPrimaryKeyRequestAsync(PKContainer pkContainer)
Parameters
Type Name Description
PKContainer pkContainer
Returns
Type Description
Task
Overrides
NestedPersist.OnPrimaryKeyRequestAsync(PKContainer)

OnPrimaryKeyUpdateAsync(PKContainer)

Summary description for EntityBase.

Declaration
protected override Task OnPrimaryKeyUpdateAsync(PKContainer pkContainer)
Parameters
Type Name Description
PKContainer pkContainer
Returns
Type Description
Task
Overrides
NestedPersist.OnPrimaryKeyUpdateAsync(PKContainer)

OnRowLoad(SoDataReader, TableRowBase)

Summary description for EntityBase.

Declaration
protected abstract void OnRowLoad(SoDataReader reader, TableRowBase row)
Parameters
Type Name Description
SoDataReader reader
TableRowBase row

OnRowLoaded()

Summary description for EntityBase.

Declaration
protected abstract void OnRowLoaded()

OnSaveAsync(BatchSave)

Summary description for EntityBase.

Declaration
protected override Task OnSaveAsync(BatchSave batchSave)
Parameters
Type Name Description
BatchSave batchSave
Returns
Type Description
Task
Overrides
NestedPersist.OnSaveAsync(BatchSave)

OnSavedAsync(bool)

Summary description for EntityBase.

Declaration
protected override Task OnSavedAsync(bool bSucceeded)
Parameters
Type Name Description
bool bSucceeded
Returns
Type Description
Task
Overrides
NestedPersist.OnSavedAsync(bool)

SetMarkedForDeleteOnRelatedObjects(bool)

Call this method to set the marked for delete on related objects.
Implement this method in implementation of enteties to set marked for delete on related objects

Declaration
protected virtual void SetMarkedForDeleteOnRelatedObjects(bool isMarkedForDelete)
Parameters
Type Name Description
bool isMarkedForDelete

True if the objects are to be removed from the database the next time it is saved.

UpdateSentryRelatedTableInfoInstance<MainTableInfoType>(SentryCollection, TableInfo)

Update a TableInfo object in all sentries in the entity, with a new instance of the same kind of table

Declaration
protected void UpdateSentryRelatedTableInfoInstance<MainTableInfoType>(SentryCollection sentries, TableInfo newInstance) where MainTableInfoType : TableInfo
Parameters
Type Name Description
SentryCollection sentries
TableInfo newInstance
Type Parameters
Name Description
MainTableInfoType
Remarks

This method should be called only when NEW, DEPENDENT ROW objects are being created by a multi-row-type entity. It updates a TableInfo instance in the Sentry's SentryQueryInfo class (the one that defines what tables the sentry should calculate rights for), with another instance of the same type. This has to be done so that the TableInfo in the newly created and attached Row object matches the TableInfo in the Sentry, otherwise the Sentry will not provide any field rights.
Calling this method in a context where a query or query results are being analyzed should be avoided, as it only looks at the types involved and might mix up the tableinfo's from multiple aliases of the same table in a single query.

ValidateAsync(CancellationToken)

Check the entity and related objects for consistency and required fields, and return fields and error messages.

Declaration
public abstract Task<Dictionary<string, string>> ValidateAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<Dictionary<string, string>>

Field names and error messages

Events

OnGetRelatedObjects

Event raised when related objects are being collected for saving.

Declaration
public event GetRelatedObjects OnGetRelatedObjects
Event Type
Type Description
GetRelatedObjects

Implements

INestedPersist
ITableRowLoadHandler

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top