public static TSQLModel.SelectStatement EnsureSelectStatement(object expression) { if (expression == null) { throw new ArgumentNullException("expression"); } var result = expression as TSQLModel.SelectStatement; if (result == null) { var selectStatement = expression as SQLModel.SelectStatement; if (selectStatement != null) { result = new TSQLModel.SelectStatement(); if (selectStatement.Modifiers != null) { result.Modifiers = new Model.LanguageModifiers(); result.Modifiers.AddRange(selectStatement.Modifiers); } result.QueryExpression = selectStatement.QueryExpression; result.OrderClause = selectStatement.OrderClause; } if (result == null) { var queryExpression = expression as SQLModel.QueryExpression; if (queryExpression != null) { result = new TSQLModel.SelectStatement(); result.QueryExpression = queryExpression; } if (result == null) { var selectExpression = expression as SQLModel.SelectExpression; if (selectExpression != null) { result = new TSQLModel.SelectStatement(); result.QueryExpression = new SQLModel.QueryExpression(); result.QueryExpression.SelectExpression = selectExpression; } } } } if (result == null) { throw new InvalidOperationException(String.Format("Could not promote expression of type {0} to a SelectStatement.", expression.GetType().Name)); } return(result); }
public static TSQLModel.SelectStatement EnsureSelectStatement(object expression) { if (expression == null) { throw new ArgumentNullException("expression"); } var result = expression as TSQLModel.SelectStatement; if (result == null) { var selectStatement = expression as SQLModel.SelectStatement; if (selectStatement != null) { result = new TSQLModel.SelectStatement(); if (selectStatement.Modifiers != null) { result.Modifiers = new Model.LanguageModifiers(); result.Modifiers.AddRange(selectStatement.Modifiers); } result.QueryExpression = selectStatement.QueryExpression; result.OrderClause = selectStatement.OrderClause; } if (result == null) { var queryExpression = expression as SQLModel.QueryExpression; if (queryExpression != null) { result = new TSQLModel.SelectStatement(); result.QueryExpression = queryExpression; } if (result == null) { var selectExpression = expression as SQLModel.SelectExpression; if (selectExpression != null) { result = new TSQLModel.SelectStatement(); result.QueryExpression = new SQLModel.QueryExpression(); result.QueryExpression.SelectExpression = selectExpression; } } } } if (result == null) { throw new InvalidOperationException(String.Format("Could not promote expression of type {0} to a SelectStatement.", expression.GetType().Name)); } return result; }