lunes, 24 de mayo de 2010

Usando la nueva SDK 4.0.12 (Microsoft xRM)

En la nueva versión de la SDK, se recogen una serie de herramientas y ejemplos de código, muy útiles para el trabajo con CRM.
Esto se recoge en el capítulo Advanced Developer Extensions for Microsoft Dynamics CRM 4.0 (Microsoft xRM).
En este post, intentaré dar una especie de "ayuda" de como empezar a utilizar estas utilidades para sacar provecho de las mismas.
Haré un pequeño ejemplo paso a paso de como crear un nuevo proyecto, y utilizar el código de xRM para crear un Contacto.

Paso 1: copiar la herramienta "crmsvcutil.exe" que contiene la SDK en la carpeta "SDK\microsoft.xrm\tools" en el servidor de CRM.

Paso 2: Ejecutar en una línea de comandos lo siguiente:
crmsvcutil /server:"http://localhost/DEMO" /namespace:Xrm /dataContextPrefix:Xrm /out:Xrm.cs

Esto genera un fichero "Xrm.cs" con todas la estructura necesaria para trabajar con "xRM".

Paso 3: Crear un nuevo proyecto de tipo "Aplicación de consola".

Paso 4: Añadir las siguientes referencias al proyecto:
  • Microsoft.Crm.Sdk.dll y Microsoft.Crm.SdkTypeProxy.dll (SDK\Bin)
  • Microsoft.Xrm.Client Microsoft.Xrm.Portal Microsoft.Xrm.Portal.Files (SDK\Microsoft.Xrm\Bin)
  • System.Data.Services System.Data.Services.Client (.NET)

    Paso 5: Añadir la clase "Xrm.cs" generada previamente con la herramienta "crmsvcutil.exe"

    Paso 6: Añadir un nuevo fichero de Configuración de la aplicación (app.config) con el siguiente Xml (reemplazar las credenciales del usuario):








    El proyecto quedaría así:


    Paso 7: añadir el código para la creación del Contacto:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace TestXrm
    {
    class Program
    {
    static void Main(string[] args)
    {
    CrearContacto();
    }
    static void CrearContacto()
    {
    var crm = new Xrm.XrmDataContext("Crm");

    var contact = crm.CreateEntity("contact");

    contact.SetPropertyValue("firstname", "Demian Adolfo");
    contact.SetPropertyValue("lastname", "Raschkovan");
    contact.SetPropertyValue("emailaddress1", "demianr@demo.com");

    var id = Guid.NewGuid();
    contact.SetPropertyValue("contactid", id);

    crm.AddObject("contact", contact);
    crm.SaveChanges();

    var id2 = contact.GetPropertyValue("contactid");

    }

    }
    }


    Espero les sirva!

    un abrazo
  • No hay comentarios:

    Publicar un comentario