protected override IBranch GetExpandedBranch(int index) { if (index < ElementCount) { var mset = GetElement(index) as MappingStorageEntityType; if (mset != null) { var branchList = new ArrayList(2); branchList.Add(new ConditionBranch(mset, GetColumns())); branchList.Add(new ColumnMappingsBranch(mset, GetColumns())); var aggBranch = new AggregateBranch(branchList, 0); if (_expandedBranches.Count <= index) { Debug.Assert ( _expandedBranches.Count == index, "_expandedBranches.Count (" + _expandedBranches.Count + ") should equal index (" + index + ")"); _expandedBranches.Add(aggBranch); } else { _expandedBranches[index] = aggBranch; } return aggBranch; } } return null; }
protected override IBranch GetExpandedBranch(int index) { if (index < ElementCount) { var mfm = GetElement(index) as MappingModificationFunctionMapping; if (mfm != null) { if (mfm.ModificationFunctionType == ModificationFunctionType.Delete) { _expandedBranches[index] = new ParametersBranch(mfm, GetColumns()); } else { var branchList = new ArrayList(2); branchList.Add(new ParametersBranch(mfm, GetColumns())); branchList.Add(new ResultBindingsBranch(mfm, GetColumns())); _expandedBranches[index] = new AggregateBranch(branchList, 0); } return _expandedBranches[index]; } } return null; }