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:
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