package crmdna.registration; import crmdna.common.Utils; public class Invoice { public static String getInvoiceNo(String programType, String group, long registrationId) { String invoiceNo = programType + "_" + group + "_" + registrationId; return invoiceNo; } public static long getRegistrationNo(String invoiceNo) { // invoice is of the form: programType_group_registrationId // eg: Surya Kriya_Singapore_20 where 20 is the registration ID if ((invoiceNo == null) || invoiceNo.equals("")) Utils.throwIncorrectSpecException("Invalid invoice number [" + invoiceNo + "]"); String[] parts = invoiceNo.split("_"); if (parts.length != 3) Utils.throwIncorrectSpecException("Invalid format for invoice no [" + invoiceNo + "]. Invoice no should be of the format: <programtype>_group_registrationId. " + "Eg: Surya Kriya_Singapore_20"); String registrationNoStr = parts[2]; if (!Utils.canParseAsLong(registrationNoStr)) Utils.throwIncorrectSpecException("[" + registrationNoStr + "] is not a valid registration no. Invalid invoice no [" + invoiceNo + "]"); long registrationNo = Utils.safeParseAsLong(registrationNoStr); return registrationNo; } }