clsImportTrainingRegistration Class |
Use this object only for data migration. Use bImportTrainingRegistration(clsImportTrainingRegistration, clsImportBaseeImportMode) to import
Use clsTrainingCourseHandshakeRequest and the TrainingCourseWebFrontEndHandshake(clsTrainingCourseHandshakeRequest) method to register new participants
A registration contains several tables.
Namespace: MARIInterface
The clsImportTrainingRegistration type exposes the following members.
| Name | Description | |
|---|---|---|
| clsImportTrainingRegistration | Initializes a new instance of the clsImportTrainingRegistration class |
| Name | Description | |
|---|---|---|
| ArrivalDate | ArrivalDate | |
| ArrivalInformation | ArrivalInformation | |
| CardCode | CardCode inherited from the participant, if particpant type is Customer | |
| Company | Company inherited from the participant, if particpant type is Customer | |
| ContractID | Regestration fee billing contract. Only required for invoicing | |
| GroupParticipantNumber | Manage a group of partipants and link them to one for the billing process | |
| InvoiceMethod | Handling (copied from the default of the training course). See clsImportWorkItemTrainingCourseeInvoiceOption | |
| Notes | Notes | |
| ParticipantNumber | ParticipantNumber | |
| PhaseID | optional, Start Phase of the project | |
| Project | Normally empty, will be copied from the Training course | |
| ReferenceNumber | ReferenceNumber | |
| ReferenceSign | ReferenceSign | |
| RegistrationDate | RegistrationDate | |
| RegistrationID | Internal ID for each registration record set. Mut be 0 for import | |
| RegistrationStatus | Registration Status: Predefined list, can be enlarged. clsTrainingCourseHandshakeResulteRegistrationStatus | |
| Remark | Remark | |
| TrainingCourseID | WorkItemID Link to trainings cource |
| Name | Description | |
|---|---|---|
| bSaveRSToMDB | (Overrides clsImportBasebSaveRSToMDB(MPInterface, DataRow, DataTable).) |
| Name | Description | |
|---|---|---|
| ListOfContractPositions |
List of linked billing positions. See clsImportTrainingRegistrationContractLink | |
| ListOfSelectedOptions |
List of selected options. See clsImportTrainingRegistrationOptionLink |
private int ImportTrainingRegistration(clsImportTrainingRegistration Registration) { Log($"ImportTrainingRegistration(Registration Part {Registration.ParticipantNumber} Course {Registration.TrainingCourseID})"); if (!oMPInterface.bImportTrainingRegistration(Registration, MARIInterface.clsImportBase.eImportMode.ValidateAndImport)) { LogFail(oMPInterface.oErrors.PrintErrors()); return 0; } else { return Registration.RegistrationID; } } private clsImportTrainingRegistration NewRegistration( clsImportWorkItemTrainingCourse oCourse, clsImportWorkItemTrainingOption oCourseOption, clsImportWorkItemTrainingCoursePos oCourseRegFee, clsImportTrainingParticipant oParticipant, clsImportTrainingParticipant oParticipantGroup) { Log($"NewRegistration(oCourse {oCourse.TrainingCourseID}, oCourseOption {oCourseOption.TrainingCourseOptionID}, oCourseRegFee {oCourseRegFee.TrainingCoursePosID}, oParticipant \"{oParticipant.ParticipantNumber}\")"); clsImportTrainingRegistration oNewReg = new clsImportTrainingRegistration(); oNewReg.RegistrationID = 0; //Number will be created oNewReg.RegistrationDate = DateTime.Today; oNewReg.ParticipantNumber = oParticipant.ParticipantNumber; if (oParticipantGroup != null) oNewReg.GroupParticipantNumber = oParticipantGroup.ParticipantNumber; oNewReg.TrainingCourseID = oCourse.TrainingCourseID; oNewReg.RegistrationStatus = clsTrainingCourseHandshakeResult.eRegistrationStatus.Request; oNewReg.ArrivalDate = new DateTime(2021, 5, 4, 12, 45, 00); // Only Information oNewReg.ArrivalInformation = "Registration via MARIInterface"; oNewReg.ReferenceNumber = "ORDER 123989348"; oNewReg.ReferenceSign = "Purchaser Carlos Santana"; //selected option oNewReg.ListOfSelectedOptions.Add(new clsImportTrainingRegistrationOptionLink() { WorkItemOptionID = oCourseOption.TrainingCourseOptionID }); //selected billing registration fees oNewReg.ListOfContractPositions.Add(new clsImportTrainingRegistrationContractLink() { //RegistrationContractLinkID //=> must be 0 for import WorkItemPosID = oCourseRegFee.TrainingCoursePosID, Quantity = 1 }); return oNewReg; } //ToDOMN private List<clsImportTrainingRegistration> NewRegistrations(clsImportWorkItemTrainingCourse oCourse, int NumberOfParticipants, bool BookerAsParticipant = false) { Log($"NewRegistration(oCourse {oCourse.TrainingCourseID})"); List<clsImportTrainingRegistration> colNewRegistrations = new List<clsImportTrainingRegistration>(); if (NumberOfParticipants > 0) { clsImportTrainingRegistration oReg; for (int i = 0; i < NumberOfParticipants; i++) { oReg = new clsImportTrainingRegistration(); oReg.RegistrationID = 0; } } else { LogFail("NumberOfParticipants <= 0"); } return colNewRegistrations; }