From: Michael D. <mik...@us...> - 2004-06-23 21:09:07
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1216/NHibernate/SqlCommand Modified Files: SelectFragment.cs Log Message: Add methods to add a forumla to a select fragment. Index: SelectFragment.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand/SelectFragment.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SelectFragment.cs 15 Apr 2004 11:36:36 -0000 1.3 --- SelectFragment.cs 23 Jun 2004 21:08:58 -0000 1.4 *************** *** 15,19 **** private string suffix; private IList columns = new ArrayList(); ! private IList aliases = new ArrayList(); private IList columnAliases = new ArrayList(); private Dialect.Dialect dialect; --- 15,19 ---- private string suffix; private IList columns = new ArrayList(); ! //private IList aliases = new ArrayList(); private IList columnAliases = new ArrayList(); private Dialect.Dialect dialect; *************** *** 49,54 **** public SelectFragment AddColumn(string tableAlias, string columnName, string columnAlias) { ! columns.Add(columnName); ! aliases.Add(tableAlias); columnAliases.Add(columnAlias); return this; --- 49,61 ---- public SelectFragment AddColumn(string tableAlias, string columnName, string columnAlias) { ! if(tableAlias==null || tableAlias==String.Empty) ! { ! columns.Add(columnName); ! } ! else ! { ! columns.Add(tableAlias + StringHelper.Dot + columnName); ! } ! columnAliases.Add(columnAlias); return this; *************** *** 68,71 **** --- 75,100 ---- } + public SelectFragment AddFormulas(string tableAlias, string[] formulas, string[] formulaAliases) + { + for(int i=0; i < formulas.Length; i++) + { + AddFormula(tableAlias, formulas[i], formulaAliases[i]); + } + + return this; + } + + public SelectFragment AddFormula(string tableAlias, string formula, string formulaAlias) + { + + AddColumn( + null, + StringHelper.Replace(formula, Template.PlaceHolder, tableAlias), + formulaAlias); + + return this; + } + + public SqlString ToSqlStringFragment() { *************** *** 83,88 **** if(i > 0 || includeLeadingComma) buf.Append(StringHelper.CommaSpace); ! string alias = aliases[i] as string; ! if (alias!=null) buf.Append(alias).Append(StringHelper.Dot); string columnAlias = columnAliases[i] as string; --- 112,117 ---- if(i > 0 || includeLeadingComma) buf.Append(StringHelper.CommaSpace); ! // string alias = aliases[i] as string; ! // if (alias!=null) buf.Append(alias).Append(StringHelper.Dot); string columnAlias = columnAliases[i] as string; |