Show / Hide Table of Contents

Class Appointment

Appointments, documents (document_id != 0).

Entity Object for table 'appointment'. Entity objects represent full entities with both the base table object and all related objects, such as udef, publish, visiblefor, and things like owner associate and whatever else is logically related to the base object.
Inheritance
object
NestedPersist
EntityBase
Appointment
Implements
INestedPersist
ITableRowLoadHandler
IEntityUdefHelperContainer
Inherited Members
EntityBase._onGetRelatedObjects
EntityBase.GetAdditionalRelatedNestedPersistViaBaseClassAsync(List<INestedPersist>, bool, CancellationToken)
EntityBase.OnPrimaryKeyRequestAsync(PKContainer)
EntityBase.OnPrimaryKeyUpdateAsync(PKContainer)
EntityBase.OnSaveAsync(BatchSave)
EntityBase.OnSavedAsync(bool)
EntityBase.SetMarkedForDeleteOnRelatedObjects(bool)
EntityBase.OnPreIdUpdateImplementationAsync()
EntityBase.OnIdUpdateImplementation()
EntityBase.UpdateSentryRelatedTableInfoInstance<MainTableInfoType>(SentryCollection, TableInfo)
EntityBase.IsDirty
EntityBase.OnGetRelatedObjects
NestedPersist._saveOwner
NestedPersist._isSaving
NestedPersist.SetSaveOwner(INestedPersist)
NestedPersist.SaveAsync()
NestedPersist.IsSaving
NestedPersist.OnElementSaved
NestedPersist.OnElementIdUpdate
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 class Appointment : EntityBase, INestedPersist, ITableRowLoadHandler, IEntityUdefHelperContainer
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Constructors

Appointment(AppointmentIdxBase)

Constructor for class Appointment.
This object represents a row in table 'appointment'. Table contact: "Tasks, appointments, followups, phone calls; and documents"

Declaration
protected Appointment(Appointment.AppointmentIdxBase idx)
Parameters
Type Name Description
Appointment.AppointmentIdxBase idx

ContactRowAppointmentRow.AppointmentRowIdx object that the Contact encapsulates.

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Appointment(AppointmentRow, AppointmentIdxBase)

Appointments, documents (document_id != 0).

Entity Object for table 'appointment'. Entity objects represent full entities with both the base table object and all related objects, such as udef, publish, visiblefor, and things like owner associate and whatever else is logically related to the base object.
Declaration
protected Appointment(AppointmentRow row, Appointment.AppointmentIdxBase idx)
Parameters
Type Name Description
AppointmentRow row
Appointment.AppointmentIdxBase idx
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Fields

_agenda

Related HDB object(s).

Declaration
protected TextRow _agenda
Field Value
Type Description
TextRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_appointmentText

Related HDB object(s).

Declaration
protected TextRow _appointmentText
Field Value
Type Description
TextRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_assignedBy

Related HDB object(s).

Declaration
protected AssociateRow _assignedBy
Field Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_associate

Related HDB object(s).

Declaration
protected AssociateRow _associate
Field Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_bookingMaster

Related HDB object(s).

Declaration
protected AppointmentCollection _bookingMaster
Field Value
Type Description
AppointmentCollection
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_contact

Related HDB object(s).

Declaration
protected Contact _contact
Field Value
Type Description
Contact
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_createdAssociate

Related HDB object(s).

Declaration
protected AssociateRow _createdAssociate
Field Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_docTmpl

Related HDB object(s).

Declaration
protected DocTmplRow _docTmpl
Field Value
Type Description
DocTmplRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_internalNotes

Related HDB object(s).

Declaration
protected TextRow _internalNotes
Field Value
Type Description
TextRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_invitedPerson

Related HDB object(s).

Declaration
protected Person _invitedPerson
Field Value
Type Description
Person
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_person

Related HDB object(s).

Declaration
protected Person _person
Field Value
Type Description
Person
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_priority

Related HDB object(s).

Declaration
protected PriorityRow _priority
Field Value
Type Description
PriorityRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_project

Related HDB object(s).

Declaration
protected Project _project
Field Value
Type Description
Project
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_recurrenceRule

Related HDB object(s).

Declaration
protected RecurrenceRuleRow _recurrenceRule
Field Value
Type Description
RecurrenceRuleRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_row

