Не понимаю как этот код мог скомпилироваться
переменная addBloc сначала идет обращение, потом создание
AsDynamic это функция, а к ней обращаетесь как к свойству без скобок.
Зачем то к одному и тому же блоку идет двойное обращение под разными именами (подозреваю тут и скрыта ошибка)
Код:
//сначала
foreach(var element in (Iesi.Collections.ISet)ProcessInstance.Positions)
чуть позже в этом цикле
var positions = ProcessInstance.Positions;
foreach (var posEl in positions)
В целом же идея правильная что-то вроде
Код:
dynamic ProcessInstance = item.AsDynamic().WorkflowInstance.Context;
foreach(var element in (Iesi.Collections.ISet)ProcessInstance.Positions)
{
var addBloc = InterfaceActivator.Create<P_DeliveryReqest_Process>();
addBloc.Transport = element.AsDynamic().Transport;
addBloc.TimeStr = element.AsDynamic().TimeStr;
addBloc.PriceTo = element.AsDynamic().PriceTo;
addBloc.PriceFrom = element.AsDynamic().PriceFrom;
context.Process.Add(addBloc); //добавляем элемент в блок
}
Еще могут быть грабли с Transport если это элемент справочника, то надо его загружать типа EntityManager<Transport>.Instance.Load(element.AsDynamic().Transport.Id);