...

Не сохраняется блок.

Тема в разделе "Вопросы по функционалу", создана пользователем ds-kosh, 25 июн 2019.

  1. ds-kosh

    ds-kosh New Member

    Добрый день.
    На переходе из задачи есть сценарий, в котором в блок добавляются записи:

    public virtual void FillAvailableRolesList (Context context)
    {
    try {
    context.RolesToSelect.Clear ();
    long counter = 0;
    // Начитаем роли для выбранного информационного ресурса
    foreach (clIResourceRole element in EntityManager<clIResourceRole>.Instance.Find (o => o.IResource == context.InfoResource)) {
    counter++;
    if (context.ReceivedRoles.IsEmpty || context.ReceivedRoles.First (o => o.ReceivedRole == element) == null)
    {
    context.RolesToSelect.Add (new clISAccess_RolesToSelect () {
    Id = counter,
    Parent = context,
    Uid = Guid.NewGuid (),
    AvailableRoles = element
    });

    }
    }

    }
    catch (Exception ex) {
    context.TechnicalMessage += (ex.Message.Trim () + Environment.NewLine);
    }
    context.TechnicalMessage += ("Records just added: " + context.RolesToSelect.Count.ToString () + Environment.NewLine);
    }

    Записи действительно добавляются - этот факт отображается в текстовом поле TechnicalMessage.
    Однако, в другой задаче (в которую ведет стрелочка перехода), этот блок отображается пустым! Причем он не только отображается пустым... Он пустой на самом деле. Код:

    string msg = "context.RolesToSelect.Count = " + context.RolesToSelect.Count.ToString();
    form.Notifier.Information(msg);

    , находящийся под кнопкой в этой задаче, выдает 0!
    Пробовал сохранять контекст (context.Save()) - не помогает. Может блок нужно сохранять каким-то "хитрым" образом? Прошу по возможности помочь.
     
  2. ds-kosh

    ds-kosh New Member

    В общем, решилось.
    Строки
    Id = counter,
    Parent = context,
    Uid = Guid.NewGuid (),

    нужно было закомментировать...
    ЭЛМА сама формирует Id, Uid и понимает к какому объекту (Parent) "лепить" добавляемые записи....
     

Поделиться: