예제 #1
0
        /// <summary>
        /// The parse filters.
        /// </summary>
        /// <param name="filterString">
        /// The filter string.
        /// </param>
        /// <param name="meta">
        /// The meta.
        /// </param>
        /// <returns>
        /// The <see cref="ITestApiQuery"/>.
        /// </returns>
        private ITestApiQuery ParseFilters(string filterString, IMetaDataEnvelope meta)
        {
            if (filterString.IsNullOrEmpty())
            {
                return(null);
            }

            meta.AddMetaDataInformation("filters", filterString);

            var filter = this._parser.Parse(filterString);

            return(filter);
        }
예제 #2
0
        public TestApiContext(
            IDictionary <string, string> queryParameters,
            int count,
            int offset,
            IQuery filters,
            AuthenticatedUser user,
            EntityId organizationalUnitId,
            EntityId repositoryId,
            IMetaDataEnvelope metaData,
            IEnumerable <string> warnings,
            IEnumerable <string> errors)
        {
            Ensure.Argument.IsNotNull(queryParameters, "queryParameters");

            this._queryParameters = queryParameters;

            this._stopWatch = Stopwatch.StartNew();
            this._warnings  = warnings.ToList();
            this._errors    = errors.ToList();

            this.Filters = filters;
            this.Count   = count;
            this.Offset  = offset;

            this.AuthenticatedUser    = user;
            this.OrganizationalUnitId = organizationalUnitId;
            this.RepositoryId         = repositoryId;

            this.MetaData = metaData;

            this.ParseQueryParameters(this._queryParameters);

            this.Include = this.ExtractFieldsAndRemoveFromQueryParametersFor("include", "*");
            this.Exclude = this.ExtractFieldsAndRemoveFromQueryParametersFor("exclude");

            this.Debug = new DebugInformation();
        }
예제 #3
0
 /// <summary>
 /// The populate meta data.
 /// </summary>
 /// <param name="metaData">
 /// The meta data.
 /// </param>
 /// <param name="context">
 /// The context.
 /// </param>
 /// <param name="filters">
 /// The filters.
 /// </param>
 private static void PopulateMetaData(IMetaDataEnvelope metaData, ITestApiContext context, string filters)
 {
     metaData.AddMetaDataInformation("count", context.Count);
     metaData.AddMetaDataInformation("offset", context.Offset);
     metaData.AddMetaDataInformation("filters", filters);
 }