HDB object this entity is a facade for.

Declaration
protected AppointmentRow _row
Field Value
Type Description
AppointmentRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_rowIdx

Appointments, documents (document_id != 0).

Entity Object for table 'appointment'. Entity objects represent full entities with both the base table object and all related objects, such as udef, publish, visiblefor, and things like owner associate and whatever else is logically related to the base object.
Declaration
protected Appointment.AppointmentIdxBase _rowIdx
Field Value
Type Description
Appointment.AppointmentIdxBase
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_task

Related HDB object(s).

Declaration
protected TaskRow _task
Field Value
Type Description
TaskRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_udefLarge

Related HDB object(s).

Declaration
protected UDAppntLargeRow _udefLarge
Field Value
Type Description
UDAppntLargeRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_udefSmall

Related HDB object(s).

Declaration
protected UDAppntSmallRow _udefSmall
Field Value
Type Description
UDAppntSmallRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_updatedAssociate

Related HDB object(s).

Declaration
protected AssociateRow _updatedAssociate
Field Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

_userGroup

Related HDB object(s).

Declaration
protected UserGroupRow _userGroup
Field Value
Type Description
UserGroupRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Properties

ActiveDate

The date to be used for searching & showing

Declaration
public DateTime ActiveDate { get; set; }
Property Value
Type Description
DateTime
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

ActiveLinks

Number of active links to documents, other appointments, and such

Declaration
public uint ActiveLinks { get; set; }
Property Value
Type Description
uint
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Agenda

Related object TextRow: Agenda text

Declaration
public TextRow Agenda { get; set; }
Property Value
Type Description
TextRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Alarm

Alarm leadtime, the alarm flag has moved to hasAlarm

