Esempio n. 1
0
            public QuerystringScope(ApiQueryTranslator queryTranslator, ApiQuerystringName querystringName)
            {
                _originalQuerystringName = queryTranslator._currentQueryStringName;
                _queryTranslator         = queryTranslator;

                _queryTranslator._currentQueryStringName = querystringName;
            }
Esempio n. 2
0
        /// <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 );

			}
		}