Partager via


Guide pas-à-pas : créer un contrôle hébergé WPF UII

 

Date de publication : novembre 2016

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Ce guide pas-à-pas montre comment créer un contrôle hébergé d’User Interface Integration (UII) basé sur Windows Presentation Foundation (WPF) qui interagit avec le Unified Service Desk et les applications externes (autonomes et Web).

Dans ce guide pas-à-pas, vous effectuerez les opérations suivantes :

  • Créer un contrôle hébergé UIIWPF, Exemple de contrôle hébergé UII WPF, qui affiche le prénom, le nom, l'adresse et l'ID d'un contact lorsque vous recherchez des contacts et cliquez sur un nom de contact pour l'ouvrir dans une session d'Unified Service Desk. Ces valeurs sont affichées à partir du contexte Unified Service Desk.

  • Modifier le prénom, le nom ou l'adresse dans une application externe et une application Web hébergées dans Unified Service Desk à partir du contrôle hébergé UIIWPF que nous créons. Les applications externes et Web ont été créées dans les précédents guides pas-à-pas suivants : Guide pas-à-pas : créer un adaptateur d’application UII et Guide pas-à-pas : créer un adaptateur d’application Web UII.

  • Signaler les modifications apportées au contexte Unified Service Desk pour mettre à jour les valeurs.

Contenu de la rubrique

Conditions préalables

Étape 1 : créer un contrôle hébergé WPF UII à l’aide de Visual Studio

Étape 2 : définir le contrôle hébergé dans le Centre de services unifié

Étape 3 : définir les actions UII pour les contrôles hébergés de l’application externe et de l’application Web dans le Centre de services unifié

Tester le contrôle hébergé

Conditions préalables

Étape 1 : créer un contrôle hébergé WPF UII à l’aide de Visual Studio

  1. Démarrez Visual Studio et créez un projet.

  2. Dans la boîte de dialogue Nouveau projet :

    1. Dans la liste des modèles installés, développez Visual C#, puis sélectionnez Modèles Dynamics 365 SDK > Unified Service Desk > Contrôle hébergé UII WPF.

    2. Spécifiez le nom et l’emplacement du projet, puis choisissez OK pour créer un projet.

      Créer un contrôle hébergé UII WPF

  3. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le fichier UiiWpfControl.xaml et sélectionnez Ouvrir pour afficher le concepteur XAML.

  4. Dans le concepteur, ajoutez les contrôles suivants à partir de la Boîte à outils :

    Type de contrôle

    Nom

    Texte

    Étiquette

    lblFirstName

    Prénom

    Étiquette

    lblLastName

    Nom

    Étiquette

    lblAddress

    Rue

    Étiquette

    lblID

    ID

    Zone de texte

    txtFirstName

    Zone de texte

    txtLastName

    Zone de texte

    txtAddress

    Zone de texte

    txtID

    Bouton

    btnUpdate

    Mettre à jour les valeurs dans les applications hébergées

    Bouton

    btnUpdateContext

    Mettre à jour le contexte

    Voici comment les contrôles doivent être présentés dans le concepteur XAML.

    Disposition des contrôles du concepteur XAML

  5. Double-cliquez sur le bouton Mettre à jour les valeurs dans les applications hébergées (btnUpdate) pour ajouter le code de l’événement click pour ce bouton, puis ajoutez le code suivant.

    private void btnUpdate_Click(object sender, System.Windows.RoutedEventArgs e)
    {
       // This is how you fire an action to other hosted applications. 
       // The DoAction() code in the other application or application adapter 
       // will be called.
       FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateFirstName", txtFirstName.Text)); // For the external application
       FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateLastName", txtLastName.Text)); // For the external application
       FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateAddress", txtAddress.Text)); // For the external application
    
       FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateFirstName", txtFirstName.Text)); // For the external web application
       FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateLastName", txtLastName.Text)); // For the external web application
       FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateAddress", txtAddress.Text)); // For the external web application
    }
    
  6. Accédez au concepteur XAML et double-cliquez sur le bouton Mettre à jour le contexte (btnUpdateContext) pour ajouter le code de l’événement click pour ce bouton. Ajoutez le code suivant.

    private void btnContextChange_Click(object sender, System.Windows.RoutedEventArgs e)
    {
       // Get the current context and create a new context object from it.
       string temp = Context.GetContext();
       Context updatedContext = new Context(temp);
    
       // Update the new context with the changed information.
       updatedContext["firstname"] = txtFirstName.Text;
       updatedContext["lastname"] = txtLastName.Text;
       updatedContext["address1_line1"] = txtAddress.Text;
    
       // Notify Unified Service Desk of this new context information.
       FireChangeContext(new ContextEventArgs(updatedContext));
    
       // Notify this UII hosted control about the change.
       NotifyContextChange(updatedContext);
    }
    
  7. Dans le même fichier (UiiWpfControl.xaml.cs), mettez à jour la définition remplacée de la méthode NotifyContextChange comme suit.

    public override void NotifyContextChange(Context context)
    {
       // Populating text fields from context information.
       txtFirstName.Text = context["firstname"];
       txtLastName.Text = context["lastname"];
       txtAddress.Text = context["address1_line1"];
       txtID.Text = context["CustomerID"];
    
       base.NotifyContextChange(context);
    }
    
  8. Enregistrez votre projet, puis générez-le (Générer > Générer la solution). Lorsque le projet se génère correctement, un assembly (fichier .dll) est généré avec le même nom que le nom de votre projet (dans ce cas, UIIWPFHostedControl1.dll) dans le dossier /bin/debug de votre projet.

  9. Copiez le fichier dans le répertoire d’installation de votre application cliente Unified Service Desk (généralement C:\Program Files\Microsoft Dynamics CRM USD\USD). Ce fichier est nécessaire pour tester, et éventuellement utiliser ce contrôle à partir de votre application cliente.

    Conseil

    Notez le nom de la classe utilisée pour générer votre contrôle hébergé UII dans le fichier UiiWpfControl.xaml.cs. Dans ce cas, il s’agit de UiiWpfControl. Vous aurez besoin de ces informations dans l’étape suivante.

Étape 2 : définir le contrôle hébergé dans le Centre de services unifié

Pour héberger le contrôle hébergé UII WPF dans le Unified Service Desk, vous devrez le définir et le configurer.

  1. Connectez-vous à Microsoft Dynamics 365.

  2. Sur la barre de navigation, choisissez Microsoft Dynamics 365 > Paramètres > Centre de services unifié.

  3. Sur la page Centre de services unifié, choisissez Contrôles hébergés.

  4. Sur la page Contrôles hébergés, choisissez Nouveau.

  5. Dans la page Nouveau contrôle hébergé, spécifiez les valeurs suivantes.

    Champ

    Valeur

    Nom 

    UIIWPFHostedControl

    Nom complet

    Exemple de contrôle hébergé UII WPF

    Type de composant USD

    Application hébergée CCA

    Application hébergée

    Contrôle hébergé

    Application globale

    Sélectionnée

    Afficher le groupe

    MainPanel

    Adaptateur

    N'utiliser aucun adaptateur

    URI d'assembly

    UIIWPFHostedControl1

    Type d'assembly

    UIIWPFHostedControl1.UiiWpfControl

    Notes

    URI d'assembly est le nom de votre assembly et Type d'assembly est le nom de votre assembly suivi d'un point (.), puis du nom de la classe dans votre projet Visual Studio. Dans cet exemple, le nom de l’assembly est UIIWPFHostedControl1 et le nom de la classe est UiiWpfControl, qui est le nom de classe par défaut lorsque vous créez un contrôle hébergé UII WPF.

    Définir un nouveau contrôle hébergé

  6. Choisissez Enregistrer pour créer le contrôle hébergé.

Étape 3 : définir les actions UII pour les contrôles hébergés de l’application externe et de l’application Web dans le Centre de services unifié

