//Copyright   2014 Oracle and/or its affiliates. All rights reserved.

import java.text.SimpleDateFormat;

import maf.code.corner.hr.mobile.entities.EmployeesEntity;

public class EmployeesEntityToJson {
    public EmployeesEntityToJson() {
        super();
    }
    
    /**
     * Converts local employees entity to JSON object string
     * Example:
     * {
     *       "employeeId" : 100,
     *       "firstName" : "Steven",
     *       "lastName" : "King",
     *       "hireDate" : "1987-06-17",
     *       "jobId" : "AD_PRES",
     *       "email" : "SKING",
     *       "phoneNumber" : "515.123.4567",
     *       "salary" : 24000,
     *       "commissionPct":0.2
     * }
     * @param employee
     * @return
     */
    public static String getJson(EmployeesEntity employee){
        
        StringBuffer sb = new StringBuffer();
        sb.append("{");
        if(employee.getEmployeeId()!=null){
         sb.append("\"employeeId\":\"");
         sb.append(employee.getEmployeeId()+"\",");
        }
        if(employee.getFirstName()!=null){
         sb.append("\"firstName\":\"");
         sb.append(employee.getFirstName()+"\",");
        }
        if(employee.getLastName()!=null){
         sb.append("\"lastName\":\"");
         sb.append(employee.getLastName()+"\",");        
        }
        if(employee.getHireDate()!=null){
         sb.append("\"hireDate\":\"");
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
         sb.append(formatter.format(employee.getHireDate())+"\",");
        }
        if(employee.getJobId()!=null){
         sb.append("\"jobId\":\"");
         sb.append(employee.getJobId()+"\",");
        }
        if(employee.getEmail()!=null){
         sb.append("\"email\":\"");
         sb.append(employee.getEmail()+"\",");
        }
        if(employee.getPhoneNumber()!=null){
         sb.append("\"phoneNumber\":\"");
         sb.append(employee.getPhoneNumber()+"\",");
        }
        if(employee.getSalary()!=null){
         sb.append("\"salary\":\"");
         sb.append(employee.getSalary()+"\",");
        }
        if(employee.getCommissionPct() !=null){
            sb.append("\"commissionPct\":\"");
            sb.append(employee.getCommissionPct()+"\",");
        }
        
        sb.deleteCharAt(sb.lastIndexOf(","));
        sb.append("}");
        
        String jsonObject = sb.toString();     
                    
        return jsonObject;
    
    }
}