Declaration
public short Alarm { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

AlldayEvent

Is this an all day event: 0 = No, 1 = Yes

Declaration
public AllDayEvent AlldayEvent { get; set; }
Property Value
Type Description
AllDayEvent
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

AppointmentId

Primary key

Declaration
public int AppointmentId { get; }
Property Value
Type Description
int
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

AppointmentText

Related object TextRow: Long text fields from all over the system

Declaration
public TextRow AppointmentText { get; set; }
Property Value
Type Description
TextRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

AssignedBy

Related object AssociateRow: Employees, resources and other users - except for External persons

Declaration
public AssociateRow AssignedBy { get; set; }
Property Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Associate

Related object AssociateRow: Employees, resources and other users - except for External persons

Declaration
public AssociateRow Associate { get; set; }
Property Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

BookingType

Appointments, documents (document_id != 0).

Entity Object for table 'appointment'. Entity objects represent full entities with both the base table object and all related objects, such as udef, publish, visiblefor, and things like owner associate and whatever else is logically related to the base object.
Declaration
public BookingType BookingType { get; }
Property Value
Type Description
BookingType
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

ColorIndex

Appointment colour, used only in Japanese versions. Western versions take colour from Task

Declaration
public short ColorIndex { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Contact

Related object Contact: Companies and Organisations

Declaration
public Contact Contact { get; set; }
Property Value
Type Description
Contact
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

CreatedAssociate

Related object AssociateRow: Employees, resources and other users - except for External persons

Declaration
public AssociateRow CreatedAssociate { get; set; }
Property Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

CustomFields

Appointments, documents (document_id != 0).

Entity Object for table 'appointment'. Entity objects represent full entities with both the base table object and all related objects, such as udef, publish, visiblefor, and things like owner associate and whatever else is logically related to the base object.
Declaration
public EntityCustomFieldsHelper CustomFields { get; }
Property Value
Type Description
EntityCustomFieldsHelper
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

DoBy

date + start time planned

Declaration
public DateTime DoBy { get; set; }
Property Value
Type Description
DateTime
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

DocTmpl

Related object DocTmplRow: Document template list table, valid where appointment is actually a document

Declaration
public DocTmplRow DocTmpl { get; set; }
Property Value
Type Description
DocTmplRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Done

date + start time this task was done

Declaration
public DateTime Done { get; set; }
Property Value
Type Description
DateTime
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

EndDate

Date + end time planned

Declaration
public DateTime EndDate { get; set; }
Property Value
Type Description
DateTime
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

ExtraFields

Appointments, documents (document_id != 0).

Entity Object for table 'appointment'. Entity objects represent full entities with both the base table object and all related objects, such as udef, publish, visiblefor, and things like owner associate and whatever else is logically related to the base object.
Declaration
public EntityExtraFieldsHelper ExtraFields { get; }
Property Value
Type Description
EntityExtraFieldsHelper
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

FreeBusy

What kind of time is this: 0 = Busy, 1 = Free

Declaration
public FreeBusy FreeBusy { get; set; }
Property Value
Type Description
FreeBusy
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

HasAlarm

Does this appointment have an alarm

Declaration
public short HasAlarm { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

InternalNotes

Related object TextRow: Agenda text

Declaration
public TextRow InternalNotes { get; set; }
Property Value
Type Description
TextRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

InvitedPerson

Related object Person: Persons in a company or an organisation

Declaration
public Person InvitedPerson { get; set; }
Property Value
Type Description
Person
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

IsDeleted

Is the row deleted?

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

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

IsMarkedForDelete

Gets or sets a value indicating whether this instance is marked for delete.

Declaration
public override bool IsMarkedForDelete { get; set; }
Property Value
Type Description
bool

true if this instance is marked for delete; otherwise, false.

Overrides
NestedPersist.IsMarkedForDelete
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

IsNew

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

Declaration
public override bool IsNew { get; }
Property Value
Type Description
bool
Overrides
EntityBase.IsNew
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

JoinVideoMeetUrl

Gets or sets the URL to the video meeting, if meeting has video-meeting.

Declaration
public string JoinVideoMeetUrl { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

LagTime

as leadtime, but after the end - time blocked for travel etc.

Declaration
public short LagTime { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Leadtime

Time blocked (minutes) BEFORE starttime

Declaration
public short Leadtime { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Location

Location for appointment, defaulted from invited resource of type place and other rules, but you can write anything you want here

Declaration
public string Location { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

MainRow

Return the main row for the Entity.

Declaration
protected override TableRowBase MainRow { get; }
Property Value
Type Description
TableRowBase
Overrides
EntityBase.MainRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

MotherId

"ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment. However, if 0 and assoc_id != reg_id then this is an assigned appointment, indicated vt type = kBooking"

Declaration
public int MotherId { get; set; }
Property Value
Type Description
int
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

OriginalStartDate

Appointments, documents (document_id != 0).

Entity Object for table 'appointment'. Entity objects represent full entities with both the base table object and all related objects, such as udef, publish, visiblefor, and things like owner associate and whatever else is logically related to the base object.
Declaration
public DateTime OriginalStartDate { get; set; }
Property Value
Type Description
DateTime
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Person

Related object Person: Persons in a company or an organisation

Declaration
public Person Person { get; set; }
Property Value
Type Description
Person
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

PreferredTZLocation

Temporary hardcoding

Declaration
public int PreferredTZLocation { get; set; }
Property Value
Type Description
int
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Priority

Related object PriorityRow: Priority list table

Declaration
public PriorityRow Priority { get; set; }
Property Value
Type Description
PriorityRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Private

OBSOLETE - the VisibleFor table is used instead

Declaration
public AppointmentPrivate Private { get; set; }
Property Value
Type Description
AppointmentPrivate
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Project

Related object Project: Projects

Declaration
public Project Project { get; set; }
Property Value
Type Description
Project
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

PublishHelper

Get the helper class for working with the publish-state of the entity.
Published means that it is available for external persons in applications like SuperOffice Audience.

Declaration
public EntityPublishHelper PublishHelper { get; }
Property Value
Type Description
EntityPublishHelper
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

RecurrenceRule

Related object RecurrenceRuleRow: Link table, connects a BinaryObject with one or more owners

Declaration
public RecurrenceRuleRow RecurrenceRule { get; set; }
Property Value
Type Description
RecurrenceRuleRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Registered

Registered date

Declaration
public DateTime Registered { get; set; }
Property Value
Type Description
DateTime
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

RejectCounter

How many invitees have rejected this appointment

Declaration
public short RejectCounter { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

RejectReason

Why was this booking or assignment rejected, the RejectReason list is a source of suggestions but you can write anything here

Declaration
public string RejectReason { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Row

The encapsulated object AppointmentRow.

Declaration
public AppointmentRow Row { get; }
Property Value
Type Description
AppointmentRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Source

"For future integration use; source of record"

Declaration
public short Source { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Status

status=done,started, not started, hidden

Declaration
public AppointmentStatus Status { get; set; }
Property Value
Type Description
AppointmentStatus
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

TableInfo

Get a TableInfo object for the appointment table.

Declaration
public AppointmentTableInfo TableInfo { get; }
Property Value
Type Description
AppointmentTableInfo
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Task

Related object TaskRow: Task list table

Declaration
public TaskRow Task { get; set; }
Property Value
Type Description
TaskRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Title

Related object TextRow: Title text

Declaration
public TextRow Title { get; set; }
Property Value
Type Description
TextRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Type

where=no start time,note,docin, docout

Declaration
public AppointmentType Type { get; set; }
Property Value
Type Description
AppointmentType
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

UdefHelper

Get the Udef class of EntityUdefHelper for working with udef fields

Declaration
public EntityUdefHelper UdefHelper { get; }
Property Value
Type Description
EntityUdefHelper
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

UdefLarge

Related object UDAppntLargeRow: User-defined fields

Declaration
public UDAppntLargeRow UdefLarge { get; set; }
Property Value
Type Description
UDAppntLargeRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

UdefSmall

Related object UDAppntSmallRow: User-defined fields

Declaration
public UDAppntSmallRow UdefSmall { get; set; }
Property Value
Type Description
UDAppntSmallRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Updated

Updated date

Declaration
public DateTime Updated { get; set; }
Property Value
Type Description
DateTime
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

UpdatedAssociate

Related object AssociateRow: Employees, resources and other users - except for External persons

Declaration
public AssociateRow UpdatedAssociate { get; set; }
Property Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

UpdatedCount

Number of updates made to this record

Declaration
public short UpdatedCount { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

UserGroup

Related object UserGroupRow: Secondary user groups

Declaration
public UserGroupRow UserGroup { get; set; }
Property Value
Type Description
UserGroupRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

VisibleForHelper

Get the helper class for working with the visible-for of the entity.

Declaration
public EntityVisibleForHelper VisibleForHelper { get; }
Property Value
Type Description
EntityVisibleForHelper
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Methods

CreateNew()

Create a new instance of the Appointment entity.

Declaration
public static Appointment CreateNew()
Returns
Type Description
Appointment

A new instance of the Appointment entity.

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

CreateNew(AppointmentIdxBase)

Create a new instance of the Appointment entity, by reading from the database using the specified index (represented by a nested index class).

Declaration
public static Appointment CreateNew(Appointment.AppointmentIdxBase idx)
Parameters
Type Name Description
Appointment.AppointmentIdxBase idx

Index search, represented by a subclass if the Appointment.AppointmentIdxBase nested index class

Returns
Type Description
Appointment

A new instance of the Appointment entity.

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

DeleteAsync()

Delete the row.

Declaration
public override Task DeleteAsync()
Returns
Type Description
Task
Overrides
EntityBase.DeleteAsync()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

ForceEntityUpdate()

Force Updated and UpdatedAssociate to be updated with current time and Currently logged in associate. This will again be overridden in the Database update operation by a query processor.

Declaration
protected override void ForceEntityUpdate()
Overrides
EntityBase.ForceEntityUpdate()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

FromAppointmentRow(AppointmentRow)

Operator asigning a Appointment from a AppointmentRow.

Declaration
public static Appointment FromAppointmentRow(AppointmentRow row)
Parameters
Type Name Description
AppointmentRow row

AppointmentRow object

Returns
Type Description
Appointment

Appointment Entity

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

FromAppointmentRow(AppointmentRow, AppointmentIdxBase)

Appointments, documents (document_id != 0).

Entity Object for table 'appointment'. Entity objects represent full entities with both the base table object and all related objects, such as udef, publish, visiblefor, and things like owner associate and whatever else is logically related to the base object.
Declaration
public static Appointment FromAppointmentRow(AppointmentRow row, Appointment.AppointmentIdxBase idx)
Parameters
Type Name Description
AppointmentRow row
Appointment.AppointmentIdxBase idx
Returns
Type Description
Appointment
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

GetAdditionalRelatedNestedPersistAsync(List<INestedPersist>, bool, CancellationToken)

Add the Links Helper to the list of related nestedpersist objects, to ensure it gets a chance to do its save operations

Declaration
protected override 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
Overrides
EntityBase.GetAdditionalRelatedNestedPersistAsync(List<INestedPersist>, bool, CancellationToken)
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

GetBookingMasterAsync(CancellationToken)

Related object AppointmentCollection: "Tasks, appointments, followups, phone calls; and documents"

Declaration
public Task<AppointmentCollection> GetBookingMasterAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<AppointmentCollection>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

GetFromCustomSearchAsync(CustomSearch, CancellationToken)

Create a new instance of the Appointment object, and populate it with data from a custom search. If the search returns no results, an empty entity will be returned; if the result contains rows, one Appointment object representing the first row will be returned. Any further rows in the result will be ignored.

Declaration
public static Task<Appointment> GetFromCustomSearchAsync(Appointment.CustomSearch query, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Appointment.CustomSearch query

The custom search to execute against the database

CancellationToken cancellationToken
Returns
Type Description
Task<Appointment>

A new instance of the Appointment object, reflecting the result of the query.

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

GetFromIdxActiveDateAssociateIdAppointmentIdMotherIdAsync(DateTime, int, int, int, CancellationToken)

Create a new instance of the Appointment object, by querying the database table via the index 'IAssoc_idActiveDateMother_idId'. This method is intended to make it easy to use efficient queries that match a database index.

Declaration
public static Task<Appointment> GetFromIdxActiveDateAssociateIdAppointmentIdMotherIdAsync(DateTime activeDate, int associateId, int appointmentId, int motherId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
DateTime activeDate

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

int associateId

ID of associate whose diary the appointment is in, REQUIRED

int appointmentId

Primary key

int motherId

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

CancellationToken cancellationToken
Returns
Type Description
Task<Appointment>

Row object that represents the result of the search. IsNew will be true if the query did not match any row in the table

Remarks

This method represents one of the unique indexes on the Appointment table. Non-unique indexes have corresponding inner classes and methods in the AppointmentCollection collection, since they may return more than one row.

GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateIdAsync(DateTime, int, AppointmentType, int, int, int, int, int, int, DateTime, int, CancellationToken)

Create a new instance of the Appointment object, by querying the database table via the index 'IProj_idTypeActiveDateDoc_idAssoc_idGrp_idxMother_idAssignedByIdRegReg_id'. This method is intended to make it easy to use efficient queries that match a database index.

Declaration
public static Task<Appointment> GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateIdAsync(DateTime activeDate, int motherId, AppointmentType type, int documentId, int appointmentId, int assignedBy, int associateId, int projectId, int groupIdx, DateTime registered, int registeredAssociateId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
DateTime activeDate

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

int motherId

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentType type

See note.

int documentId

Points to document record; 0 for non-document appointments!

int appointmentId

Primary key

int assignedBy

Who (last) assigned this appointment to associate_id?

int associateId

ID of associate whose diary the appointment is in, REQUIRED

int projectId

ID of project referred to, may be 0

int groupIdx

Group of owning associate at the time the appnt was created

DateTime registered

Registered on

int registeredAssociateId

Registered by

CancellationToken cancellationToken
Returns
Type Description
Task<Appointment>

Row object that represents the result of the search. IsNew will be true if the query did not match any row in the table

Remarks

This method represents one of the unique indexes on the Appointment table. Non-unique indexes have corresponding inner classes and methods in the AppointmentCollection collection, since they may return more than one row.

GetFromIdxAppointmentIdAsync(int, CancellationToken)

Create a new instance of the Appointment object, by querying the database table via the index 'IDXAppntId'. This method is intended to make it easy to use efficient queries that match a database index.

Declaration
public static Task<Appointment> GetFromIdxAppointmentIdAsync(int appointmentId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int appointmentId

Primary key

CancellationToken cancellationToken
Returns
Type Description
Task<Appointment>

Row object that represents the result of the search. IsNew will be true if the query did not match any row in the table

Remarks

This method represents one of the unique indexes on the Appointment table. Non-unique indexes have corresponding inner classes and methods in the AppointmentCollection collection, since they may return more than one row.

GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateIdAsync(int, int, DateTime, AppointmentType, DateTime, int, int, int, AppointmentStatus, int, CancellationToken)

Create a new instance of the Appointment object, by querying the database table via the index 'IMother_idStatusActiveDateReg_idRegAssignedByGrp_idxTypeAssoc_idId'. This method is intended to make it easy to use efficient queries that match a database index.

Declaration
public static Task<Appointment> GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateIdAsync(int associateId, int groupIdx, DateTime activeDate, AppointmentType type, DateTime registered, int motherId, int appointmentId, int assignedBy, AppointmentStatus status, int registeredAssociateId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int associateId

ID of associate whose diary the appointment is in, REQUIRED

int groupIdx

Group of owning associate at the time the appnt was created

DateTime activeDate

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AppointmentType type

See note.

DateTime registered

Registered on

int motherId

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

int appointmentId

Primary key

int assignedBy

Who (last) assigned this appointment to associate_id?

AppointmentStatus status

See note.

int registeredAssociateId

Registered by

CancellationToken cancellationToken
Returns
Type Description
Task<Appointment>

Row object that represents the result of the search. IsNew will be true if the query did not match any row in the table

Remarks

This method represents one of the unique indexes on the Appointment table. Non-unique indexes have corresponding inner classes and methods in the AppointmentCollection collection, since they may return more than one row.

GetLinksHelperAsync(CancellationToken)

Links helper The helper manages the links belonging to the appointment. Helper updates the appointment's ActiveLinks property

Declaration
public Task<ActivityLinksHelper> GetLinksHelperAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<ActivityLinksHelper>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

GetRelatedNestedPersistAsync(List<INestedPersist>, bool, CancellationToken)

Append all the related objects to a list of INestedPersist.

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

List to append related objects to.

bool lacyFetchIfNeeded
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
EntityBase.GetRelatedNestedPersistAsync(List<INestedPersist>, bool, CancellationToken)
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

InitBookingMasterAsync(CancellationToken)

Appointments, documents (document_id != 0).

Entity Object for table 'appointment'. Entity objects represent full entities with both the base table object and all related objects, such as udef, publish, visiblefor, and things like owner associate and whatever else is logically related to the base object.
Declaration
public Task InitBookingMasterAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

OnIdUpdateAsync()

Update related objects with correct id's to make sure that relations are consistent before saving to the database.

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

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

OnPostSaveMe()

Handle actions needed to be taken after this object has been saved, but before saving objects depending upon this one.

Declaration
protected virtual void OnPostSaveMe()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

OnPreIdUpdateAsync()

Allow for "fake id's" to be forced upon related objects.

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

In order to figure out which objects taking part of the nested save operation that actually needs to be saved, this method allows for "fake id's" to be forced upon related objects. Upon receiving the "fake id", the objects receiving such an id can determine if they needs to be persisted (e.g. saved) to the database. However, the fake id's forced upon related objects must be set to correct id's in the OnIdUpdate method taking place later in the save operation.

OnPreSaveMe()

Handle actions needed to be taken after objects this object depends on have been saved, but before this object is saved.

Declaration
protected virtual void OnPreSaveMe()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

OnRowLoad(SoDataReader, TableRowBase)

Event raised when the row is loaded from the database

Declaration
protected override void OnRowLoad(SoDataReader reader, TableRowBase row)
Parameters
Type Name Description
SoDataReader reader
TableRowBase row
Overrides
EntityBase.OnRowLoad(SoDataReader, TableRowBase)
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

OnRowLoaded()

Appointments, documents (document_id != 0).

Entity Object for table 'appointment'. Entity objects represent full entities with both the base table object and all related objects, such as udef, publish, visiblefor, and things like owner associate and whatever else is logically related to the base object.
Declaration
protected override void OnRowLoaded()
Overrides
EntityBase.OnRowLoaded()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

SetDefaultsAsync(DefaulterStrategy, CancellationToken)

Set default values for the entity.

Declaration
public Task SetDefaultsAsync(DefaulterStrategy strategy, CancellationToken cancellationToken = default)
Parameters
Type Name Description
DefaulterStrategy strategy

Strategy used when appliying default values.

CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

SetDefaultsAsync(TaskType, DefaulterStrategy, CancellationToken)

Set default values for the entity based on the type of appointment.

Declaration
public Task SetDefaultsAsync(TaskType type, DefaulterStrategy strategy, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TaskType type

The type of appointment

DefaulterStrategy strategy

Strategy used when appliying default values.

CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

SetDefaultsAsync(TaskType, CancellationToken)

Set default values for the entity based on the type of appointment.

Declaration
public Task SetDefaultsAsync(TaskType type, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TaskType type

The type of appointment

CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

SetDefaultsAsync(CancellationToken)

Set default values for the entity.

Declaration
public Task SetDefaultsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

ToString()

Appointments, documents (document_id != 0).

Entity Object for table 'appointment'. Entity objects represent full entities with both the base table object and all related objects, such as udef, publish, visiblefor, and things like owner associate and whatever else is logically related to the base object.
Declaration
public override string ToString()
Returns
Type Description
string
Overrides
object.ToString()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

ValidateAsync(CancellationToken)

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

Declaration
public override 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

Overrides
EntityBase.ValidateAsync(CancellationToken)
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

VerifyToDoDatesAsync(TaskType, CancellationToken)

Verifies the ToDo dates for the appointment are set to expected values (00:00)

Declaration
public Task VerifyToDoDatesAsync(TaskType type, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TaskType type
CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Operators

explicit operator Appointment(AppointmentRow)

Operator assigning a Appointment from a AppointmentRow.

Declaration
public static explicit operator Appointment(AppointmentRow row)
Parameters
Type Name Description
AppointmentRow row

AppointmentRow object

Returns
Type Description
Appointment

Appointment Entity

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Appointment.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Appointment Appointment.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Appointment.IsNew and SuperOffice.CRM.Data.Appointment.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the AppointmentCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Appointment are:
Index fieldsNested index class name
AppointmentIdAppointmentId:

Primary key

Nested index class: Appointment.IdxAppointmentId

Static Get method: GetFromIdxAppointmentIdAsync(int, CancellationToken)
ActiveDate, MotherId, Type, DocumentId, AppointmentId, AssignedBy, AssociateId, ProjectId, GroupIdx, Registered, RegisteredAssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Type:

See note.

DocumentId:

Points to document record; 0 for non-document appointments!

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

ProjectId:

ID of project referred to, may be 0

GroupIdx:

Group of owning associate at the time the appnt was created

Registered:

Registered on

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateMotherIdTypeDocumentIdAppointmentIdAssignedByAssociateIdProjectIdGroupIdxRegisteredRegisteredAssociateId
ActiveDate, AssociateId, AppointmentId, MotherIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

AppointmentId:

Primary key

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: Appointment.IdxActiveDateAssociateIdAppointmentIdMotherId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxActiveDateAssociateIdAppointmentIdMotherId
AssociateId, GroupIdx, ActiveDate, Type, Registered, MotherId, AppointmentId, AssignedBy, Status, RegisteredAssociateIdAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

GroupIdx:

Group of owning associate at the time the appnt was created

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Type:

See note.

Registered:

Registered on

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

AppointmentId:

Primary key

AssignedBy:

Who (last) assigned this appointment to associate_id?

Status:

See note.

RegisteredAssociateId:

Registered by

Nested index class: Appointment.IdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId

Static Get method: SuperOffice.CRM.Entities.Appointment.GetFromIdxAssociateIdGroupIdxActiveDateTypeRegisteredMotherIdAppointmentIdAssignedByStatusRegisteredAssociateId
Non-unique indexes on table Appointment are:
Index fieldsNested index class name
ActiveDate, Status, Type, AssociateIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Status:

See note.

Type:

See note.

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxActiveDateStatusTypeAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxActiveDateStatusTypeAssociateId
ContactId, TypeContactId:

Contact ID of owning contact, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxContactIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxContactIdType
ProjectId, TypeProjectId:

ID of project referred to, may be 0

Type:

See note.

Nested index class: AppointmentCollection.IdxProjectIdType

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxProjectIdType
MotherIdMotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

Nested index class: AppointmentCollection.IdxMotherId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxMotherId
DoBy, Type, EndDate, AssociateIdDoBy:

Date + start time planned

Type:

See note.

EndDate:

Date + end time planned

AssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Nested index class: AppointmentCollection.IdxDoByTypeEndDateAssociateId

Static Get method: SuperOffice.CRM.Entities.AppointmentCollection.GetFromIdxDoByTypeEndDateAssociateId
ActiveDateActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxActiveDate

Static Get method: GetFromIdxActiveDate(DateTime, CancellationToken)
AssociateId, DoBy, Status, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

DoBy:

Date + start time planned

Status:

See note.

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdDoByStatusType

Static Get method: GetFromIdxAssociateIdDoByStatusType(int, DateTime, AppointmentStatus, AppointmentType, CancellationToken)
ActiveDate, MotherId, RecurrenceRuleIdActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

MotherId:

ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

Nested index class: AppointmentCollection.IdxActiveDateMotherIdRecurrenceRuleId

Static Get method: GetFromIdxActiveDateMotherIdRecurrenceRuleId(DateTime, int, int, CancellationToken)
SourceSource:

For future integration use; source of record

Nested index class: AppointmentCollection.IdxSource

Static Get method: GetFromIdxSource(short, CancellationToken)
ContactIdContactId:

Contact ID of owning contact, may be 0

Nested index class: AppointmentCollection.IdxContactId

Static Get method: GetFromIdxContactId(int, CancellationToken)
ProjectIdProjectId:

ID of project referred to, may be 0

Nested index class: AppointmentCollection.IdxProjectId

Static Get method: GetFromIdxProjectId(int, CancellationToken)
DocumentIdDocumentId:

Points to document record; 0 for non-document appointments!

Nested index class: AppointmentCollection.IdxDocumentId

Static Get method: GetFromIdxDocumentId(int, CancellationToken)
AssociateId, Status, Done, TypeAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

Status:

See note.

Done:

Date + start time this task was actually performed

Type:

See note.

Nested index class: AppointmentCollection.IdxAssociateIdStatusDoneType

Static Get method: GetFromIdxAssociateIdStatusDoneType(int, AppointmentStatus, DateTime, AppointmentType, CancellationToken)
PersonIdPersonId:

Person ID of person the appointment is with, may be 0; if nonzero, must match the contact_id (which must then also be nonzero).

Nested index class: AppointmentCollection.IdxPersonId

Static Get method: GetFromIdxPersonId(int, CancellationToken)
AssociateId, RecurrenceRuleId, ActiveDateAssociateId:

ID of associate whose diary the appointment is in, REQUIRED

RecurrenceRuleId:

Pointer to recurrence rule, for recurring appointments, otherwise 0

ActiveDate:

The date to be used for searching & showing, is either the same as the done or do_by dates depending on type and status

Nested index class: AppointmentCollection.IdxAssociateIdRecurrenceRuleIdActiveDate

Static Get method: GetFromIdxAssociateIdRecurrenceRuleIdActiveDate(int, int, DateTime, CancellationToken)
GroupIdxGroupIdx:

Group of owning associate at the time the appnt was created

Nested index class: AppointmentCollection.IdxGroupIdx

Static Get method: GetFromIdxGroupIdx(int, CancellationToken)
UserdefIdUserdefId:

User-defined table record 1 (for future use)

Nested index class: AppointmentCollection.IdxUserdefId

Static Get method: GetFromIdxUserdefId(int, CancellationToken)
DoByDoBy:

Date + start time planned

Nested index class: AppointmentCollection.IdxDoBy

Static Get method: GetFromIdxDoBy(DateTime, CancellationToken)
TextIdTextId:

ID of record containing appointment text, may be 0 for no text; note that bookings share a common text record

Nested index class: AppointmentCollection.IdxTextId

Static Get method: GetFromIdxTextId(int, CancellationToken)
Userdef2IdUserdef2Id:

User-defined table record 2 (for future use)

Nested index class: AppointmentCollection.IdxUserdef2Id

Static Get method: GetFromIdxUserdef2Id(int, CancellationToken)
DoneDone:

Date + start time this task was actually performed

Nested index class: AppointmentCollection.IdxDone

Static Get method: GetFromIdxDone(DateTime, CancellationToken)

Implements

INestedPersist
ITableRowLoadHandler
IEntityUdefHelperContainer

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