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








4 comentarios