private void AddChildStatements(IComplexCommandBuilder parentBuilder, EntityInfo entityInfo, IFilter filter) { foreach (var childInfo in entityInfo.Children) { var childBuilder = new ComplexCommandBuilder(childInfo.Name, childInfo.Type); childBuilder.AddStatement(new SelectStatement(childInfo, filter)); foreach (var parameter in filter.Parameters) { childBuilder.AddParameter(parameter); //logger.Debug(" parameter name=" + parameter.Name + "value=" + parameter.Value.ToString()); } parentBuilder.AddChild(childBuilder); AddChildStatements(childBuilder, childInfo, filter); } foreach (var valueInfo in entityInfo.Values) { var valueBuilder = new ComplexCommandBuilder(valueInfo.Name, valueInfo.Type); valueBuilder.AddStatement(new SelectStatement(valueInfo, filter)); foreach (var parameter in filter.Parameters) { valueBuilder.AddParameter(parameter); //logger.Debug(" parameter name=" + parameter.Name + "value=" + parameter.Value.ToString()); } parentBuilder.AddChild(valueBuilder); } }
private void AddChildStatements(IComplexCommandBuilder parentBuilder, EntityInfo entityInfo) { foreach (var childInfo in entityInfo.Children) { var childBuilder = new ComplexCommandBuilder(childInfo.Name, childInfo.Type); childBuilder.AddStatement(new SelectStatement(childInfo, rootName, rootIdAlias)); parentBuilder.AddChild(childBuilder); AddChildStatements(childBuilder, childInfo); } foreach (var valueInfo in entityInfo.Values) { var valueBuilder = new ComplexCommandBuilder(valueInfo.Name, valueInfo.Type); valueBuilder.AddStatement(new SelectStatement(valueInfo, rootName, rootIdAlias)); parentBuilder.AddChild(valueBuilder); } }