// 1. Add user to group, fire events, do loggin etc.
BGConfigFlags flags = BGConfigFlags.createLearningGroupDefaultFlags();
businessGroupManager.addParticipantAndFireEvent(identity, identity, group, flags, false);
// 2. Set first enrollment date
String nowString = Long.toString(System.currentTimeMillis());
Property firstTime = coursePropertyManager
.findCourseNodeProperty(enNode, identity, null, ENCourseNode.PROPERTY_INITIAL_ENROLLMENT_DATE);
if (firstTime == null) {
// create firsttime
firstTime = coursePropertyManager.createCourseNodePropertyInstance(enNode, identity, null,
ENCourseNode.PROPERTY_INITIAL_ENROLLMENT_DATE, null, null, nowString, null);
coursePropertyManager.saveProperty(firstTime);
}
// 3. Set enrollmentdate property
Property thisTime = coursePropertyManager.findCourseNodeProperty(enNode, identity, null, ENCourseNode.PROPERTY_RECENT_ENROLLMENT_DATE);
if (thisTime == null) {
// create firsttime
thisTime = coursePropertyManager.createCourseNodePropertyInstance(enNode, identity, null,
ENCourseNode.PROPERTY_RECENT_ENROLLMENT_DATE, null, null, nowString, null);
coursePropertyManager.saveProperty(thisTime);
} else {
thisTime.setStringValue(nowString);
coursePropertyManager.updateProperty(thisTime);
}
// 4. Send notification mail
MailTemplate mailTemplate = BGMailHelper.createAddMyselfMailTemplate(group, identity);
MailerWithTemplate mailer = MailerWithTemplate.getInstance();