@@ -2,9 +2,9 @@ public without sharing class CourseRegistrationController {
2
2
@AuraEnabled
3
3
public static String createRegistration (String fields , String courseId ) {
4
4
try {
5
- Boolean duplicate = checkForDuplicates (fields , courseId );
6
- if ( duplicate ) {
7
- return ' Du er allerede påmeldt dette kurset, vennligst bruk en annen e-postadresse.' ;
5
+ Boolean duplicate = checkForDuplicates (fields , courseId );
6
+ if (duplicate ) {
7
+ return ' Du er allerede påmeldt dette kurset, vennligst bruk en annen e-postadresse.' ;
8
8
}
9
9
Boolean courseIsFull = checkIfCourseIsFull (courseId );
10
10
if (fields != null ) {
@@ -18,7 +18,7 @@ public without sharing class CourseRegistrationController {
18
18
return ' Det oppsto en feil. Prøv igjen senere.' ;
19
19
}
20
20
}
21
-
21
+
22
22
@AuraEnabled
23
23
public static Course__c getCourseFields (String courseId ) {
24
24
return [
@@ -56,12 +56,27 @@ public without sharing class CourseRegistrationController {
56
56
return courseIsFull ;
57
57
}
58
58
59
+ private static List <CourseRegistration__c > getAlreadyInvited (CourseRegistrationModel model , String courseId ) {
60
+ List <CourseRegistration__c > alreadyInvited = [
61
+ SELECT Id , Course__c , CourseParticipant__r.Email
62
+ FROM CourseRegistration__c
63
+ WHERE Course__c = : courseId AND CourseParticipant__r.Email = : model .email AND Status__c = ' Invitert'
64
+ LIMIT 1
65
+ ];
66
+
67
+ return alreadyInvited ;
68
+ }
69
+
59
70
public static void insertRegistration (String fields , Id courseId ) {
60
71
if (fields != null ) {
61
72
Boolean courseIsFull = checkIfCourseIsFull (courseId );
62
73
CourseRegistrationModel model = CourseRegistrationModel .parse (fields );
63
- CourseRegistration__c registration = new CourseRegistration__c ();
74
+ List <CourseRegistration__c > registrations = getAlreadyInvited (model , courseId );
75
+ if (registrations .size () > 0 ) {
76
+ delete registrations ;
77
+ }
64
78
79
+ CourseRegistration__c registration = new CourseRegistration__c ();
65
80
registration .ContactFirstName__c = model .firstName ;
66
81
registration .ContactLastName__c = model .lastName ;
67
82
registration .ContactEmail__c = model .email ;
@@ -70,12 +85,11 @@ public without sharing class CourseRegistrationController {
70
85
registration .County__c = model .county ;
71
86
registration .CompanyName__c = model .companyName ;
72
87
registration .Role__c = model .role ;
73
-
74
- registration .Allergies__c = model .allergies ;
75
- registration .Workplace__c = model .workplace ;
76
- registration .Invoice_address__c = model .invoiceAdress ;
77
- registration .Invoice_reference__c = model .invoiceReference ;
78
- registration .AdditionalInformation__c = model .additionalInformation ;
88
+ registration .Allergies__c = model .allergies ;
89
+ registration .Workplace__c = model .workplace ;
90
+ registration .Invoice_address__c = model .invoiceAdress ;
91
+ registration .Invoice_reference__c = model .invoiceReference ;
92
+ registration .AdditionalInformation__c = model .additionalInformation ;
79
93
80
94
if (courseIsFull ) {
81
95
registration .Status__c = ' Venteliste' ;
@@ -86,15 +100,16 @@ public without sharing class CourseRegistrationController {
86
100
insert registration ;
87
101
}
88
102
}
89
-
90
- public static Boolean checkForDuplicates ( String fields , Id courseId ) {
103
+
104
+ public static Boolean checkForDuplicates (String fields , Id courseId ) {
91
105
CourseRegistrationModel model = CourseRegistrationModel .parse (fields );
92
- List <CourseRegistration__c > existingRecord =
93
- [SELECT Id , Course__c , CourseParticipant__r.Email
94
- FROM CourseRegistration__c
95
- WHERE Course__c = : courseId
96
- AND CourseParticipant__r.Email = : model .email LIMIT 1 ];
106
+ List <CourseRegistration__c > existingRecord = [
107
+ SELECT Id , Course__c , CourseParticipant__r.Email
108
+ FROM CourseRegistration__c
109
+ WHERE Course__c = : courseId AND CourseParticipant__r.Email = : model .email AND Status__c = ' Påmeldt'
110
+ LIMIT 1
111
+ ];
97
112
98
113
return existingRecord .size () > 0 ;
99
- }
114
+ }
100
115
}
0 commit comments