Show / Hide Table of Contents

Class AppointmentMatrix

Matrix holding information about repeating appointment and participants.

Inheritance
Object
NestedPersist
AppointmentMatrix
Implements
INestedPersist
Inherited Members
NestedPersist._saveOwner
NestedPersist._isSaving
NestedPersist.SetSaveOwner(INestedPersist)
NestedPersist.INestedPersist.OnPreIdUpdate()
NestedPersist.INestedPersist.OnPrimaryKeyRequest(PKContainer)
NestedPersist.INestedPersist.OnPrimaryKeyUpdate(PKContainer)
NestedPersist.INestedPersist.OnIdUpdate()
NestedPersist.INestedPersist.OnSave(BatchSave)
NestedPersist.INestedPersist.OnSaved(Boolean)
NestedPersist.IsSaving
NestedPersist.IsMarkedForDelete
NestedPersist.OnElementSaved
NestedPersist.OnElementIdUpdate
Object.ToString()
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Namespace: SuperOffice.CRM.Entities
Assembly: SoDataBase.dll
Syntax
public sealed class AppointmentMatrix : NestedPersist, INestedPersist
Remarks

A booking consists of a booking master and booking children. Booking master is the master appointment record representing the party (i.e. associate) hosting an event or meeting. Booking children represents invitations and participants to the meeting. We are distinguishing between the current date and dates into the future. The user is prompted with a request to modify the current date and all future dates. Furthermore, we view a repeating booking like a matrix, where participants are represented by columns and repetitions (dates) are represented by rows. When accessing data like a matrix, we use x for the x dimension of the matrix and y for the y dimension. Hence; matrix[x,y] would result to matrix[participant, date].

    | M P P |
    | B C C |
    | B C C |

Where:

M - Master booking for the appointment used to instantiate the matrix.
P - Participant of in the meeting used to instantiate the matrix.
B - Master booking for appointments ahead in the series of repeating bookings.
C - Child appointment records representing participation in appointments ahead in the series of repeating bookings.</code></pre>

The B and C records only exists when there are repetitions. P and C records only exist when the appointment is a booking (i.e. there are participants). Related information like description are only held by M and B records, and the corresponding P and C records only point to this data. Related data for the M record is require to display the related information to the user. Related information to the B records are modified when the corresponding related information to the M record is modified only if the information is identical. Hence; B's related information needs to be checked and potentially modified when modifying M's related information.

Too much data would be loaded if we would load all participants for all repetitions, including related information like text. Hence; we choose to load what we actually need. This means that we load the M, P and B records initially. C records are loaded as required. If there is a repeating booking with 10 participants and 15 recurrences to the future of the appointment record in focus, we load 15 + 10 = 25 appointment records. We would load 15 x 10 = 150 appointment records if we were to load the entire matrix. All these records could, however, be loaded in case of modifying the list of participants or recurrences.

Constructors

AppointmentMatrix(Appointment, RecurrenceUpdateMode)

Create new instance of the appointment matrix

Declaration
public AppointmentMatrix(Appointment appointment, RecurrenceUpdateMode recurrenceUpdateMode)
Parameters
Type Name Description
Appointment appointment
RecurrenceUpdateMode recurrenceUpdateMode

AppointmentMatrix(AppointmentRow, RecurrenceUpdateMode)

Declaration
public AppointmentMatrix(AppointmentRow appointment, RecurrenceUpdateMode recurrenceUpdateMode)
Parameters
Type Name Description
AppointmentRow appointment
RecurrenceUpdateMode recurrenceUpdateMode

AppointmentMatrix(Int32, RecurrenceUpdateMode)

Create an AppointmentMatrix based on an appointment ID. If the ID is 0, a new appointment entity is created, otherwise we try to read it from the database.

Declaration
public AppointmentMatrix(int appointmentId, RecurrenceUpdateMode recurrenceUpdateMode)
Parameters
Type Name Description
Int32 appointmentId

ID of appointment to process

RecurrenceUpdateMode recurrenceUpdateMode

How recurrence updates should be handled

Properties

AppointmentText

Declaration
public TextRow AppointmentText { get; }
Property Value
Type Description
TextRow

BookingType

Declaration
public BookingType BookingType { get; }
Property Value
Type Description
BookingType

CurrentAppointmentRow

