1 16 17 18 41 package com.opensourcestrategies.crmsfa.party; 42 43 import java.util.Map ; 44 import java.util.List ; 45 import java.util.Locale ; 46 import java.util.Iterator ; 47 import java.util.ArrayList ; 48 import java.sql.Timestamp ; 49 50 import javolution.util.FastMap; 51 52 import org.ofbiz.base.util.Debug; 53 import org.ofbiz.base.util.UtilMisc; 54 import org.ofbiz.base.util.UtilDateTime; 55 import org.ofbiz.entity.GenericDelegator; 56 import org.ofbiz.entity.GenericEntityException; 57 import org.ofbiz.entity.GenericValue; 58 import org.ofbiz.service.DispatchContext; 59 import org.ofbiz.service.GenericServiceException; 60 import org.ofbiz.service.LocalDispatcher; 61 import org.ofbiz.service.ServiceUtil; 62 import org.ofbiz.security.Security; 63 64 import com.opensourcestrategies.crmsfa.party.PartyHelper; 65 import com.opensourcestrategies.crmsfa.security.CrmsfaSecurity; 66 import com.opensourcestrategies.crmsfa.util.UtilCommon; 67 68 74 75 public class PartyContactServices { 76 77 public static final String module = PartyContactServices.class.getName(); 78 79 public static Map createBasicContactInfoForParty(DispatchContext dctx, Map context) { 80 GenericDelegator delegator = dctx.getDelegator(); 81 LocalDispatcher dispatcher = dctx.getDispatcher(); 82 Security security = dctx.getSecurity(); 83 GenericValue userLogin = (GenericValue) context.get("userLogin"); 84 Map serviceResults = null; 86 if (!security.hasEntityPermission("PARTYMGR", "_PCM_CREATE", userLogin)) { 88 return ServiceUtil.returnError("You do not have permission to update contact information."); 89 } 90 91 String partyId = (String ) context.get("partyId"); 93 String primaryEmail = (String ) context.get("primaryEmail"); 94 String primaryWebUrl = (String ) context.get("primaryWebUrl"); 95 String primaryPhoneCountryCode = (String ) context.get("primaryPhoneCountryCode"); 96 String primaryPhoneAreaCode = (String ) context.get("primaryPhoneAreaCode"); 97 String primaryPhoneNumber = (String ) context.get("primaryPhoneNumber"); 98 String primaryPhoneExtension = (String ) context.get("primaryPhoneExtension"); 99 String primaryPhoneAskForName = (String ) context.get("primaryPhoneAskForName"); 100 String generalToName = (String ) context.get("generalToName"); 101 String generalAttnName = (String ) context.get("generalAttnName"); 102 String generalAddress1 = (String ) context.get("generalAddress1"); 103 String generalAddress2 = (String ) context.get("generalAddress2"); 104 String generalCity = (String ) context.get("generalCity"); 105 String generalStateProvinceGeoId = (String ) context.get("generalStateProvinceGeoId"); 106 String generalPostalCode = (String ) context.get("generalPostalCode"); 107 String generalCountryGeoId = (String ) context.get("generalCountryGeoId"); 108 109 try { 110 if ((primaryEmail != null) && !primaryEmail.equals("")) { 112 serviceResults = dispatcher.runSync("createPartyEmailAddress", UtilMisc.toMap("partyId", partyId, "userLogin", userLogin, 113 "contactMechTypeId", "EMAIL_ADDRESS", "contactMechPurposeTypeId", "PRIMARY_EMAIL", "emailAddress", primaryEmail)); 114 if (ServiceUtil.isError(serviceResults)) { 115 return serviceResults; 116 } 117 } 118 119 if ((primaryWebUrl != null) && !primaryWebUrl.equals("")) { 121 serviceResults = dispatcher.runSync("createPartyContactMech", UtilMisc.toMap("partyId", partyId, "userLogin", userLogin, 122 "contactMechTypeId", "WEB_ADDRESS", "contactMechPurposeTypeId", "PRIMARY_WEB_URL", "infoString", primaryWebUrl)); 123 if (ServiceUtil.isError(serviceResults)) { 124 return serviceResults; 125 } 126 } 127 128 if (((primaryPhoneNumber != null) && !primaryPhoneNumber.equals(""))) { 130 Map input = UtilMisc.toMap("partyId", partyId, "userLogin", userLogin, "contactMechPurposeTypeId", "PRIMARY_PHONE"); 131 input.put("countryCode", primaryPhoneCountryCode); 132 input.put("areaCode", primaryPhoneAreaCode); 133 input.put("contactNumber", primaryPhoneNumber); 134 input.put("extension", primaryPhoneExtension); 135 input.put("askForName", primaryPhoneAskForName); 136 serviceResults = dispatcher.runSync("createPartyTelecomNumber", input); 137 if (ServiceUtil.isError(serviceResults)) { 138 return serviceResults; 139 } 140 } 141 142 if ((generalAddress1 != null) && !generalAddress1.equals("")) { 144 Map input = UtilMisc.toMap("partyId", partyId, "userLogin", userLogin, "contactMechPurposeTypeId", "GENERAL_LOCATION"); 145 input.put("toName", generalToName); 146 input.put("attnName", generalAttnName); 147 input.put("address1", generalAddress1); 148 input.put("address2", generalAddress2); 149 input.put("city", generalCity); 150 input.put("stateProvinceGeoId", generalStateProvinceGeoId); 151 input.put("postalCode", generalPostalCode); 152 input.put("countryGeoId", generalCountryGeoId); 153 serviceResults = dispatcher.runSync("createPartyPostalAddress", input); 154 if (ServiceUtil.isError(serviceResults)) { 155 return serviceResults; 156 } 157 String contactMechId = (String ) serviceResults.get("contactMechId"); 158 159 input = UtilMisc.toMap("partyId", partyId, "userLogin", userLogin, "contactMechId", contactMechId, "contactMechPurposeTypeId", "SHIPPING_LOCATION"); 161 serviceResults = dispatcher.runSync("createPartyContactMechPurpose", input); 162 if (ServiceUtil.isError(serviceResults)) { 163 return serviceResults; 164 } 165 } 166 167 } catch (GenericServiceException e) { 168 Debug.logError(e, e.getMessage(), module); 169 return ServiceUtil.returnError("Unable to create basic contact info: " + e.getMessage()); 170 } 171 return ServiceUtil.returnSuccess(); 172 } 173 174 } 175 | Popular Tags |