public virtual void GroupBysToEndOfQuery(SqlDaQuery query,
ICollection<AbstractGroupExpression> groupExpressions, ClassMapping mapping)
{
if (groupExpressions.Count > 0)
{
query.Sql.Append(" GROUP BY ");
}
bool first = true;
foreach (AbstractGroupExpression expression in groupExpressions)
{
if (first)
{
first = false;
}
else
{
query.Sql.Append(", ");
}
if (expression is MemberGroupExpression)
{
query.Sql.Append(
mapping.AllDataColsByObjAttrs[((MemberGroupExpression) expression).MemberName]);
}
else
{
throw new ArgumentException(
"Group expression '" + expression + "' is an unsupported type.",
"groupExpressions");
}
}
}