Declaration
public AppointmentRow CurrentAppointmentRow { get; }
Property Value
Type Description
AppointmentRow

CustomFields

Declaration
public EntityCustomFieldsHelper CustomFields { get; }
Property Value
Type Description
EntityCustomFieldsHelper

ExtraFields

Declaration
public EntityExtraFieldsHelper ExtraFields { get; }
Property Value
Type Description
EntityExtraFieldsHelper

InnerMatrix

Declaration
public KeyedMatrix<ParticipantInfo, RecurrenceDate, AppointmentRow> InnerMatrix { get; }
Property Value
Type Description
KeyedMatrix<ParticipantInfo, RecurrenceDate, AppointmentRow>

InnerRemovedMatrix

Declaration
public KeyedMatrix<ParticipantInfo, RecurrenceDate, AppointmentRow> InnerRemovedMatrix { get; }
Property Value
Type Description
KeyedMatrix<ParticipantInfo, RecurrenceDate, AppointmentRow>

IsBooking

Declaration
public bool IsBooking { get; }
Property Value
Type Description
Boolean

IsBookingMaster

Declaration
public bool IsBookingMaster { get; }
Property Value
Type Description
Boolean

IsDeleted

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

IsDirty

Is the object dirty?

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

IsExternalInvitation

Declaration
public bool IsExternalInvitation { get; }
Property Value
Type Description
Boolean

IsRecurring

Declaration
public bool IsRecurring { get; }
Property Value
Type Description
Boolean

LinksHelper

Declaration
public ActivityLinksHelper LinksHelper { get; }
Property Value
Type Description
ActivityLinksHelper

MainBooking

Returns Main or Current Appointment entity.

Declaration
public Appointment MainBooking { get; }
Property Value
Type Description
Appointment

MainBookingRow

Declaration
public AppointmentRow MainBookingRow { get; }
Property Value
Type Description
AppointmentRow

OnNotifyCentralServicesForVideoMeetings

Declaration
public static Action<bool> OnNotifyCentralServicesForVideoMeetings { get; set; }
Property Value
Type Description
Action<Boolean>

Ownership

Get the ownership to the data in the matrix. OwnershipIndex.None is returned if the currently logged in user does not have rights to the _currentAppointment record. OwnershipIndex.Unknown is returned if the matrix is in a state where _mainbooking or _currentAppointment is null (VB: Nothing).

Declaration
public AppointmentMatrix.OwnershipIndex Ownership { get; }
Property Value
Type Description
AppointmentMatrix.OwnershipIndex

PublishHelper

Declaration
public EntityPublishHelper PublishHelper { get; }
Property Value
Type Description
EntityPublishHelper

Recurrence

Declaration
public RecurrenceInfo Recurrence { get; set; }
Property Value
Type Description
RecurrenceInfo

RecurrenceUpdateMode

Declaration
public RecurrenceUpdateMode RecurrenceUpdateMode { get; }
Property Value
Type Description
RecurrenceUpdateMode

SendMailFunction

Declaration
public AppointmentMatrix.SendMails SendMailFunction { get; set; }
Property Value
Type Description
AppointmentMatrix.SendMails

SendPushMessageToOurself

If true, we will also send push messages to logged in user if specified as recipient If false, we will filter out logged in user

Declaration
public bool SendPushMessageToOurself { get; set; }
Property Value
Type Description
Boolean

Task

Declaration
public TaskRow Task { get; }
Property Value
Type Description
TaskRow

UdefHelper

Declaration
public EntityUdefHelper UdefHelper { get; }
Property Value
Type Description
EntityUdefHelper

VisibleForHelper

Declaration
public EntityVisibleForHelper VisibleForHelper { get; }
Property Value
Type Description
EntityVisibleForHelper

Methods

Accept()

Accept all occurrences for the current appointment. If only one occurrence exist, then only this one is accepted (not a recurring booking appointment)

Declaration
public void Accept()

Accept(ParticipantInfo)

Accept all occurrences of the appointment for the participant. If only one occurrence exist, then only this one is accepted (not a recurring booking appointment)

Declaration
public void Accept(ParticipantInfo participantInfo)
Parameters
Type Name Description
ParticipantInfo participantInfo

Participant that accepts all occurrences of the appointment

Accept(ParticipantInfo, RecurrenceDate)

Accept the appointment for the provided participant at the given date

Declaration
public void Accept(ParticipantInfo participantInfo, RecurrenceDate date)
Parameters
Type Name Description
ParticipantInfo participantInfo

Participant that accepts the appointment

RecurrenceDate date

The date of the accepted appointment

Accept(Int32, RecurrenceUpdateMode)

Accept all occurrences for the current appointment. If only one occurrence exist, then only this one is accepted (not a recurring booking appointment). The result of the rejection is saved to the database.

Declaration
public static void Accept(int appointmentId, RecurrenceUpdateMode recurrenceUpdateMode)
Parameters
Type Name Description
Int32 appointmentId

AppointmentId of Invitation or Assignment to be set to accepted.

RecurrenceUpdateMode recurrenceUpdateMode

How recurrence updates should be handled

AcceptRejectedAppointment()

Booking owner can accept that a participant has rejected an invitation. The rejected invitation will then NOT appear in the booking owner's Invitation dialog anymore.

Declaration
public void AcceptRejectedAppointment()

AcceptRejectedAppointment(ParticipantInfo, RecurrenceDate)

Booking owner can accept that a participant has rejected an invitation. The rejected invitation will then NOT appear in the booking owner's Invitation dialog anymore.

Declaration
public void AcceptRejectedAppointment(ParticipantInfo participantInfo, RecurrenceDate date)
Parameters
Type Name Description
ParticipantInfo participantInfo

Participant that accepts the appointment

RecurrenceDate date

The date of the accepted appointment

AcceptWithEmailConfirmation()

... ... send emails

Declaration
public void AcceptWithEmailConfirmation()

AddDate(RecurrenceDate[])

Add a date to the repeating appointment. Nothing will be performed if RecurrenceUpdateMode is OnlyThis.

Declaration
public void AddDate(params RecurrenceDate[] dates)
Parameters
Type Name Description
RecurrenceDate[] dates

Date to add to the repeating appointment.

AddDate(DateTime[])

Add a date to the repeating appointment. Nothing will be performed if RecurrenceUpdateMode is OnlyThis.

Declaration
public void AddDate(params DateTime[] dates)
Parameters
Type Name Description
DateTime[] dates

Date to add to the repeating appointment.

AddParticipant(ParticipantInfo[])

Declaration
public void AddParticipant(params ParticipantInfo[] participants)
Parameters
Type Name Description
ParticipantInfo[] participants

AssignTo(ParticipantInfo)

Assign the booking to the participant given as parameter. If booking is a recurrence then the participant is assigned as booking owner for all instances.

Declaration
public void AssignTo(ParticipantInfo participantInfo)
Parameters
Type Name Description
ParticipantInfo participantInfo

Participant to assign the booking to (will become the owner)

AssignToExternalOrganizer(ParticipantInfo)

Assign the booking to the participant given as parameter. If booking is a recurrence then the participant is assigned as booking owner for all instances.

Declaration
public void AssignToExternalOrganizer(ParticipantInfo newOwner)
Parameters
Type Name Description
ParticipantInfo newOwner

Participant to assign the booking to (will become the owner)

CalculateDays()

Calculate the days according the the recurrence pattern described.
Nothing will be performed if RecurrenceUpdateMode is OnlyThis.

Declaration
public void CalculateDays()

Cancel(ParticipantInfo)

Declaration
public void Cancel(ParticipantInfo participantInfo)
Parameters
Type Name Description
ParticipantInfo participantInfo

Delete()

Delete items in the appointment matrix.

Declaration
public void Delete()

DeleteUnusedInvitationMatrix(Boolean)

Declaration
public void DeleteUnusedInvitationMatrix(bool allowCheckOnMainBooking = false)
Parameters
Type Name Description
Boolean allowCheckOnMainBooking

DeleteWithEmail()

Declaration
public void DeleteWithEmail()

DemandOwnership(AppointmentMatrix.OwnershipIndex)

Demand that the logged in user has the the required ownership requested.
If the required is less than the Ownership, a SoSentryException is thrown.

Declaration
public void DemandOwnership(AppointmentMatrix.OwnershipIndex minimumRequiredOwnership)
Parameters
Type Name Description
AppointmentMatrix.OwnershipIndex minimumRequiredOwnership

The mimimum required ownership index required.

GetAllAppointmentRows()

Declaration
public IEnumerable<AppointmentRow> GetAllAppointmentRows()
Returns
Type Description
IEnumerable<AppointmentRow>

GetDates()

Declaration
public RecurrenceDate[] GetDates()
Returns
Type Description
RecurrenceDate[]

GetIncludedAppointmentRows()

Declaration
public IEnumerable<AppointmentRow> GetIncludedAppointmentRows()
Returns
Type Description
IEnumerable<AppointmentRow>

GetParticipant(Int32, Int32, Int32, Int32, AppointmentStatus)

Declaration
public static ParticipantInfo GetParticipant(int associateId, int personId, int contactId, int emailId, AppointmentStatus appointmentStatus)
Parameters
Type Name Description
Int32 associateId
Int32 personId
Int32 contactId
Int32 emailId
AppointmentStatus appointmentStatus
Returns
Type Description
ParticipantInfo

GetParticipantFullName(ParticipantInfo)

Declaration
public string GetParticipantFullName(ParticipantInfo info)
Parameters
Type Name Description
ParticipantInfo info
Returns
Type Description
String

GetParticipants()

Declaration
public ParticipantInfo[] GetParticipants()
Returns
Type Description
ParticipantInfo[]

GetRemovedAppointmentRows()

Declaration
public IEnumerable<AppointmentRow> GetRemovedAppointmentRows()
Returns
Type Description
IEnumerable<AppointmentRow>

GetTemplateVariables()

Declaration
public TemplateVariables GetTemplateVariables()
Returns
Type Description
TemplateVariables

HasOwnership(AppointmentMatrix.OwnershipIndex)

Determine if the logged in user has the the required ownershiprequested.
If the required is the same or larger than the Ownership, true is returned.

Declaration
public bool HasOwnership(AppointmentMatrix.OwnershipIndex minimumRequiredOwnership)
Parameters
Type Name Description
AppointmentMatrix.OwnershipIndex minimumRequiredOwnership

The mimimum required ownership index required.

Returns
Type Description
Boolean

True if minimumRequiredOwnership is the same or larger than the Ownership.

HasParticipant(ParticipantInfo)

Declaration
public bool HasParticipant(ParticipantInfo participant)
Parameters
Type Name Description
ParticipantInfo participant
Returns
Type Description
Boolean

ModifyOnRows(Int32, RecurrenceUpdateMode, AppointmentMatrix.RowModification, AppointmentMatrix.RowModification)

Declaration
public static void ModifyOnRows(int appointmentId, RecurrenceUpdateMode recurrenceUpdateMode, AppointmentMatrix.RowModification operationOnFirst, AppointmentMatrix.RowModification operationOnConsecutive)
Parameters
Type Name Description
Int32 appointmentId
RecurrenceUpdateMode recurrenceUpdateMode
AppointmentMatrix.RowModification operationOnFirst
AppointmentMatrix.RowModification operationOnConsecutive

Move(DateTime)

Declaration
public void Move(DateTime newStartTime)
Parameters
Type Name Description
DateTime newStartTime
Exceptions
Type Condition
SoIllegalOperationException

Thrown if a participant is trying to move a booking.

OnIdUpdate()

Update related objects with correct id's to make sure that relations are consistent before saving to the database.

Declaration
protected override void OnIdUpdate()
Overrides
NestedPersist.OnIdUpdate()

OnPreIdUpdate()

Allow for "fake id's" to be forced upon related objects.

Declaration
protected override void OnPreIdUpdate()
Overrides
NestedPersist.OnPreIdUpdate()
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.

OnPrimaryKeyRequest(PKContainer)

Allow the object to add itself to a collection of requests for primary keys.

Declaration
protected override void OnPrimaryKeyRequest(PKContainer pkContainer)
Parameters
Type Name Description
PKContainer pkContainer

Collection of objects getting a primary key.

Overrides
NestedPersist.OnPrimaryKeyRequest(PKContainer)
Remarks

When implementing this method, add yourself to the collection if you need a new primary key.

OnPrimaryKeyUpdate(PKContainer)

Update primary key.

Declaration
protected override void OnPrimaryKeyUpdate(PKContainer pkContainer)
Parameters
Type Name Description
PKContainer pkContainer

Collection of objects getting a primary key.

Overrides
NestedPersist.OnPrimaryKeyUpdate(PKContainer)

