Compartilhar via


Passo a passo: Criar um controle de UII do Windows Forms

 

Publicado: novembro de 2016

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Este passo a passo demonstra como criar um controle hospedado do Windows FormsUser Interface Integration (UII) que interage com Unified Service Desk e com aplicativos externos autônomos e da Web.

Neste passo a passo, você irá:

  • Criar um controle hospedado User Interface Integration (UII), do Windows Forms, Controle Hospedado UII do Windows Forms de Exemplo, que exibirá o nome, o sobrenome, o endereço e a ID de um contato quando você pesquisar contatos e clicar no nome de um contato para abri-lo em uma sessão do Unified Service Desk. Esses valores são exibidos a partir do contexto do Unified Service Desk.

  • Alterar os valores de nome, sobrenome ou endereço em um aplicativo externo e em um aplicativo Web hospedado no Unified Service Desk a partir do controle hospedado do Windows Forms UII que criamos. Os aplicativos Web e externo foram criados nos documentos passo a passo anteriores: Passo a passo: Criar um adaptador de aplicativo de UII e Passo a passo: Criar um adaptador de aplicativo Web de UII.

  • Notificar alterações no contexto do Unified Service Desk para atualizar os valores.

Neste tópico

Pré-requisitos

Etapa 1: Criar um controle hospedado UII do Windows Forms usando o Visual Studio

Etapa 2: Definir o controle hospedado no Unified Service Desk

Etapa 3: Definir ações de UII para os controles hospedados de aplicativo externo e aplicativo Web no Unified Service Desk

Testar o controle hospedado

Pré-requisitos

