Я имею дело с пользовательским (расширенным) свойством сущности по умолчанию (email
) в контексте плагина, и, несмотря на то, что подход работает для создания (.Add()
), он не для обновлений (и не является.Update()
метод связан).Вот фактический код:
public class EmailPreCreateHandler : IPlugin
{
DynamicEntity dynamicEntity;
if (context.InputParameters.Properties.Contains("Target")
&& context.InputParameters.Properties["Target"] is DynamicEntity)
{
dynamicEntity = (DynamicEntity)context.InputParameters.Properties["Target"];
if (dynamicEntity.Name != EntityName.email.ToString()) { return; }
}
else { return; }
try
{
if (dynamicEntity.Properties.Contains("new_property1")
|| dynamicEntity.Properties.Contains("new_property2"))
{
var new_property3 = new CrmBooleanProperty("new_property3", new CrmBoolean(true));
dynamicEntity.Properties.Add(new_property3);
}
}
catch (SoapException exception)
{
throw new InvalidPluginExecutionException(
"An error occurred with the plug-in.", exception);
}
}
}
Мне было интересно, если я должен сделать что-то подобное, чтобы заставить это работать?
dynamicEntity.Properties.Remove(new_property3);
dynamicEntity.Properties.Add(new_property3);
Детали регистрации
(Сборка)
- Расположение: база данных
(шаг)
- Сообщение: Создать
- Основной объект: электронная почта
- Вторичный объект: нет
- Атрибуты фильтрации: Все атрибуты
- Запуск в контексте пользователя: Вызов пользователя
- ВыполнениеЗаказ: 1
- Конвейер событий. Стадия исполнения: Предварительная стадия
Буду очень признателен за любые отзывы.Большое спасибо заранее,