Exemplo n.º 1
0
        public override object GetValue(БромКлиент client = null)
        {
            ТаблицаЗначений result = new ТаблицаЗначений();

            if (this.Column != null)
            {
                foreach (var column in this.Column)
                {
                    result.Колонки.Добавить(column.Name);
                }
            }
            if (this.Row != null)
            {
                foreach (var row in this.Row)
                {
                    dynamic temRow = result.Добавить();
                    if (row.Property != null)
                    {
                        foreach (var property in row.Property)
                        {
                            temRow[property.Name] = property.GetValue(client);
                        }
                    }
                }
            }

            return(result);
        }
        /// <summary>
        /// Выгружает табличную часть в таблицу значений (<see cref="ITworks.Brom.Types.ТаблицаЗначений"/>).
        /// </summary>
        /// <returns>Возвращает таблицу значений, содержащую данные табличной части.</returns>
        public ТаблицаЗначений Выгрузить()
        {
            ТаблицаЗначений      таблица    = new ТаблицаЗначений(this.Count);
            IEnumerable <string> именаПолей = this.metadata.Найти("Реквизиты").GetDynamicMemberNames();

            foreach (string имяПоля in именаПолей)
            {
                таблица.Колонки.Добавить(имяПоля);
            }

            foreach (dynamic стр in this.rows)
            {
                dynamic новСтр = таблица.Добавить();
                foreach (string имяПоля in именаПолей)
                {
                    новСтр[имяПоля] = стр[имяПоля];
                }
            }

            return(таблица);
        }