Saturday, August 17, 2013

Add or Update Phone in liferay 6.1.20 GA2 Programmatically

Add phone in liferay:

If you want to add an address/phone for user the class name is,
className = Contact.class.getName();


If you want to add an address/phone for organization the class name is,
className = Organization.class.getName();


public static boolean addPhone(long userId, long contactId,
String officeNumber, String mobileNumber, String homeNumber,
String faxNumber, String className) {
System.out.println("::::inside addPhone:::::");
boolean isPhoneAdded = false;

try {
List<ListType> phoneTypes = ListTypeServiceUtil
.getListTypes(Contact.class.getName()
+ ListTypeConstants.PHONE);
int officePhoneTypeId = 0;
int mobilePhoneTypeId = 0;
int homePhoneTypeId = 0;
int faxTypeId = 0;
for (ListType phoneType : phoneTypes) {
System.out.println("::phoneType:::" + phoneType.getName());
String phoneTypeName = phoneType.getName();
// personal is home
if (UserConstants.HOME_PHONE_TYPE.equals(phoneTypeName)) {
homePhoneTypeId = phoneType.getListTypeId();
}
if (UserConstants.OFFICE_PHONE_TYPE.equals(phoneTypeName)) {
officePhoneTypeId = phoneType.getListTypeId();
}
if (UserConstants.MOBILE_PHONE_TYPE.equals(phoneTypeName)) {
mobilePhoneTypeId = phoneType.getListTypeId();
}
if (UserConstants.PERSONAL_FAX_TYPE.equals(phoneTypeName)) {
faxTypeId = phoneType.getListTypeId();
}
}
if (Validator.isNotNull(officeNumber)) {
PhoneLocalServiceUtil.addPhone(userId, className, contactId,
officeNumber, "", officePhoneTypeId, true);
}
if (Validator.isNotNull(mobileNumber)) {
PhoneLocalServiceUtil.addPhone(userId, className, contactId,
mobileNumber, "", mobilePhoneTypeId, true);
}
if (Validator.isNotNull(homeNumber)) {
PhoneLocalServiceUtil.addPhone(userId, className, contactId,
homeNumber, "", homePhoneTypeId, true);
}
if (Validator.isNotNull(faxNumber)) {
PhoneLocalServiceUtil.addPhone(userId, className, contactId,
faxNumber, "", faxTypeId, false);
}

System.out.println("::DATA Inserted in Phone::::");
isPhoneAdded = true;
} catch (PortalException e) {
e.printStackTrace();
deleteUser(userId);
} catch (SystemException e) {
e.printStackTrace();
deleteUser(userId);
}
return isPhoneAdded;
}

Update phone details:

public static boolean updatePhone(long companyId, long contactId,
String officeNumber, String mobileNumber, String homeNumber,
String faxNumber, String className) {
boolean isPhoneUpdated = false;
List<Phone> phoneList = Collections.EMPTY_LIST;
try {

phoneList = PhoneLocalServiceUtil.getPhones(companyId, className,
contactId);
for (Phone phone : phoneList) {
if (phone.getType().getName()
.equals(UserConstants.MOBILE_PHONE_TYPE)) {
System.out.println("::updating phone Number "
+ phone.getType().getName());
phone.setNumber(mobileNumber);
}
if (phone.getType().getName()
.equals(UserConstants.OFFICE_PHONE_TYPE)) {
System.out.println("::updating phone Number "
+ phone.getType().getName());
phone.setNumber(officeNumber);
}
if (phone.getType().getName()
.equals(UserConstants.HOME_PHONE_TYPE)) {
System.out.println("::updating phone Number "
+ phone.getType().getName());
phone.setNumber(homeNumber);
}
if (phone.getType().getName()
.equals(UserConstants.PERSONAL_FAX_TYPE)) {
System.out.println("::updating fax Number "
+ phone.getType().getName());
phone.setNumber(faxNumber);
}
PhoneLocalServiceUtil.updatePhone(phone);

}
System.out.println("::phone & fax number updated succefully!!!");
isPhoneUpdated = true;
} catch (SystemException e) {
e.printStackTrace();
} catch (PortalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return isPhoneUpdated;

}

No comments:

Post a Comment