OnSave(BatchSave)

Add the object to the collection of objects that are to be saved within the transaction.

Declaration
protected override void OnSave(BatchSave batchSave)
Parameters
Type Name Description
BatchSave batchSave

An object holding all the objects that needs to be persisted.

Overrides
NestedPersist.OnSave(BatchSave)

OnSaved(Boolean)

Declaration
protected override void OnSaved(bool bSucceeded)
Parameters
Type Name Description
Boolean bSucceeded
Overrides
NestedPersist.OnSaved(Boolean)

Reject(ParticipantInfo, RecurrenceDate, String)

Rejects the appointment for the provided participant at the given date

Declaration
public void Reject(ParticipantInfo participantInfo, RecurrenceDate date, string rejectReason)
Parameters
Type Name Description
ParticipantInfo participantInfo

Participant that rejects the appointment

RecurrenceDate date

The date of the rejected appointment

String rejectReason

Text that explains why he/she can not attend

Reject(ParticipantInfo, String)

Rejects all occurrences of the appointment for the participant. If only one occurrence exist, then only this one is rejected (not a recurring booking appointment)

Declaration
public void Reject(ParticipantInfo participantInfo, string rejectReason)
Parameters
Type Name Description
ParticipantInfo participantInfo

Participant that rejects all occurrences of the appointment

String rejectReason

Text that explains why he/she can not attend

Reject(Int32, RecurrenceUpdateMode, String)

Rejects all occurrences of the appointment for the participant. If only one occurrence exist, then only this one is rejected (not a recurring booking appointment). The result of the rejection is saved to the database.

Declaration
public static void Reject(int appointmentId, RecurrenceUpdateMode recurrenceUpdateMode, string rejectReason)
Parameters
Type Name Description
Int32 appointmentId

AppointmentId of Invitation or Assignment to be set to rejected.

RecurrenceUpdateMode recurrenceUpdateMode

How recurrence updates should be handled

String rejectReason

Text that explains why he/she can not attend

Reject(String)

Rejects all occurrences for the current appointment. If only one occurrence exist, then only this one is rejected (not a recurring booking appointment)

Declaration
public void Reject(string rejectReason)
Parameters
Type Name Description
String rejectReason

Text that explains why he/she can not attend

RejectWithEmailConfirmation(String)

Rejects all occurrences for the current appointment. If only one occurrence exist, then only this one is rejected (not a recurring booking appointment)

Declaration
public void RejectWithEmailConfirmation(string rejectReason)
Parameters
Type Name Description
String rejectReason

Text that explains why he/she can not attend

RemoveDate(RecurrenceDate[])

Remove a date from the repeating appointment. Nothing will be performed if RecurrenceUpdateMode is OnlyThis.

Declaration
public void RemoveDate(params RecurrenceDate[] dates)
Parameters
Type Name Description
RecurrenceDate[] dates

Date to remove from the repeating appointment.

RemoveDate(DateTime[])

Remove a date from the repeating appointment. Nothing will be performed if RecurrenceUpdateMode is OnlyThis.

Declaration
public void RemoveDate(params DateTime[] dates)
Parameters
Type Name Description
DateTime[] dates

Date to be removed from the repeating appointment.

RemoveParticipant(ParticipantInfo[])

Used to remove participants from a booking

Declaration
public void RemoveParticipant(params ParticipantInfo[] participants)
Parameters
Type Name Description
ParticipantInfo[] participants

List of ParticipantInfo

Save()

Declaration
public override void Save()
Overrides
NestedPersist.Save()

SetDates(RecurrenceDate[])

Set the dates for the repeating appointment. Nothing will be performed if RecurrenceUpdateMode is OnlyThis.

Declaration
public void SetDates(params RecurrenceDate[] dates)
Parameters
Type Name Description
RecurrenceDate[] dates

Dates to set on the repeating appointment.

SetParticipants(ParticipantInfo[])

Declaration
public void SetParticipants(params ParticipantInfo[] participants)
Parameters
Type Name Description
ParticipantInfo[] participants

SetSeen()

Sets an appointment Invitation or Assignment to seen.

Declaration
public void SetSeen()
Remarks

Set Seen (Booking or Assignment) or MovedSeen (Booking) depending on the previous status of the Appointment

SetSeen(Int32, RecurrenceUpdateMode)

