22 enero 2012

Conexión al servidor CRM mediante aplicaciones ASPX

Innovar Tecnologías ©

En este ejemplo conectaremos una aplicación web ASPX con el servicio CRM a través de los siguientes objetos

- CrmConnection conexion;
- OrganizationService service;

El objetivo es la recuperación de datos de la entidad Contact, para mostrarlos en pantalla al usuario



Realizaremos la conexión con un servidor Dynamics CRM 2011


- El primer paso será preparar el diseño de la aplicación de conexión, en este ejemplo una sencilla página web para conectar con el servicio CRM y mostrar los datos de la entidad Contact en una tabla



- Lo siguiente será preparar la cadena de conexión a nuestro servidor CRM, para utilizarla como parámetro en el constructor de nuestro objeto CrmConnection

- Incluiremos nuestra cadena de conexión en el archivo web.config



- Ahora crearemos el objeto CrmConnection, para poder crear en base a este el objeto OrganizationService:
    conexion = new CrmConnection("Crm2011");
    service = new OrganizationService(conexion);


- Con nuestros objetos de conexión y servicio, podremos hacer uso del servicio para invocar a su método RetrieveMultiple(), el cual acepta como parámetro un objeto de tipo QueryExpression, y devuelve un objeto de tipo EntityCollection

- Al invocar a este método y asignar sus resultados a nuestra variable de tipo EntityCollection, utilizaremos un bucle foreach para recorrer nuestro conjunto de resultados
private void verContactos()
{
    QueryExpression qe = new QueryExpression();
    qe.ColumnSet = new ColumnSet(allColumns: true);
    qe.EntityName = "contact";
    EntityCollection ec = service.RetrieveMultiple(qe);
    foreach (Entity record in ec.Entities)
    {
        TableCell cellNombre = new TableCell();
        cellNombre.Text = record["firstname"].ToString();

        TableCell cellApellidos = new TableCell()
        cellNombre.Text = record["lastname"].ToString();
        
        TableCell cellId = new TableCell()
        cellNombre.Text = record["contactid"].ToString();

        TableRow row = new TableRow();
        row.Cells.Add(cellNombre);
        row.Cells.Add(cellApellidos);
        row.Cells.Add(cellId);

        tblContactos.Rows.Add(row);
    }
}


- Y el resultado en pantalla es el siguiente:




_


Desde la comunidad de developers de Dynamics CRM, queremos agradecer sus contribuciones a los creadores de los siguientes blogs y sitios web:

- Result On Demand

http://www.resultondemand.nl/support/sdk/2bdd259c-1003-4b37-a7db-61bf2278c7e4.htm

- Y a los siguientes sitios web de documentación oficial sobre CRM 2011

http://msdn.microsoft.com/en-us/library/gg695810.aspx


Desde Innovar Tecnologías
esperamos que este documento les sea de ayuda en su desarrollo

Web de la empresa

No hay comentarios:

Publicar un comentario