Я пытаюсь создать простой плагин для MS Dynamics CRM 4.0, в котором отправляются данные продавца в сообщении SOAP об обновлении заказа.
Странно то, что я получаю эту ошибку каждый раз, когда пытаюсь сохранить / (выполнить плагин).
Поэтому, когда я обновляю (любое поле) продавца и затем сохраняю, я получаю ошибку:
The given key was not present in the dictionary.
Когда я сразу после этого снова сохраняю данные (даже не меняя ничего между двумя сохранениями), он выполняется правильно и выдает мне все нужные данные. Это действительно каждый раз одно и то же: первое сохранение: ошибка, второе сохранение: выполнить правильно.
Есть идеи, что это может быть?
Это первая часть моего кода; где он фактически получает набор данных продавца в этом случае:
public class CompleteOrderPlugin : IPlugin
{
public void Execute(IPluginExecutionContext context)
{
DynamicEntity entity = null;
if (context.InputParameters.Properties.Contains(ParameterName.Target) &&
context.InputParameters.Properties[ParameterName.Target] is DynamicEntity)
{
entity = (DynamicEntity)context.InputParameters[ParameterName.Target];
if (entity.Name != EntityName.salesorder.ToString()) { return; }
}
else
{
return;
}
В остальном я использую значения из атрибутов для заполнения своих собственных переменных.