Показать сообщение отдельно
Старый 09.12.2013, 14:54   #1  
Space-06 is offline
Space-06
Участник
 
57 / 10 (1) +
Регистрация: 23.01.2013
Вопрос по EntityCollection
В продолжении предыдущей темы

хотелось бы у вас коллеги проконсультироваться вот по какому вопросу:

в своем коде :

Код:
Entity phonecall = service.Retrieve("phonecall", entity.Id, new ColumnSet(true));
                    if (phonecall.Attributes.Contains("regardingobjectid"))
                    {
                        EntityReference regarding = (EntityReference)phonecall.Attributes["regardingobjectid"];
                        
                        if (regarding.LogicalName == "lead")
                        {
                            Entity lead = service.Retrieve("lead", regarding.Id, new ColumnSet(true));
                            EntityReference companyname = (EntityReference)lead.Attributes["new_companyname"];
                            Entity account = service.Retrieve("account", companyname.Id, new ColumnSet(true));
                            string name = account.Attributes["name"].ToString();
                            phonecall.Attributes.Add("new_nameofaccount", name);
                            service.Update(phonecall);
                            return;
                        }
                        if (regarding.LogicalName == "account")
                        {
                            Entity account = service.Retrieve("account", regarding.Id, new ColumnSet(true));
                            string name = account.Attributes["name"].ToString();
                            phonecall.Attributes.Add("new_nameofaccount", name);
                            service.Update(phonecall);
                            return;
                        }
                        if (regarding.LogicalName == "campaignactivity")
                        {
                            if (entity.Attributes.Contains("to"))
                            {
                                foreach (Entity acc in ((EntityCollection)entity.Attributes["to"]).Entities)
                                {
                                    string name = service.Retrieve("account", acc.Id, new ColumnSet(true)).ToString();
                                    phonecall.Attributes.Add("new_nameofaccount", name);
                                    service.Update(phonecall);
                                }                               
                                return;
                            }
                       }
Работают все конструкции по получению данных из поля "В отношении", но как только в поле находится Сущность действие кампании, тут приходится прибегать к тому, чтоб получить значение поля из сущности, которое находится в поле Получатель ("to"), а оно у нас является коллекцией сущностей. И выполняя свой код, увы не могу получить значения.

Все таки каким способом необходимо получить значение сущности из этого поля?
За ранее известно что там (Всегда!!!) будет одна сущность.


За ранее спасибо!!!