...

Listener. Объявление переменной типа "Список объектов <Phone>" и "Список объектов <Email>"

Тема в разделе "Разработчикам", создана пользователем denis_ganchev, 6 июн 2019.

Метки:
  1. denis_ganchev

    denis_ganchev New Member

    Добрый день,
    В перехватчике имеется рабочий скрипт, с помощью которого мы фиксируем изменение конкретного свойства объекта IContactConfigExt, к примеру "Name"

    public override void OnPostUpdate(PostUpdateEvent @event)
    {
    if (@event.Entity is IContactConfigExt)
    {
    var name = Array.IndexOf(@event.Persister.PropertyNames, "Name");
    var phone = Array.IndexOf(@event.Persister.PropertyNames, "Phone");
    var email = Array.IndexOf(@event.Persister.PropertyNames, "Email");

    if ((string)@event.OldState[name] != (string)@event.State[name])
    //Скрипт который нужно выполнить при изменении "Name"​
    // if ((???)@event.OldState[phone] != (???)@event.State[phone])
    // //Скрипт который нужно выполнить при изменении "Phone"

    }
    return;​
    }

    Появилась необходимость выполнять скрипт, если была добавлена, изменена или удалена какая-либо запись из списка телефонов и email-адресов контакта. Для этого нужно объявить тип переменной в скобках:
    (???)@event.State[phone]

    Для примера еще, так объявляется переменная "StatusOfUpload" типа перечисление
    (EleWise.ELMA.ConfigurationModel.StatusOfUpload)@event.OldState[status]

    Пробовал так (ISet<EleWise.ELMA.CRM.Models<IPhone>) - не подошло
    Собственно вопрос: как объявить эти переменные?
    Есть подозрение, что перехватить изменение списка объектов в принципе невозможно. В таком случае можно повесить перехватчик на сам объект Phone или Email, но тогда как понять с каким объектом они связанны?
     
  2. Марина

    Марина New Member

Поделиться: