domingo, 13 de julio de 2008

Como atachar un archivo adjunto en Dynamics CRM

En la Dynamics CRM 4.0 y CRM 3.0 , al atachar una archivo en las entidades es bastante simple. Claro hacer lo en la versión 4.0 es un poco mas simple que hacerlo en la versión 3.0. Se crean los siguientes objetos UploadFromBase64DataAnnotationRequest y de UploadFromBase64DataAnnotationResponse.

En la nueva versión se ha introducido un nuevo atributo llamado documentbody, este atributo es introducido en el objeto annotation que acepta la secuencia en la codificación base64. Vea el ejemplo que muestro en las siguientes líneas:

Estoy separando entre las diversas versiones que hay de Dynamics CRM:

 

Dynamics CRM 4.0

Leyendo la data dentro de una Array de Byte y luego esto lo convertimos en base64.

   

Byte[] data;

ASCIIEncoding encode = new ASCIIEncoding();

data = encode.GetBytes(str.ToString());

string b64 = Convert.ToBase64String(data); 

 

Luego, creamos una simple anotación y seteamos algunos de estos atributos:

 

annotation note = new annotation();

note.subject = "Prueba";

note.filename = "Prueba.txt";

note.mimetype = "text/html";

note.documentbody = b64;

note.objectid = new Lookup();

note.objectid.type = "new_prueba";

note.objectid.Value = entityid;

note.objecttypecode = new EntityNameReference();

note.objecttypecode.Value = "new_export";

Guid annotationId = service.Create(note);

 

Dynamics CRM 3.0

En este ejemplo creamos una nota y adjuntamos un archivo a un email.

activitymimeattachment oAtachado = (activitymimeattachment)var;

annotation oNotadecaso = new annotation();

oNotadecaso.filename = oAtachado.filename.ToString();

oNotadecaso.filesize = new CrmNumber();

oNotadecaso.filesize.Value = oAtachado.filesize.Value;

oNotadecaso.isdocument = new CrmBoolean();

oNotadecaso.isdocument.Value = true;

oNotadecaso.objectid = new Lookup();

oNotadecaso.objectid.type = EntityName.incident.ToString();

oNotadecaso.objectid.Value = sGuidCaso;

oNotadecaso.objecttypecode = new EntityNameReference();

oNotadecaso.objecttypecode.Value = EntityName.incident.ToString();

oNotadecaso.mimetype = oAtachado.mimetype.ToString();

oNotadecaso.subject = "Archivo Adjunto del Email.";

 

Guid guidNota = oservico.Create(oNotadecaso);

 

UploadFromBase64DataAnnotationRequest oAnnotationCarga = new UploadFromBase64DataAnnotationRequest();

oAnnotationCarga.AnnotationId = guidNota;

oAnnotationCarga.FileName = oAtachado.filename.ToString();

oAnnotationCarga.MimeType = oAtachado.mimetype.ToString();

oAnnotationCarga.Base64Data = oAtachado.body.ToString();

UploadFromBase64DataAnnotationResponse uploaded = (UploadFromBase64DataAnnotationResponse)oservico.Execute(oAnnotationCarga);

 

 

Feliz programación.

 

Salu2

 

Atilin

Share this post
  • Share to Facebook
  • Share to Twitter
  • Share to Google+
  • Share to Email
  • More...

4 comentarios

 
© 2011 Dynamics CRM Rulez !!!!!!
Designed by BlogThietKe Cooperated with Duy Pham
Released under Creative Commons 3.0 CC BY-NC 3.0
Posts RSSComments RSS
Back to top