c# - initialize - map salesforce
Mapa Campos personalizados de clientes potenciales en Salesforce (2)
No ha proporcionado muchos detalles con los que trabajar, pero ¿puede utilizar una proyección de Linq?
por ejemplo, Leads.Select (x => new Contact {Newsletter = x.Newsletter});
Quería asignar los campos personalizados del binding.convertLead()
al mapa con el campo de contacto personalizado ''cuando se convierte utilizando binding.convertLead()
.
Debe replicar el comportamiento que estamos haciendo manualmente desde la interfaz de usuario cuando los campos personalizados de Lead se asignan con el contacto ( vaya a Configurar-> Personalizar-> Clientes-> Campos, luego en la sección Campos y campos personalizados del encabezado Botón Campos de lead del mapa ).
Tengo el código C # para convertir un cable en contacto. Sin embargo, necesito asignar los campos personalizados de lead a los campos de contacto personalizados.
Me gusta por ejemplo:
1) Lead.Newsletter__c
(campo personalizado de la casilla de verificación escriba en el lead)
2) Contact.Newsletter__c
(campo personalizado de casilla de verificación escriba en contacto)
3) Ahora, si Lead.Newsletter__c
está marcado, cuando convierta cualquier cable en contacto, Contact.Newsletter__c
debe verificarse automáticamente.
Puedo buscar todos los campos personalizados utilizando describeSObjects
de la clase de proxy WSDL de Partener, pero aún no puedo ubicarlos donde deberían realizarse los cambios
Si quieres un diseño simple, esencialmente lo haría en una clase de asignador estático. Definitivamente necesitamos más información para ayudarlo, pero a falta de eso, aquí hay un código psuedo (no de producción) que debería ser un patrón de diseño suficiente.
public static class CustomMapper
{
public static void leadToContact(Lead lead, ID contactID)
{
var contact = new Contact(contactID);
///do mapping here
///eg
///returnval.Newsletter__c = Lead.Newsletter__c;
contact.save();
}
}
luego para el uso:
//convert the lead to a contact prior to usage here, and get the resulting contact id
CustomMapper.leadToContact(myOldLead, myContactID);
Si realiza la conversión, inmediatamente después de realizar la asignación personalizada con una actualización, parecerá instantánea a los usuarios de todos modos. Sin más información, este es el mejor patrón de diseño genérico que podría recomendar.