]> git.mxchange.org Git - jjobs-war.git/blobdiff - src/java/org/mxchange/jjobs/beans/helper/JobsWebViewHelperBean.java
Please cherry-pick:
[jjobs-war.git] / src / java / org / mxchange / jjobs / beans / helper / JobsWebViewHelperBean.java
index 4ab1d7349e8c7242776fe703f9806c0b3dfe87cf..6c50632482e8ac9ca4e061fc475fb3a832de4bfb 100644 (file)
@@ -16,7 +16,6 @@
  */
 package org.mxchange.jjobs.beans.helper;
 
-import java.text.DateFormat;
 import java.text.MessageFormat;
 import javax.enterprise.event.Event;
 import javax.enterprise.inject.Any;
@@ -31,16 +30,17 @@ import org.mxchange.jcontactsbusiness.model.branchoffice.BranchOffice;
 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;
@@ -534,6 +534,31 @@ public class JobsWebViewHelperBean extends BaseJobsBean implements JobsWebViewHe
                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.
@@ -565,7 +590,7 @@ public class JobsWebViewHelperBean extends BaseJobsBean implements JobsWebViewHe
         * <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
@@ -573,15 +598,10 @@ public class JobsWebViewHelperBean extends BaseJobsBean implements JobsWebViewHe
 
                // 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?
@@ -590,10 +610,34 @@ public class JobsWebViewHelperBean extends BaseJobsBean implements JobsWebViewHe
                                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
                                }
                        }
@@ -649,35 +693,61 @@ public class JobsWebViewHelperBean extends BaseJobsBean implements JobsWebViewHe
        }
 
        /**
-        * 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