How to check whether Annotation text contains data or not, I am using below code to retrieve multiple annotations, if the note text contains data I am not getting any error, if text is null i am getting this error :: A first chance exception of type 'System.Collections.Generic.KeyNotFoundException' occurred in mscorlib.dll
Below is my code.
public static void RetrieveMultiple(IOrganizationService _service)
{
ColumnSet objColumns = new ColumnSet();
objColumns.AddColumns(new string[] { "annotationid", "createdby","notetext","subject"});
ConditionExpression objConditionExpression1 = new ConditionExpression("subject", ConditionOperator.NotNull);
ConditionExpression objConditionExpression2 = new ConditionExpression("notetext", ConditionOperator.NotNull);
//FilterExpression filterPrincipal = new FilterExpression();
// filterPrincipal.FilterOperator = LogicalOperator.And;
//filterPrincipal.AddCondition(objConditionExpression1);
// filterPrincipal.AddCondition(objConditionExpression2);
//Create the QueryExpression.
QueryExpression queryPrincipal = new QueryExpression();
// Set the properties of the QueryExpression.
queryPrincipal.EntityName = "annotation";
queryPrincipal.ColumnSet = objColumns; //queryPrincipal.ColumnSet = new Columnset(true);
//queryPrincipal.Criteria = filterPrincipal;
EntityCollection ec = _service.RetrieveMultiple(queryPrincipal);
Console.WriteLine("Count of {0} Retrived", ec.Entities.Count);
foreach (Entity ent in ec.Entities)
{
if(ent["subject"] != null)
{
string Sub = ent["subject"].ToString();
Console.WriteLine("Subject:" + Sub);
}
string Text = ent["notetext"].ToString();
if (Text != null)
{
Console.WriteLine("Notes:" + Text);
}
if (ent["createdby"] != null)
{
string created = ((EntityReference)ent["createdby"]).Name;
Console.WriteLine("Createdby:" + created);
}
if (ent["annotationid"] != null)
{
string id = ent["annotationid"].ToString();
Console.WriteLine("GUID:" + id);
}
}