private ТабличнаяЧастьКонтекст ДобавитьТабличнуюЧасть(МетаданныеТабличнаяЧасть метаданные) { object таблЧасть; if (!this.data.TryGetValue(метаданные.Имя(), out таблЧасть) || таблЧасть == null) { таблЧасть = new ТабличнаяЧастьКонтекст(метаданные as МетаданныеТабличнаяЧасть); this.data[метаданные.Имя()] = таблЧасть; (таблЧасть as ТабличнаяЧастьКонтекст).OnModifiedChanged += this.TableSection_OnModifiedChanged; } return(таблЧасть as ТабличнаяЧастьКонтекст); }
internal void УстановитьЗначенияИзСвойствSOAP(ValueBase[] properties) { if (properties == null) { return; } УзелМетаданных реквизиты = this.reference.Метаданные().НайтиПодчиненный("Реквизиты"); foreach (ValueBase property in properties) { УзелМетаданных реквизит; if (реквизиты.ПопыткаНайтиПодчиненный(property.Name, out реквизит)) { object значение = property.GetValue(this.Клиент()); this.data[реквизит.Имя()] = значение; } } УзелМетаданных таблЧасти = this.reference.Метаданные().НайтиПодчиненный("ТабличныеЧасти"); foreach (ValueBase property in properties) { УзелМетаданных таблЧастьМета; if (таблЧасти.ПопыткаНайтиПодчиненный(property.Name, out таблЧастьМета)) { object значение = property.GetValue(this.Клиент()); ТабличнаяЧастьКонтекст табличнаяЧасть = this.ДобавитьТабличнуюЧасть(таблЧастьМета as МетаданныеТабличнаяЧасть); if (значение is ТаблицаЗначений) { табличнаяЧасть.ЗагрузитьДанные((ТаблицаЗначений)значение); } else { табличнаяЧасть.ЗагрузитьДанные(new ТаблицаЗначений()); } табличнаяЧасть.SetIsModified(false); } } }