Hola como están. Alguno de nosotros ya sabrán que dentro del SDk hay una librería que nos ahorra un poco de tiempo al tratar de hacer alguna actualización, migración o aplicación externa al crm, cuando digo ahorra es que la forma de crear algunos atributos dentro del crm me parece que es un poco tediosa. Por ejemplo, cuando queremos crear un LookUp tendríamos que utilizar algo así.
incident oIncidencia = new incident();
oIncidencia.subjectid = new Lookup();
oIncidencia.subjectid.type = EntityName.subject.ToString();
oIncidencia.subjectid.Value = new Guid("<Guid Subjcect>");
Un poco complicado no?, Con el sdkHelper crear un lookup seria algo como :
CrmTypes.CreateLookup("subjectid",<Guid Subjcect>);
Pero bueno eso si es gran ayuda no?, pero me surge otro pregunta, el crmSdkHelper me puede crear el objeto del CrmServices?, o me puede decir como saber si voy a necesitar usuario y password para que este sea autenticado?, trata de resolver estos problemas pero creo que aun falta muchos mas, por ejemplo, cada ves que tengo que utlizar el crmServices lo tendria que crear y bueno eso en realidad e sperdida de tiempo y eso es lo que trato de evitar, trate de poner el patron Singleton en el momento de crear ese oibjeto y me quedo algo asi :
private static CrmService instanciaCrmService = null;
/// <summary>
///
/// </summary>
/// <param name="iTipoConexion">Campo que nos dice si la conexion va a ser por defecto o con un usuario el cual debemos de configurar.
/// <example> Como por Ejemplo :
/// <code>
/// if (iTipoConexion == 1) instanciaCrmService.Credentials = System.Net.CredentialCache.DefaultCredentials;
/// else instanciaCrmService.Credentials = new System.Net.NetworkCredential(_SUsuario, _SPassword, _SDominio);
/// </code>
/// </example>
/// </param>
/// <returns></returns>
public static CrmService getInstance(int iTipoConexion)
{
if (instanciaCrmService == null)
{
instanciaCrmService = new CrmService();
if (iTipoConexion == 1) instanciaCrmService.Credentials = System.Net.CredentialCache.DefaultCredentials;
else instanciaCrmService.Credentials = new System.Net.NetworkCredential(_SUsuario, _SPassword, _SDominio);
instanciaCrmService.Url = _SUrl;
//instanciaCrmService.PreAuthenticate = true;
instanciaCrmService.UnsafeAuthenticatedConnectionSharing = true;
}
return instanciaCrmService;
}
Donde todo es configurable en el web.config o app.config de la aplicación. Estoy tratando de modificar mas para poder tener un crmSdkHelper "poderoso" jejeje y asi poder todos tener algo que utilizar que nos ahorre tiempo pogramando…
Ud que opinan?, como ven el cambio , me sugieren otros?








0 comentarios