示例#1
0
        public void NewFindQuery(CollectionReference item, int?skip = null, int?limit = null)
        {
            var queryReference = QueryReference.Find(item, skip, limit);

            _applicationInteraction.OpenQuery(new RunQueryContext(item.Database, queryReference)
            {
                RunOnStart = true
            });
        }
示例#2
0
        /// <summary>
        /// Runs a message/query and returns the QueryResults
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public QueryResults RunQuery(QueryReference query)
        {
            //TODO - LORI - replace with a call to the service when it is done

            return(new QueryResults
            {
                Text = "My query results go here"
            });
        }
示例#3
0
        QueryMetadata IWebQueryManager.GetQueryMetadata(QueryReference queryRef, CommonOperationArguments otherArgs)
        {
            var result =
                Operation <WebQueryManagerAppService.GetQueryMetadataAppOperation, QueryMetadata>()
                .Invoke(
                    new GetQueryMetadataAppOperationOptions
            {
                QueryRef  = queryRef,
                OtherArgs = otherArgs
            },
                    this.OperationContext
                    );

            return(result);
        }
示例#4
0
        public override void WriteEndAttribute()
        {
            var value = _buffer.ToString();

            if (_meta.Peek() is string str &&
                str == "Item" &&
                _name == "type")
            {
                if (value == "qry_QueryItem")
                {
                    _meta.Pop();
                    var item = new QueryItem(_context);
                    _items.Add(item);
                    _meta.Push(item);
                }
                else if (value == "qry_QueryItemSelectProperty")
                {
                    _meta.Pop();
                    var select = new SelectExpression();
                    _meta.OfType <QueryItem>().Last().Select.Add(select);
                    _meta.Push(select);
                }
                else if (value == "qry_QueryItemSortProperty")
                {
                    _meta.Pop();
                    var orderBy = new SortedOrderBy();
                    _meta.OfType <QueryItem>().Last().OrderBy.Add(orderBy);
                    _meta.Push(orderBy);
                }
                else if (value == "qry_QueryParameter")
                {
                    _meta.Pop();
                    var param = new ParameterReference();
                    _parameters.Add(param);
                    _meta.Push(param);
                }
                else if (value == "qry_QueryReference")
                {
                    _meta.Pop();
                    var reference = new QueryReference();
                    _refs.Add(reference);
                    _meta.Push(reference);
                }
            }
            _attrBuffer[_name] = value;
            _buffer.Length     = 0;
        }
示例#5
0
        /// <summary>
        /// Submits the Query to the Message Switch Service
        /// </summary>
        /// <param name="query"></param>
        public void RunQuery(QueryReference query)
        {
            var results = _queryQueryService.RunQuery(query);

            Clients.Caller.reportResults(results);
        }
示例#6
0
        public async Task NewQuery(object item)
        {
            switch (item)
            {
            case DatabaseReference databaseReference:
                await _applicationInteraction.OpenQuery(new RunQueryContext(databaseReference));

                break;

            case CollectionReference collectionReference:
                await _applicationInteraction.OpenQuery(new RunQueryContext(collectionReference.Database, QueryReference.Find(collectionReference)));

                break;
            }
        }
 public QueryReferenceExpression(QueryReference reference)
 {
     QueryReference = reference;
 }