/// /// Create an account custom field. /// If the custom field already existed then update it. /// /// @param customField /// @return the custom field added created or updated /// @throws com.silanis.esl.sdk.EslException /// public CustomField CreateCustomField(CustomField customField ) { string path = template.UrlFor(UrlTemplate.ACCOUNT_CUSTOMFIELD_PATH).Build(); CustomField sdkResponse = null; Silanis.ESL.API.CustomField apiResponse; Silanis.ESL.API.CustomField apiRequest; try { apiRequest = customField.toAPICustomField(); string stringResponse; if ( DoesCustomFieldExist( customField.Id )){ stringResponse = client.Put(path,JsonConvert.SerializeObject(apiRequest, settings)); }else{ stringResponse = client.Post(path,JsonConvert.SerializeObject(apiRequest, settings)); } apiResponse = JsonConvert.DeserializeObject<Silanis.ESL.API.CustomField>(stringResponse); sdkResponse = CustomFieldBuilder.CustomField( apiResponse ).Build(); return sdkResponse; } catch ( Exception e ) { throw new EslException( "Could not add/update the custom field to account." + e.Message ); } }