//Вычисление значения public void Generate(SubRows row) { while (_condition.Generate(row).Boolean) { _prog.Generate(row); } }
//Выбрать ряды для генерации public IEnumerable <SubRows> SelectRows(TablsList dataTabls, SubRows parentRow) { IEnumerable <SubRows> rows = dataTabls.Tabls[_tablName].SubList; rows = _condition == null ? rows : rows.Where(row => _condition.Generate(row).Boolean); return(ChildNode == null ? rows : ChildNode.SelectRows(rows)); }
//Вычисление значения public IReadMean Generate(SubRows row) { IReadMean mean = null; while (_condition.Generate(row).Boolean) { mean = _prog.Generate(row); } return(mean ?? _elseProg.Generate(row)); }
//Вычисление значения по ряду исходной таблицы public void Generate(SubRows row) { IEnumerable <SubRows> rows = row.SubList; if (_condition != null) { rows = rows.Where(r => _condition.Generate(r).Boolean); } foreach (var r in rows) { _prog.Generate(r); } }
//Вычисление значения по ряду исходной таблицы public IReadMean Generate(SubRows row) { IEnumerable <SubRows> rows = row.SubList; if (_condition != null) { rows = rows.Where(r => _condition.Generate(r).Boolean); } string s = ""; foreach (var r in rows) { if (s != "" && _separator != null) { s += _separator.Generate(r).String; } s += _expr.Generate(r).String; } return(new StringMean(s)); }
//Обработка при генерации public void Generate(SubRows row) { _var.Mean = _nodeMean.Generate(row); }
//Вычисление значения по ряду исходной таблицы public IReadMean Generate(SubRows row) { _voidProg.Generate(row); return(_expr.Generate(row)); }
//Вычисление значения public IReadMean Generate(SubRows row) { return(_expr.Generate(row.Parent)); }