Recuperando dados com Microsoft Dynamics CRM 2011

Olá a todos,

iniciando aqui uma série de pequenos posts sobre Microsoft Dynamics CRM 2011. O primeiro será sobre recuperação de dados utilizando o SDK disponibilizado pela microsoft no endereço:

http://www.microsoft.com/en-us/download/details.aspx?id=24004

A primeira forma de consultar é a que considero mais simples de todas, dado uma entidade que desejo recuperar através de seu identificador iremos usar a abordagem Late-Bound (para maior entendimento, sugiro este artigo http://msdn.microsoft.com/en-us/library/gg327971.aspx) para se conectar ao servidor do CRM e recuperar a entidade.

Nossa missão, recuperar o Número do Ticket (TicketNumber) da Ocorrência (Incident) cujo identificador único é “FE69CAF4-1693-E211-B951-00155D01C805”

Para começar, precisamos adicionar a referência ao SDK do CRM ao nosso projeto, para isto devemos referenciar a biblioteca “sdk\bin\microsoft.xrm.sdk.dll”.  Aproveitando também devermos adicionar as bibliotecas:

  • System.Runtime.Serialization
  • System.ServiceModel

A nossa classe de consulta deverá conter as seguintes referências no topo:

using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Client;
using Microsoft.Xrm.Sdk.Query;
using System;
using System.ServiceModel.Description;

Abaixo segue o Código Fonte que realiza a conexão ao servidor CRM através do Organization.SVC (para pegar o endereço do serviço: Na tela do CRM, clicar em Configurações > Personalizações > Recursos do Desenvolvedor  > Serviço da Organização).

//Uri da organição

Uri clientUri = new Uri("http://crm/My/XRMServices/2011/Organization.svc");

//Credenciais para conexão
ClientCredentials clientCredentials = new ClientCredentials();

clientCredentials = new ClientCredentials();

clientCredentials.UserName.UserName = "****\\olavoneto";

clientCredentials.UserName.Password = "******";

//Identificador da ocorrência

Guid incidentId = new Guid("FE69CAF4-1693-E211-B951-00155D01C805");

//Abrindo a conexão ao Serviço

using (OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(clientUri, null, clientCredentials, null))

{

//Instânciação da entidade, definido o tipo da mesma

Entity entity = new Entity("incident");

//Instânciação do ColumnSet, informando que desejamos todas as colunas no resultado

ColumnSet columnSet = new ColumnSet(true);

//Recuperação da entidade

entity = serviceProxy.Retrieve("incident",incidentId,columnSet);

//Capturando o Ticket da ocorrência

string ticketNumber = entity["ticketnumber"].ToString();

}

Assim, desta forma simples conseguimos recuperar entidades do CRM através de seu identificador. Para o próximo post faremos consultas recuperando várias entidades ao mesmo tempo.

Anúncios
Esse post foi publicado em C#, Dynamics CRM e marcado , , , , . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s