We have a custom entity called line of business (lob) for different line of business’s in our organization.
In CRM 3.0 there was no way we could have associated the lob custom entity with the system entity Team as there was no way of creating relationship between them.
But in CRM 4.0 we can now create a many to many relationship between the two.
Creating a many to many relationship between the two creates a new entity
new_team_new_lineofbusiness
Now say we want to write a custom code to retrieve all the teams associated with a given line of business, we can write something like below ( If we use query expression and retrieve multiple request it gives the error message saying that RetrieveMultiple is not supported on this entity)
This is the custom code for that
// setting the authentication token
CrmAuthenticationToken token = new CrmAuthenticationToken();
// 0- refers active directory
token.AuthenticationType = 0;
token.OrganizationName = “organizationname”;
CrmService crmService = new CrmService();
crmService.Url = “http://servername/mscrmservices/2007/CrmService.asmx”;
crmService.Credentials = System.Net.CredentialCache.DefaultCredentials;
crmService.CrmAuthenticationTokenValue = token;
string fetch2= @”<fetch mapping=’logical’>
<entity name=’new_team_new_lineofbusiness’>
<attribute name=’teamid’ />
<filter>
<condition attribute=’new_lineofbusinessid’ operator=’eq’ value=’C4BE129E-9B3C-DB11-8CBA-001185E68627′ />
</filter>
</entity>
</fetch>”;
// Fetch the results.
try
{
String result2 = crmService.Fetch(fetch2);
MessageBox.Show(result2);
XmlDocument doc = new XmlDocument();
doc.LoadXml(result2);
XmlNodeList xnodlist = doc.GetElementsByTagName(“teamid”);
string teamID = “”;
if (xnodlist.Count != 0)
{
for (int i = 0; i < xnodlist.Count; i++)
{
XmlNode xnodRoot = xnodlist.Item(i);
teamID = xnodRoot.InnerText;
}
}
}
catch (SoapException ex)
{
MessageBox.Show(ex.Detail.InnerText);
}
Bye
