Skip to content

Instantly share code, notes, and snippets.

@jinweijie
Created May 29, 2012 03:12
Show Gist options
  • Save jinweijie/2822314 to your computer and use it in GitHub Desktop.
Save jinweijie/2822314 to your computer and use it in GitHub Desktop.
code_good
/**
* Constructor
*/
public ControllerStudentOCLevel(){
//1. validate input
this.CurrentStudentId = ApexPages.currentPage().getParameters().get('studentId');
if( this.CurrentStudentId == null || this.CurrentStudentId.trim() == '')
throw new InvalidParameterValueException('studentId','Missing parameter studentId.');
//2. create model
this.MStudentOCLevel = new ModelStudentOCLevel();
Contact currentStudent = ServiceStudent.getStudentByContactId(this.CurrentStudentId);
if( currentStudent == null )
throw new ExEtownStudentNotExistException('Cannot find student with id:' + this.CurrentStudentId);
this.MStudentOCLevel.CurrentStudent = currentStudent;
intialOCLevelList();
getHIMATestLevel(currentStudent.EtownMemberId__c);
}
private void getHIMATestLevel(decimal etownMemberId){
system.debug('[EXEC] getHIMATestLevel, etownmemberId=' + etownmemberId);
String partnerCode = ServiceStudent.getPartnerCodeValueByStudentId(this.CurrentStudentId);
this.HIMATestLevel = ServiceStudent.getStudentHIMATest(etownMemberId, partnerCode);
this.HIMATestLevel = convertEtownHIMATestLevelToSFLevel(this.HIMATestLevel, partnerCode);
}
private String convertEtownHIMATestLevelToSFLevel(String testLevel, String partnerCode){
system.debug('[EXEC] convertEtownHIMATestLevelToSFLevel, testLevel=' + testLevel);
String levelCode;
if (partnerCode == Constants.PARTNER_CODE_MINI){
if (testLevel == Constants.LEVEL_0A){
levelCode = Constants.LEVEL_ONE;
}
else if (testLevel == Constants.LEVEL_0B){
levelCode = Constants.LEVEL_TWO;
}
else{
levelCode = String.valueOf(integer.valueOf(testLevel) + 2);
}
}
else{
throw new ExPartnerCodeNotFoundException('Cannot find partner code:' + partnercode);
}
return levelCode;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment