*/
package org.mxchange.jjobs.beans.helper;
-import java.text.DateFormat;
import java.text.MessageFormat;
import javax.enterprise.event.Event;
import javax.enterprise.inject.Any;
import org.mxchange.jcontactsbusiness.model.department.Department;
import org.mxchange.jcontactsbusiness.model.employee.Employable;
import org.mxchange.jcontactsbusiness.model.headquarter.Headquarter;
+import org.mxchange.jcountry.model.data.Country;
import org.mxchange.jjobs.beans.BaseJobsBean;
import org.mxchange.jjobs.beans.localization.JobsLocalizationSessionController;
import org.mxchange.jjobs.beans.user.JobsUserWebRequestController;
-import org.mxchange.jjobs.model.receipt.BillableReceipt;
import org.mxchange.jphone.events.fax.created.CreatedFaxNumberEvent;
import org.mxchange.jphone.events.fax.created.ObservableCreatedFaxNumberEvent;
import org.mxchange.jphone.events.landline.created.CreatedLandLineNumberEvent;
import org.mxchange.jphone.events.landline.created.ObservableCreatedLandLineNumberEvent;
import org.mxchange.jphone.events.mobile.created.CreatedMobileNumberEvent;
import org.mxchange.jphone.events.mobile.created.ObservableCreatedMobileNumberEvent;
+import org.mxchange.jphone.model.phonenumbers.DialableNumber;
import org.mxchange.jphone.model.phonenumbers.fax.DialableFaxNumber;
import org.mxchange.jphone.model.phonenumbers.landline.DialableLandLineNumber;
import org.mxchange.jphone.model.phonenumbers.mobile.DialableMobileNumber;
return sb.toString();
}
+ /**
+ * Returns the text representation of given country. If null is provided, an
+ * empty string is returned.
+ * <p>
+ * @param country Country instance
+ * <p>
+ * @return Country's text representation
+ */
+ public String renderCountry (final Country country) {
+ // Default is empty string, so let's get started
+ final StringBuilder sb = new StringBuilder(20);
+
+ // Is a country given?
+ if (country instanceof Country) {
+ // Yes, then render it
+ sb.append(this.getMessageFromBundle(country.getCountryI18nKey()));
+ sb.append(" ("); //NOI18N
+ sb.append(country.getCountryCode());
+ sb.append(")"); //NOI18N
+ }
+
+ // Return it
+ return sb.toString();
+ }
+
/**
* Returns the department's name and name of assigned company. If null is
* provided, an empty string is returned.
* <p>
* @param employee Employable instance
* <p>
- * @return Contact's full name
+ * @return A string representing an employee
*/
public String renderEmployee (final Employable employee) {
// Default is empty string, so let's get started
// Is employee set?
if (employee instanceof Employable) {
- // Then create name
- sb.append(employee.getEmployeeNumber());
-
- // Is a department found?
- if (employee.getEmployeeDepartment() instanceof Department) {
- // Then add it's name to it
- sb.append(" ("); //NOI18N
- sb.append(this.renderDepartment(employee.getEmployeeDepartment()));
- sb.append(")"); //NOI18N
+ // Is the number given?
+ if (employee.getEmployeeNumber() != null) {
+ // Then create name
+ sb.append(employee.getEmployeeNumber());
}
// Is contact data found?
final String contactName = this.renderContact(employee.getEmployeePersonalData());
// Is it given?
- if (contactName != null) {
+ if (contactName != null && !contactName.isEmpty()) {
+ // Only add braces when employee number is given
+ if (employee.getEmployeeNumber() != null) {
+ sb.append(" ("); //NOI18N
+ }
+
// Then add it
- sb.append(" ("); //NOI18N
sb.append(contactName);
+
+ // Only add braces when employee number is given
+ if (employee.getEmployeeNumber() != null) {
+ sb.append(")"); //NOI18N
+ }
+ }
+ }
+
+ // Is a department found?
+ if (employee.getEmployeeDepartment() instanceof Department) {
+ // Only add braces when employee number is given
+ if (employee.getEmployeeNumber() != null || employee.getEmployeePersonalData() instanceof Contact) {
+ sb.append(" ("); //NOI18N
+ }
+
+ // Add department name
+ sb.append(this.renderDepartment(employee.getEmployeeDepartment()));
+
+ // Only add braces when employee number is given
+ if (employee.getEmployeeNumber() != null || employee.getEmployeePersonalData() instanceof Contact) {
sb.append(")"); //NOI18N
}
}
}
/**
- * Returns the receipt. If null is provided, an empty string is returned.
+ * Renders given mobile number (land-line and fax number). If null is
+ * provided, an empty string is returned.
* <p>
- * @param receipt Receipt instance
+ * @param mobileNumber Mobile number to render
* <p>
- * @return Product name
+ * @return Mobile number
*/
- public String renderReceipt (final BillableReceipt receipt) {
+ public String renderMobileNumber (final DialableMobileNumber mobileNumber) {
// Default is empty string, so let's get started
- final StringBuilder sb = new StringBuilder(50);
-
- // Is receipt set?
- if (receipt instanceof BillableReceipt) {
- // Add relevant data
- sb.append(this.getMessageFromBundle("RECEIPT_ISSUED")).append(" "); //NOI18N
- sb.append(DateFormat.getInstance().format(receipt.getReceiptIssued())).append(", "); //NOI18N
- sb.append(this.getMessageFromBundle("PAYMENT_TYPE")).append(" "); //NOI18N
- sb.append(this.getMessageFromBundle(receipt.getReceiptPaymentType().getI18nKey()));
-
- // Is receipt number included?
- if (receipt.getReceiptNumber() != null) {
- // Append it
- sb.append(", ").append(this.getMessageFromBundle("RECEIPT_NUMBER")).append(" "); //NOI18N
- sb.append(receipt.getReceiptNumber());
- }
+ final StringBuilder sb = new StringBuilder(20);
- // Add company (over branch office)
+ // Is a phone number given?
+ if (mobileNumber instanceof DialableMobileNumber) {
+ // Yes, then render it
+ sb.append(mobileNumber.getMobileProvider().getProviderCountry().getCountryAbroadDialPrefix());
+ sb.append(mobileNumber.getMobileProvider().getProviderCountry().getCountryPhoneCode());
sb.append(" ("); //NOI18N
- sb.append(receipt.getReceiptBranchOffice().getBranchCompany().getCompanyName());
- sb.append(")"); //NOI18N
+ sb.append(mobileNumber.getMobileProvider().getProviderDialPrefix());
+ sb.append(") "); //NOI18N
+ sb.append(mobileNumber.getPhoneNumber());
+ }
+
+ // Return it
+ return sb.toString();
+ }
+
+ /**
+ * Renders given phone number (land-line and fax number). If null is
+ * provided, an empty string is returned.
+ * <p>
+ * @param number Phone number to render
+ * <p>
+ * @return Phone number
+ * <p>
+ * @throws IllegalArgumentException If a mobile number is provided
+ */
+ public String renderPhoneNumber (final DialableNumber number) {
+ // Validate parameter
+ if (number instanceof DialableMobileNumber) {
+ // Not allowed here
+ throw new IllegalArgumentException("Mobile numbers cannot be rendered with this method. Please use renderMobileNumber() instead."); //NOI18N
+ }
+
+ // Default is empty string, so let's get started
+ final StringBuilder sb = new StringBuilder(20);
+
+ // Is a phone number given?
+ if (number instanceof DialableNumber) {
+ // Yes, then render it
+ sb.append(number.getPhoneCountry().getCountryAbroadDialPrefix());
+ sb.append(number.getPhoneCountry().getCountryPhoneCode());
+ sb.append(" ("); //NOI18N
+ sb.append(number.getPhoneAreaCode());
+ sb.append(") "); //NOI18N
+ sb.append(number.getPhoneNumber());
}
// Return it