Hi Guido.
The Code is:
protected void ExecuteUpdatePhoneNumber(LocalPluginContext localContext)
{
if (localContext == null)
{
throw new ArgumentNullException("localContext");
}
else
{
IPluginExecutionContext context = (IPluginExecutionContext)localContext.PluginExecutionContext;
IOrganizationService service = (IOrganizationService)localContext.OrganizationService;
ITracingService trace = (ITracingService)localContext.TracingService;
Entity entity = null;
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
{
//Load entity
entity = (Entity)context.InputParameters["Target"];
var GuID = entity.Id;
//QUERYEXPRESSION
QueryExpression query = new QueryExpression();
query.EntityName = "contact";
ColumnSet col = new ColumnSet("new_land","telephone1");
query.ColumnSet = col;
query.Criteria.AddCondition("contactid", ConditionOperator.Equal, GuID);
EntityCollection contactscollection = service.RetrieveMultiple(query);
foreach (Entity e in contactscollection.Entities)
{
var name = e.LogicalName;
//var land = e.GetAttributeValue<"new_land">
EntityReference landlookup = (EntityReference)e.Attributes["new_land"];
var landString = landlookup.Name;
var phoneNumber = e.Attributes["telephone1"].ToString();
EntityReference phonelookup = (EntityReference)e.Attributes["telephone1"];
var phonestring = phonelookup.Name;
}
}
}
}
While debuggin via Plugin Registration Tool I can see that at the Moment of the execution there are only 2 Attributes of the Entity filled. "new_land" and the "contactid".