Le complément créé recherche les contacts par rapport au Nom complet.
Après sélection du contact, l'adresse est insérée au niveau du pointeur dans le document Office Word.
Voici les deux fonctions principales utilisées :
Les fonctions utilisent LINQ pour CRM.
Fonction de recherche des contacts :
private void prvLectureContacts()
{
var loCrm = new Xrm.XrmDataContext("CRM");
// Setup the Authentication Token
CrmAuthenticationToken loToken = new CrmAuthenticationToken();
loToken.AuthenticationType = AuthenticationType.AD;
loToken.OrganizationName = "entreprise";
CrmService loCrmService = new CrmService();
UriBuilder loBuilder = new UriBuilder("http://entreprise:5555/entreprise");
loBuilder.Path = "//MSCRMServices//2007//CrmService.asmx";
loCrmService.Url = loBuilder.Uri.ToString();
loCrmService.CrmAuthenticationTokenValue = loToken;
loCrmService.Credentials = System.Net.CredentialCache.DefaultCredentials;
loCrmService.CrmAuthenticationTokenValue = loToken;
WhoAmIRequest loRequest = new WhoAmIRequest();
WhoAmIResponse loResponse = (WhoAmIResponse)loCrmService.Execute(loRequest);
var loRequetContact = from c in loCrm.contacts
where c.ownerid.Value == loResponse.UserId
&& c.fullname == txtRecherche.Text
select c;
cbResultat.Items.AddRange(loRequetContact.ToArray());
cbResultat.DisplayMember = "fullname";
}
Fonction d'insertion de l'adresse du contact:
private void buInsererAdresse_Click(object sender, EventArgs e)
{
poRange = Globals.ThisAddIn.Application.ActiveDocument.Content;
try
{
String loAdresseSelectionnee = ((Xrm.contact)cbResultat.SelectedItem).fullname + "\n";
loAdresseSelectionnee += ((Xrm.contact)cbResultat.SelectedItem).address1_line1 + "\n";
loAdresseSelectionnee += ((Xrm.contact)cbResultat.SelectedItem).address1_postalcode + " ";
loAdresseSelectionnee += ((Xrm.contact)cbResultat.SelectedItem).address1_city + "\n";
poRange.InsertAfter(loAdresseSelectionnee);
}
catch
{
MessageBox.Show("L'adresse du contact ne peut pas être ajoutée au document.");
}
}
Code source disponible : ContactAddIn_mscrm4
Aucun commentaire:
Enregistrer un commentaire