public QuerystringScope(ApiQueryTranslator queryTranslator, ApiQuerystringName querystringName) { _originalQuerystringName = queryTranslator._currentQueryStringName; _queryTranslator = queryTranslator; _queryTranslator._currentQueryStringName = querystringName; }
/// <summary> /// Appends the <c ref="term"/> to either the <c ref="Where"/> or <c ref="Order"/> clause. /// </summary> /// <param name="term">The term.</param> /// <param name="querystringName">Name of the querystring.</param> public void AppendTerm(string term, ApiQuerystringName querystringName) { switch (querystringName) { case ApiQuerystringName.Where: if (_lastWhereTerm == ")" && term == "(") { _whereQuery.Append(" AND "); } _whereQuery.Append(term); _lastWhereTerm = term; break; case ApiQuerystringName.OrderBy: if (_orderQuery.Length > 0 && term.Trim() != "DESC") { _orderQuery.Append(", "); } _orderQuery.Append(term); break; case ApiQuerystringName.Skip: _skipQuery.Remove(0, _skipQuery.Length); _skipQuery /*.Append("offset=")*/.Append(term); break; case ApiQuerystringName.Unknown: throw new NotImplementedException("Not sure what to do with: " + term); } }
/// <summary> /// Appends the <c ref="term"/> to either the <c ref="Where"/> or <c ref="Order"/> clause. /// </summary> /// <param name="term">The term.</param> /// <param name="querystringName">Name of the querystring.</param> public void AppendTerm( string term, ApiQuerystringName querystringName ) { switch ( querystringName ) { case ApiQuerystringName.Any: if ( _lastWhereTerm != ")" && term == "(" ) _whereQuery.Append( ".Any" ); _whereQuery.Append( term ); _lastWhereTerm = term; break; case ApiQuerystringName.Where: if ( _lastWhereTerm == ")" && term == "(" ) _whereQuery.Append( " AND " ); _whereQuery.Append( term ); _lastWhereTerm = term; break; case ApiQuerystringName.OrderBy: if ( _orderQuery.Length > 0 && term.Trim( ) != "DESC" ) _orderQuery.Append( ", " ); _orderQuery.Append( term ); break; case ApiQuerystringName.Skip: _skipQuery.Remove( 0, _skipQuery.Length ); _skipQuery/*.Append("offset=")*/.Append( term ); break; case ApiQuerystringName.Unknown: throw new NotImplementedException( "Not sure what to do with: " + term ); } }