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
Microsoft .NET Framework 4.5.2
Aplicativo cliente do Unified Service Desk; necessário para testar o controle hospedado.
Microsoft Visual Studio 2012, Visual Studio 2013 ou Visual Studio 2015
Gerenciador de Pacotes NuGet para Visual Studio 2012, Visual Studio 2013 ou Visual Studio 2015
Modelos de SDK do Microsoft Dynamics 365 para Visual Studio que contêm o modelo de projeto de controle hospedado UII do Windows Forms. É possível obter um com as seguintes opções:
Baixe o modelo de SDK do CRM. Clique duas vezes no arquivo CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.
Baixe e extraia o pacote do SDK do CRM. Vá até a pasta SDK\Templates. Clique duas vezes no arquivo CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.
É necessário ter concluído as etapas Passo a passo: Criar um adaptador de aplicativo de UII e Passo a passo: Criar um adaptador de aplicativo Web de UII para garantir que os aplicativos externo e Web estejam configurados com os respectivos adaptadores para facilitar a interação com esses aplicativos.
Etapa 1: Criar um controle hospedado UII do Windows Forms usando o Visual Studio
Inicie o Visual Studio e crie um novo projeto.
Na caixa de diálogo Novo projeto:
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.
Especifique o nome e o local do projeto, e clique em OK para criar um novo projeto.
No painel Solution Explorer, clique com o botão direito no arquivo UiiWinformControl.cs e selecione Abrir para exibir o designer do Windows Forms.
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.
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 }
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); }
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); }
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.
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.
Entre no Microsoft Dynamics 365.
Na barra de navegação, escolha Microsoft Dynamics 365 > Configurações > Unified Service Desk.
Na página do Unified Service Desk, clique em Controles Hospedados.
Na página Controles Hospedados, clique em Novo.
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.
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.
Entre no Microsoft Dynamics 365.
Na barra de navegação, escolha Microsoft Dynamics 365 > Configurações > Unified Service Desk.
Na página do Unified Service Desk, selecione Controles Hospedados.
Na página Controles Hospedados, procure por QsExternalApp e abra-o para edição.
Na página QsExternalApp, clique na seta para baixo ao lado do nome do controle hospedado e clique em Ações de UII.
Na página seguinte, clique em Adicionar Nova Ação de UII.
Digite o nome UpdateFirstName e clique em Salvar e fechar. Será adicionada a ação na página anterior.
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.
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.
Execute o cliente do Unified Service Desk para conectar-se ao seu servidor do Dynamics 365.
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.
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.
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.
Em Controle Hospedado UII do Windows Forms de Exemplo, clique em Atualizar contexto para atualizar as informações de contexto no Unified Service Desk.
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