Les adaptateurs des applications externes autonomes et Web exposent les trois actions suivantes : UpdateFirstName, UpdateLastName et UpdateAddress. Ces adaptateurs et les contrôles hébergés des applications externes autonomes et Web ont été créés dans les guides pas-à-pas décrits précédemment (Guide pas-à-pas : créer un adaptateur d’application UII et Guide pas-à-pas : créer un adaptateur d’application Web UII).

Pour mettre à jour les informations dans les applications externes à partir du contrôle hébergé UII WPF, vous devrez définir trois actions UII avec le même nom que celui défini précédemment dans les adaptateurs pour chacune des applications externes. Dans les guides pas-à-pas décrits précédemment (Guide pas-à-pas : créer un adaptateur d’application UII et Guide pas-à-pas : créer un adaptateur d’application Web UII), nous avons défini les deux contrôles hébergés suivants dans le Unified Service Desk pour afficher les applications externes dans le Unified Service Desk : QsExternalApp et QsExternalWebApplication. Dans cette étape, nous ajouterons trois actions UII pour chaque contrôle hébergé.

Important

Si vous avez déjà ajouté les actions UII dans le cadre de l’étape 3 du Guide pas-à-pas : créer un contrôle hébergé Windows Forms UII, vous ne devez pas effectuer à nouveau cette étape. Vous pouvez passer à la section suivante pour tester votre contrôle hébergé.

  1. Connectez-vous à Microsoft Dynamics 365.

  2. Sur la barre de navigation, choisissez Microsoft Dynamics 365 > Paramètres > Centre de services unifié.

  3. Sur la page Centre de services unifié, choisissez Contrôles hébergés.

  4. Sur la page Contrôles hébergés, recherchez QSExternalApp et ouvrez-le pour modification.

  5. Sur la page QSExternalApp , choisissez la flèche vers le bas en regard du nom du contrôle hébergé, puis Actions UII.

  6. Sur la page suivante, choisissez Ajouter une nouvelle action UII.

  7. Sur la page Nouvelle action UII, entrez le nom UpdateFirstName, puis choisissez Enregistrer et fermer. Cela ajoute l’action dans la page précédente.

  8. De même, ajoutez les deux actions suivantes : UpdateLastName et UpdateAddress. Toutes les trois actions deviennent disponibles pour le contrôle hébergé QSExternalApp.

    Actions UII disponibles pour un contrôle hébergé

  9. Suivez les étapes 4 à 8 pour créer trois actions UII portant les mêmes noms pour QSExternalWebApp.

Tester le contrôle hébergé

Avant de tester le contrôle hébergé UIIWPF, vérifiez que votre exemple d'application Web est en cours d'exécution afin qu'il s'affiche dans Unified Service Desk.

  1. Exécutez le client Unified Service Desk pour vous connecter à votre serveur Dynamics 365.

  2. Une fois connecté, vous verrez trois contrôles hébergés : Exemple de contrôle hébergé UII WPF, Exemple d’application Web externe et Exemple d’application externe.

    Exemple de contrôle hébergé UII WPF disponible

  3. Choisissez Rechercher, puis Contacts. Choisissez l’un des contacts pour afficher les informations du contact dans une session. Cela affiche également le prénom, le nom, l’adresse et l’ID de l’enregistrement de contact actuellement affiché dans tous les trois exemples de contrôle :

    Données affichées à partir du contexte USD dans les 3 contrôles

  4. Modifiez les valeurs dans l’Exemple de contrôle hébergé UII WPF, puis cliquez sur Mettre à jour les valeurs dans les applications hébergées pour mettre à jour les valeurs dans les deux autres applications externes.

    Valeurs mises à jour dans les applications externes

  5. Dans l’Exemple de contrôle hébergé UII WPF, choisissez Mettre à jour le contexte pour mettre à jour les informations de contexte dans le Unified Service Desk.

    Valeurs mises à jour dans le contexte USD

Voir aussi

Assurer l’intégration aux applications externes et applications Web
Utiliser les contrôles hébergés UII avec le Centre de services unifié
Guide pas-à-pas : créer un contrôle hébergé Windows Forms UII
Actions UII

Unified Service Desk 2.0

© 2017 Microsoft. Tous droits réservés. Copyright