Sets an appointment Invitation or Assignment to seen and save it to the database.

Declaration
public static void SetSeen(int appointmentId, RecurrenceUpdateMode recurrenceUpdateMode)
Parameters
Type Name Description
Int32 appointmentId

AppointmentId of Invitation or Assignment to be set to seen.

RecurrenceUpdateMode recurrenceUpdateMode

How recurrence updates should be handled

Remarks

Set Seen (Booking or Assignment) or MovedSeen (Booking) depending on the previous status of the Appointment

SetSendMailToParticipants(Boolean)

Set if e-mails are going to be sent to participants that are marked receive mails, using default e-mail options for the logged in user.

Declaration
public void SetSendMailToParticipants(bool sendEmailToParticipants)
Parameters
Type Name Description
Boolean sendEmailToParticipants

True if e-mails are going to be sent to participants that are marked receive mails.

SetSendMailToParticipants(Boolean, Boolean)

Declaration
public void SetSendMailToParticipants(bool sendEmailToParticipants, bool setupConnections)
Parameters
Type Name Description
Boolean sendEmailToParticipants
Boolean setupConnections

SetSendMailToParticipants(Boolean, String, String, String, Boolean, String, String, String, Boolean, String)

Set if e-mails are going to be sent to participants that are marked receive mails, with provided mail server options.

Declaration
public void SetSendMailToParticipants(bool sendEmailToParticipants, string imapServer, string imapUser, string imapPassword, bool imapSSL, string smtpServer, string smtpUser, string smtpPassword, bool smtpSSL, string sentFolder)
Parameters
Type Name Description
Boolean sendEmailToParticipants

True if e-mails are going to be sent to participants that are marked receive mails.

String imapServer

Name/IP with optional port (i.e. server:port)of the IMAP server for storing e-mail in the sent items folder.

String imapUser

User-name to use when authenticating against the IMAP server for storing e-mail in the sent items folder.

String imapPassword

Password to use when authenticating against the IMAP server for storing e-mail in the sent items folder.

Boolean imapSSL

Use secure connection.

String smtpServer

Name/IP with optional port (i.e. server:port)of the SMTP server for sending e-mail.

String smtpUser

User-name to use when authenticating against the SMTP server for sending e-mail.

String smtpPassword

Password to use when authenticating against the SMT server for sending e-mail.

Boolean smtpSSL

Use secure connection.

String sentFolder

SetSendMailToParticipants(Boolean, String, String, String, String, String, String)

Set if e-mails are going to be sent to participants that are marked receive mails, with provided mail server options.

Declaration
public void SetSendMailToParticipants(bool sendEmailToParticipants, string imapServer, string imapUser, string imapPassword, string smtpServer, string smtpUser, string smtpPassword)
Parameters
Type Name Description
Boolean sendEmailToParticipants

True if e-mails are going to be sent to participants that are marked receive mails.

String imapServer

Name/IP with optional port (i.e. server:port)of the IMAP server for storing e-mail in the sent items folder.

String imapUser

User-name to use when authenticating against the IMAP server for storing e-mail in the sent items folder.

String imapPassword

Password to use when authenticating against the IMAP server for storing e-mail in the sent items folder.

String smtpServer

Name/IP with optional port (i.e. server:port)of the SMTP server for sending e-mail.

String smtpUser

User-name to use when authenticating against the SMTP server for sending e-mail.

String smtpPassword

Name/IP with optional port (i.e. server:port)of the SMTP server for sending e-mail.

UpdateParticipantInfo(ParticipantInfo)

Updates data regarding mail sending for the participant

Declaration
public void UpdateParticipantInfo(ParticipantInfo participant)
Parameters
Type Name Description
ParticipantInfo participant

Participant to update data for.

ValidateDays()

Declaration
public void ValidateDays()

ValidateParticipant(ParticipantInfo[])

Validates the information in the ParticipantInfo given as parameter and fills inn lacking information if needed. I.e assoc_id could both represent an associate or a resource. In the case of an associate, the person_id should also be present. Person that are actually associates are similarly updated with their associate id.

This also ensures consistent processing later on (associates really are processed as associates, etc)

Declaration
public static void ValidateParticipant(params ParticipantInfo[] participants)
Parameters
Type Name Description
ParticipantInfo[] participants

Implements

INestedPersist

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