Etapa 1: Criar um controle hospedado UII do Windows Forms usando o Visual Studio

  1. Inicie o Visual Studio e crie um novo projeto.

  2. Na caixa de diálogo Novo projeto:

    1. Na lista de modelos instalados, expanda Visual C# e selecione Modelos de SDK do Dynamics 365 > Unified Service Desk > Controle Hospedado UII do Windows Forms.

    2. Especifique o nome e o local do projeto, e clique em OK para criar um novo projeto.

      Criar um controle hospedado UII Windows Form

  3. No painel Solution Explorer, clique com o botão direito no arquivo UiiWinformControl.cs e selecione Abrir para exibir o designer do Windows Forms.

  4. No designer, adicione os seguintes controles da Caixa de Ferramentas:

    Tipo de controle

    Nome

    Texto

    Etiqueta

    lblFirstName

    Nome

    Etiqueta

    lblLastName

    Sobrenome

    Etiqueta

    lblAddress

    Endereço da rua

    Etiqueta

    lblID

    ID

    Caixa de Texto

    txtFirstName

    Caixa de Texto

    txtLastName

    Caixa de Texto

    txtAddress

    Caixa de Texto

    txtID

    Botão

    btnUpdate

    Atualizar valores em aplicativos hospedados

    Botão

    btnUpdateContext

    Atualizar contexto

    É assim que os controles devem ser apresentados no designer.

    Layout dos controles em seu controle hospedado UII

  5. Clique duas vezes no botão Atualizar valores em aplicativos hospedados (btnUpdate) para adicionar o código para o evento click desse botão e adicione o código a seguir.

    private void btnUpdate_Click(object sender, EventArgs 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. Vá para o modo de exibição de design, clique duas vezes no botão Atualizar contexto (btnUpdateContext) para adicionar o código para o evento de clique desse botão. Adicione o código a seguir.

    private void btnUpdateContext_Click(object sender, EventArgs 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. No mesmo arquivo (UiiWinformControl.cs), atualize a definição de substituição do método NotifyContextChange com o seguinte:

    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. Salve seu projeto e compile-o (Compilar > Compilar Solução). Depois de compilar o projeto com êxito, um assembly (arquivo dll) é gerado com o mesmo nome de seu projeto (nesse caso, UIIWindowsFormHostedConrol1.dll) na pasta /bin/debug de seu projeto.

  9. Copie esse arquivo no diretório de instalação do aplicativo cliente do Unified Service Desk (geralmente, C:\Program Files\Microsoft Dynamics CRM USD\USD). Esse arquivo é necessário para testar e, eventualmente, usar esse controle a partir do aplicativo cliente.

    Dica

    Anote o nome da classe usada para compilar seu controle hospedado UII no arquivo UiiWinformControl.cs. Nesse caso, é UiiWinformControl. Você precisará dessa informação na próxima etapa.

Etapa 2: Definir o controle hospedado no Unified Service Desk

Para hospedar o controle hospedado UII do Windows Forms no Unified Service Desk, você deve definir e configurá-lo.

  1. Entre no Microsoft Dynamics 365.

  2. Na barra de navegação, escolha Microsoft Dynamics 365 > Configurações > Unified Service Desk.

  3. Na página do Unified Service Desk, clique em Controles Hospedados.

  4. Na página Controles Hospedados, clique em Novo.

  5. Na página Novo controle hospedado, especifique os seguintes valores:

    Campo

    Valor

    Nome

    UIIWindowsFormHostedControl

    Nome para Exibição

    Controle Hospedado UII do Windows Forms de Exemplo

    Tipo de Componente do USD

    Aplicativo Hospedado do CCA

    Aplicativo Hospedado

    Controle Hospedado

    O Aplicativo é Global

    Selecionado

    Grupo de Exibição

    MainPanel

    Adaptador

    Não Usar Adaptador

    URI do Assembly

    UIIWindowsFormHostedControl1

    Tipo de Assembly

    UIIWindowsFormHostedControl1.UiiWinformControl

    Dica

    URI assembly é o nome de seu assembly e o Tipo assembly é o nome de seu assembly seguido por um ponto (.) e então o nome de classe em seu projeto Visual Studio. Neste exemplo, o nome do assembly é UIIWindowsFormHostedControl1 e o nome da classe é UiiWinformControl, que é o nome de classe padrão quando você cria um controle hospedado UII do Windows Forms.

    Novo controle hospedado no Unified Service Desk

  6. Clique em Salvar para criar o controle hospedado.

Etapa 3: Definir ações de UII para os controles hospedados de aplicativo externo e aplicativo Web no Unified Service Desk

Os adaptadores para os aplicativos Web e autônomo externos e expõem estas três ações: UpdateFirstName, UpdateLastName e UpdateAddress. Esses adaptadores e os controles hospedados para aplicativos Web e autônomo externos foram criados em documentos passo a passo do adaptador anteriores (Passo a passo: Criar um adaptador de aplicativo de UII e Passo a passo: Criar um adaptador de aplicativo Web de UII).

Para atualizar as informações nos aplicativos externos a partir do controle hospedado UII do Windows Forms, você deverá definir três ações de UII com o mesmo nome definido anteriormente nos adaptadores para cada um dos aplicativos externos. Nos documentos passo a passo anteriores (Passo a passo: Criar um adaptador de aplicativo de UII e Passo a passo: Criar um adaptador de aplicativo Web de UII), você definiu os dois controles hospedados a seguir no Unified Service Desk para exibirem os aplicativos externos no Unified Service Desk: QsExternalApp e QsExternalWebApplication. Nesta etapa, você adicionará três ações de UII para cada controle hospedado.

Importante

Se já tiver adicionado as ações de UII como parte da etapa 3 de Passo a passo: Criar um controle hospedado UII do WPF, você não precisará executar esta etapa novamente. Você pode continuar na próxima seção para testar o controle hospedado.

  1. Entre no Microsoft Dynamics 365.

  2. Na barra de navegação, escolha Microsoft Dynamics 365 > Configurações > Unified Service Desk.

  3. Na página do Unified Service Desk, selecione Controles Hospedados.

  4. Na página Controles Hospedados, procure por QsExternalApp e abra-o para edição.

  5. Na página QsExternalApp, clique na seta para baixo ao lado do nome do controle hospedado e clique em Ações de UII.

  6. Na página seguinte, clique em Adicionar Nova Ação de UII.

  7. Digite o nome UpdateFirstName e clique em Salvar e fechar. Será adicionada a ação na página anterior.

  8. Da mesma forma, adicione duas das seguintes ações: UpdateLastName e UpdateAddress. Essas três ações são disponibilizadas para o controle hospedado QsExternalApp.

    Ações de UII disponíveis para um controle hospedado

  9. Siga as etapas 4 a 8 para criar três ações de UII com os mesmos nomes para controle hospedado QsExternalWebApp.

Testar o controle hospedado

Antes de testar o controle hospedado UII do Windows Forms, verifique se seu aplicativo Web de exemplo está em execução, de forma que possa ser renderizado no Unified Service Desk.

  1. Execute o cliente do Unified Service Desk para conectar-se ao seu servidor do Dynamics 365.

  2. Ao entrar com êxito, você verá três controles hospedados: Controle Hospedado UII do Windows Forms de Exemplo, Aplicativo Web Externo de Exemplo e Aplicativo Externo de Exemplo.

    Controles hospedados de exemplo disponíveis

  3. Selecione Pesquisare Contatos. Escolha um dos contatos para exibir seus detalhes em uma sessão. Isso também exibe o nome, o sobrenome, o endereço e a ID do registro do contato atualmente exibido nos três controles de exemplo, conforme mostrado na seguinte ilustração.

    Controles de amostra no USD com as informações do contato

  4. Altere os valores em Controle Hospedado UII do Windows Forms de Exemplo e clique em Atualizar valores em aplicativos hospedados para atualizar os valores nos outros dois aplicativos externos.

    Os controles da amostra com valores atualizados

  5. Em Controle Hospedado UII do Windows Forms de Exemplo, clique em Atualizar contexto para atualizar as informações de contexto no Unified Service Desk.

    Valores atualizados no contexto de USD

Confira Também

Usar controles hospedados de UII com Unified Service Desk
Passo a passo: Criar um controle hospedado UII do WPF

Unified Service Desk 2.0

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais