CRM 4.0 service utility classs
// Classes to create Metadata Service & CRM Serviceusing System;using System.Collections.Generic;using System.Text;using CrmSdk;using MetadataServiceSdk;namespace Microsoft.Crm.Sdk.Utility{public class CrmServiceUtility
{public static CrmService GetCrmService()
{return GetCrmService(null, null);
}
public static CrmService GetCrmService(string organizationName)
{return GetCrmService(null, organizationName);
}
/// <summary> /// Set up the CRM Service. /// </summary> /// <param name="organizationName">My Organization</param> /// <returns>CrmService configured with AD Authentication</returns>public static CrmService GetCrmService(string crmServerUrl, string organizationName)
{ // Get the CRM Users appointments // Setup the Authentication Token CrmSdk.CrmAuthenticationToken token = new CrmSdk.CrmAuthenticationToken();token.OrganizationName = organizationName;
CrmService service = new CrmService();if (crmServerUrl != null &&
crmServerUrl.Length > 0)
{ UriBuilder builder = new UriBuilder(crmServerUrl); builder.Path = "//MSCRMServices//2007//CrmService.asmx";service.Url = builder.Uri.ToString();
}
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
service.CrmAuthenticationTokenValue = token;
return service;}
/// <summary> /// Set up the CRM Metadata Service. /// </summary> /// <param name="organizationName">My Organization</param> /// <returns>MetadataService configured with AD Authentication</returns>public static MetadataService GetMetadataService(string crmServerUrl, string organizationName)
{ // Get the CRM Users appointments // Setup the Authentication Token MetadataServiceSdk.CrmAuthenticationToken token = new MetadataServiceSdk.CrmAuthenticationToken();token.OrganizationName = organizationName;
MetadataService service = new MetadataService();if (crmServerUrl != null &&
crmServerUrl.Length > 0)
{ UriBuilder builder = new UriBuilder(crmServerUrl); builder.Path = "//MSCRMServices//2007//MetadataService.asmx";service.Url = builder.Uri.ToString();
}
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
service.CrmAuthenticationTokenValue = token;
return service;}
/// <summary> /// Create a Crm label /// </summary> /// <param name="label">string label value for LocLabel</param> /// <param name="langCode">Language Code for CrmLabel</param> /// <returns></returns>public static MetadataServiceSdk.CrmLabel CreateSingleLabel(string label, int langCode)
{ MetadataServiceSdk.CrmNumber crmNumber = new MetadataServiceSdk.CrmNumber();crmNumber.Value = langCode;
MetadataServiceSdk.LocLabel locLabel = new MetadataServiceSdk.LocLabel();locLabel.LanguageCode = crmNumber;
locLabel.Label = label;
MetadataServiceSdk.CrmLabel crmLabel = new MetadataServiceSdk.CrmLabel(); crmLabel.LocLabels = new MetadataServiceSdk.LocLabel[] { locLabel }; return crmLabel;}
}
}