public async Task <ResponseQuery> Handle(RequestQuery query, ServerCallContext context)
        {
            var list         = new List <CallNumber>(_callNumberRepository.List().OrderBy(p => p.PhoneNumber));
            var resultString = JsonConvert.SerializeObject(list);

            return(ResponseHelper.Query.Ok(resultString.ToByteString()));
        }
示例#2
0
        public override void Initialize()
        {
            base.Initialize();

            state = new FoundationDataFileState
            {
                BaseDirectory = ParentControl.SourceLocation
            };
            Debug.Print(ParentControl.SourceLocation);

            outputDestinationTextBox.Text = ApplicationConfiguration.GetSetting(ApplicationConfiguration.OUTPOUT_PATH_KEY);

            try
            {
                //Bind Foundation List
                RequestQuery.RefreshFoundationData();

                foundationIdComboBox.DataSource    = RequestQuery.FoundationData;
                foundationIdComboBox.DisplayMember = "FoundationDisplayText";
                foundationIdComboBox.ValueMember   = "FoundationId";

                //Bind File Types

                /*	fileTypeComboBox.DataSource = new BindingSource(ApplicationConfiguration.FileMaskSettings, null);
                 * fileTypeComboBox.DisplayMember = "Key";
                 * fileTypeComboBox.ValueMember = "Value";*/
            }
            catch (Exception eError)
            {
                MessageBox.Show(this, string.Format(FILE_COPY_ERROR_FORMAT, eError.Message), FILE_COPY_CAPTION, MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }
        }
示例#3
0
        public override void Initialize()
        {
            base.Initialize();

            fileOutput = new StringBuilder();

            state = new FoundationDataFileState
            {
                BaseDirectory = ParentControl.SourceLocation
            };

            moveLocationTextBox.Text = ApplicationConfiguration.GetSetting(ApplicationConfiguration.OUTPOUT_PATH_KEY);

            moveFilesButton.Enabled     = !string.IsNullOrWhiteSpace(moveLocationTextBox.Text) && state.SequesterFiles.Any();
            moveFilesBackButton.Enabled = false;

            try
            {
                RequestQuery.RefreshFoundationData();
                foundationIdComboBox.DataSource    = RequestQuery.FoundationData;
                foundationIdComboBox.DisplayMember = "FoundationDisplayText";
                foundationIdComboBox.ValueMember   = "FoundationId";
            }
            catch (Exception eError)
            {
                MessageBox.Show(this, string.Format(FILE_MOVE_ERROR_FORMAT, eError.Message), FILE_MOVE_CAPTION, MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }
        }
示例#4
0
        public void Search1()
        {
            var trust  = TrustBuilder.CreateTrust("A", "B", TrustBuilder.CreateTrustTrue());
            var trusts = new List <TrustModel>();

            trusts.Add(trust);

            var search = BuildSearch(trusts);
            var query  = new RequestQuery();

            query.Issuers = new List <byte[]>();
            query.Issuers.Add(trust.Issuer.Id);
            query.Subjects = new List <SubjectQuery>();
            query.Subjects.Add(new SubjectQuery {
                Id = trust.Issuer.Subjects[0].Id, Type = trust.Issuer.Subjects[0].IdType
            });
            query.Scope = trust.Issuer.Subjects[0].Scope;
            query.Claim = trust.Issuer.Subjects[0].Claim;

            var json = JsonConvert.SerializeObject(query, Formatting.Indented);

            Console.WriteLine(json);

            var result = search.Query(query);

            Assert.NotNull(result.Nodes);
            PrintResult(result.Nodes, search.GraphService, 1);
        }
示例#5
0
 internal OwinRequest(OwinEnvironment owner)
 {
     env     = owner;
     Headers = new RequestHeaders(env);
     Query   = new RequestQuery(env);
     Cookies = new RequestCookies(env);
     Body    = env.Get <System.IO.Stream>(Owin.RequestBody);
 }
示例#6
0
        public void Verify(RequestQuery query)
        {
            //if (query.Issuer.Length != 20)
            //    throw new ApplicationException("Invalid byte length on Issuer");

            // Script definition specifies this
            //if (query.Subjects.Length != 20)
            //    throw new ApplicationException("Invalid byte length on Issuer");
        }
示例#7
0
        public async Task <ResponseQuery> SendQuery(RequestQuery query)
        {
            Request request = new Request();

            request.Query = query;
            Response response = await proxy.SendRequest(request);

            return(response.Query);
        }
示例#8
0
        public async Task <ResponseQuery> SendQuery(RequestQuery query)
        {
            var request = new Request {
                Query = query
            };
            var response = await proxy.SendRequest(request);

            return(response.Query);
        }
示例#9
0
        public virtual Task <ResponseQuery> RequestQuery(RequestQuery req)
        {
            //var data = request.Data.;

            Console.WriteLine("Query: " + req.GetHashCode());
            return(Task.FromResult(new ResponseQuery
            {
                Code = CodeType.Ok
            }));
        }
        private void TextChanged_SourceFolder(object sender, EventArgs e)
        {
            string selectedPath = sourceLocationText.Text;

            if (selectedPath.EndsWith("\\"))
            {
                selectedPath = selectedPath.TrimEnd('\\');
            }

            if (selectedPath.IndexOfAny(Path.GetInvalidPathChars()) != -1)
            {
                string[] pathPartStrings = selectedPath.Split(Path.GetInvalidPathChars(), StringSplitOptions.RemoveEmptyEntries);
                selectedPath = string.Join("", pathPartStrings);
            }

            SetDisplayText(selectedPath);
            SetLocationSelection(sourceLocationText.Text);

            var urlKey = selectedPath.Split('\\')
                         .Last();

            state.ClientRootDirectory = selectedPath;
            state.FoundationUrlKey    = urlKey;
            state.FoundationId        = RequestQuery.GetFoundationId(urlKey);

            RequestQuery.RefreshFoundationProcessData(state.FoundationId);

            if (RequestQuery.FoundationProcessData.Rows.Count == 0)
            {
                processIdComboBox.DataSource = null;
                return;
            }

            processIdComboBox.DataSource    = RequestQuery.FoundationProcessData;
            processIdComboBox.DisplayMember = "ProcessDisplayText";
            processIdComboBox.ValueMember   = "ProcessId";

            string[] validDirectories = { "answers", "documents" };
            fileTypeComboBox.DataSource = null;
            if (Directory.Exists(selectedPath))
            {
                List <string> directories = Directory.GetDirectories(string.Format("{0}", selectedPath))
                                            .ToList();
                for (int x = 0; x < directories.Count(); ++x)
                {
                    directories[x] = new DirectoryInfo(directories[x]).Name;
                }

                directories = directories.Where(validDirectories.Contains)
                              .ToList();
                directories.Insert(0, "All");
                fileTypeComboBox.DataSource    = directories;
                fileTypeComboBox.SelectedIndex = 0;
            }
        }
        public static async Task <List <Nodo> > BuscarNodosPorAspecto(Aspect aspecto)
        {
            RequestQuery  requestQuery  = new RequestQuery("ASPECT:'" + aspecto.PrefixedName + "'");
            SearchRequest searchRequest = new SearchRequest();

            searchRequest.Query = requestQuery;
            string searchRequestJson = JsonConvert.SerializeObject(searchRequest);
            string respuestaJson     = await busquedaServicio.Buscar(searchRequestJson);

            return(DeserializarArrayJson(respuestaJson));
        }
        public static async Task <List <Nodo> > BuscarNodosPorPropiedad(Property propiedad, string valorPropiedad)
        {
            RequestQuery  requestQuery  = new RequestQuery(propiedad.PrefixedName + ":" + valorPropiedad);
            SearchRequest searchRequest = new SearchRequest();

            searchRequest.Query = requestQuery;
            string searchRequestJson = JsonConvert.SerializeObject(searchRequest);
            string respuestaJson     = await busquedaServicio.Buscar(searchRequestJson);

            return(DeserializarArrayJson(respuestaJson));
        }
示例#13
0
        public IActionResult GetAllStories([FromBody] RequestQuery requestQuery)
        {
            if (requestQuery.PageNumber > 0)
            {
                requestQuery.PageNumber = (requestQuery.PageNumber - 1) * requestQuery.PageSize;
            }
            var stories = _db.Stories.Where(x => x.StoryName.Contains(requestQuery.StoryName))
                          .Skip(requestQuery.PageNumber).Take(requestQuery.PageSize).ToList();

            return(Ok(stories));
        }
        public static async Task <List <Nodo> > BuscarNodosPorTipo(Modelos.CMM.Type tipo)
        {
            RequestQuery  requestQuery  = new RequestQuery("TYPE:'" + tipo.PrefixedName + "'");
            SearchRequest searchRequest = new SearchRequest();

            searchRequest.Query = requestQuery;
            string searchRequestJson = JsonConvert.SerializeObject(searchRequest);
            string respuestaJson     = await busquedaServicio.Buscar(searchRequestJson);

            return(DeserializarArrayJson(respuestaJson));
        }
示例#15
0
        public override Task <ResponseQuery> Query(RequestQuery request, ServerCallContext context)
        {
            //var data = request.Data.;

            Logger.Debug("Query: " + request.Data);

            return(Task.FromResult(new ResponseQuery
            {
                Code = CodeType.Ok
            }));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="requestQuery"></param>
        /// <param name="activeTab"></param>
        /// <returns></returns>
        public async Task <ActionResult> GetMerchantMyOrders(RequestQuery requestQuery, string activeTab)
        {
            OrderDomainLogic orderDomainLogic = new OrderDomainLogic();
            var loggedInGuid = UserVariables.LoggedInUserGuid;
            var data         =
                await Task.Run(() =>
            {
                return(orderDomainLogic.GetMerchantOrders(loggedInGuid, requestQuery, activeTab));
            });

            return(Json(new { myOrderData = data }, JsonRequestBehavior.AllowGet));
        }
示例#17
0
        public IHttpActionResult ResolvePost([FromBody] RequestQuery query)
        {
            try
            {
                var result = Service.Query(query);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(new ExceptionResult(ex, this));
            }
        }
示例#18
0
        public async Task <ResponseQuery> Handle(RequestQuery query, ServerCallContext context)
        {
            var party = query.Data.ToStringUtf8();

            if (string.IsNullOrWhiteSpace(party))
            {
                return(new ResponseQuery());
            }

            var openRequests = _callNumberRepository.List().Where(number => number.Owner == party && number.TransferRequestStarted.HasValue).OrderBy(p => p.PhoneNumber);
            var jsonString   = JsonConvert.SerializeObject(openRequests);

            return(ResponseHelper.Query.Ok(jsonString.ToByteString()));
        }
        private IEnumerable <FileInfo> BuildFileInfoListToProcess()
        {
            RequestQuery.RefreshMergeTemplateData();
            IEnumerable <FileInfo> mergeTemplateInfo = FileProcessing.BuildMergeTemplateFileInfo(RequestQuery.MergeTemplateData, state.BaseDirectory);

            RequestQuery.RefreshCustomPrintPacketData();
            IEnumerable <FileInfo> customPrintPacketInfo = FileProcessing.BuildCustomPrintPacketInfo(RequestQuery.CustomPrintPacketData, state.BaseDirectory);

            var fileProcessingList = mergeTemplateInfo.Where(fileInfo => fileInfo.Exists).ToList();

            fileProcessingList.AddRange(customPrintPacketInfo.Where(fileInfo => fileInfo.Exists));

            return(fileProcessingList);
        }
示例#20
0
        public IHttpActionResult Get(string issuer, string subject, bool trust = true)
        {
            var query = new RequestQuery();

            query.Issuers = new List <Byte[]>();
            query.Issuers.Add(Convert.FromBase64String(issuer));

            query.Subjects = new List <SubjectQuery>();
            query.Subjects.Add(new SubjectQuery {
                Id = Convert.FromBase64String(subject), Type = ""
            });

            query.Claim = TrustBuilder.CreateTrustTrue();
            query.Scope = string.Empty; // Global

            return(ResolvePost(query));
        }
示例#21
0
        public QueryContext Query(RequestQuery query)
        {
            Verify(query);

            var context = new QueryContext(GraphService, query);

            if (context.IssuerIndex.Count > 0 && context.TargetIndex.Count > 0)
            {
                ExecuteQuery(context);
            }

            if (context.Results.Count > 0)
            {
                context.Nodes = BuildResultNode(context);//result.Node = BuildResultTree(context);
            }
            return(context);
        }
示例#22
0
        public void SearchRating1()
        {
            var trusts = new List <TrustModel>();

            var trustsource = TrustBuilder.CreateTrust("A", "B", TrustBuilder.CreateTrustTrue());

            trusts.Add(trustsource);
            trusts.Add(TrustBuilder.CreateTrust("B", "C", TrustBuilder.CreateTrustTrue()));
            var trusttarget = TrustBuilder.CreateTrust("C", "D", TrustBuilder.CreateRating(100));

            trusts.Add(trusttarget);
            trusts.Add(TrustBuilder.CreateTrust("B", "E", TrustBuilder.CreateTrustTrue()));
            trusts.Add(TrustBuilder.CreateTrust("E", "D", TrustBuilder.CreateRating(50)));
            trusts.Add(TrustBuilder.CreateTrust("B", "F", TrustBuilder.CreateTrustTrue()));
            trusts.Add(TrustBuilder.CreateTrust("F", "G", TrustBuilder.CreateTrustTrue()));
            trusts.Add(TrustBuilder.CreateTrust("G", "D", TrustBuilder.CreateRating(50)));
            trusts.Add(TrustBuilder.CreateTrust("A", "H", TrustBuilder.CreateTrustTrue()));
            trusts.Add(TrustBuilder.CreateTrust("H", "G", TrustBuilder.CreateTrustTrue()));
            trusts.Add(TrustBuilder.CreateTrust("G", "D", TrustBuilder.CreateRating(50)));

            var search = BuildSearch(trusts);
            var query  = new RequestQuery();

            var claim = TrustBuilder.CreateRating(0); // 0 is not used!

            query.Issuers = new List <byte[]>();
            query.Issuers.Add(trustsource.Issuer.Id);
            query.Subjects = new List <SubjectQuery>();
            query.Subjects.Add(new SubjectQuery {
                Id = trusttarget.Issuer.Subjects[0].Id, Type = trusttarget.Issuer.Subjects[0].IdType
            });

            query.Scope = trusttarget.Issuer.Subjects[0].Scope;
            query.Claim = claim;

            var result = search.Query(query);

            Assert.NotNull(result.Nodes);
            //Assert.IsTrue(result.Node.Children.Count == 1);
            //Assert.IsTrue(result.Node.Children[0].Children.Count == 0);

            //Console.WriteLine("Start id: "+search.GraphService.Graph.IdIndex[0].ConvertToHex()); // A
            PrintResult(result.Nodes, search.GraphService, 1);
            PrintJson(result.Nodes);
        }
        public async Task <ResponseQuery> Process(RequestQuery query, ServerCallContext context)
        {
            var possibleHandler = _queryHandlers.SingleOrDefault(handler => handler.Path == query.Path);

            if (possibleHandler != null)
            {
                var result = await possibleHandler.Handle(query, context);

                result.Height = _blockchainMetadata.Height;
                return(result);
            }

            return(new ResponseQuery()
            {
                Code = (uint)CodeType.Ok,
                Log = $"No handler found for {query.Path}"
            });
        }
示例#24
0
        private void requestQueueAdvance()
        {
            if (request_queue.Count == 0)            // Queue is empty.  Do nothing.
            {
                return;
            }

            RequestQuery query = request_queue.Dequeue();

            if (query.upload == true)              // A file has been queued to upload.
            {
                uploadFile(query.file_location);
            }
            else                 // A normal request has been queued.
            {
                callServerMethod(query.method, query.callback, query.arguments);
            }
        }
示例#25
0
 /// <summary>
 /// Method to handle multiple queries.
 /// </summary>
 /// <param name="query">Query to queue if the connector class accepts queuing.</param>
 /// <returns>True if the query is allowed to continue; False if the query must stop.</returns>
 /// <remarks>If the query argument is left null, the request is synchronous and an exception
 /// will be thrown if there is an active query.</remarks>
 private bool requestAlowed(RequestQuery query)
 {
     // Queue this up to be executed after the current request has finished.
     if (_is_active && _query_handling == ServerConnectorQueryHandling.queue)
     {
         request_queue.Enqueue(query);
         return(false);
     }
     else if (_is_active && (_query_handling == ServerConnectorQueryHandling.throw_error || query == null))
     {
         throw new ServerConnectorActiveException("Connector is currently executing a request.  Can only have one request running at a time.");
     }
     else
     {
         _is_active = true;
         return(true);
     }
 }
示例#26
0
        /// <summary>
        /// Begin upload of a file to the server.
        /// </summary>
        /// <param name="file_location">Local file location on the client computer.</param>
        ///
        public void uploadFile(string file_location)
        {
            RequestQuery queue_query = new RequestQuery()
            {
                upload        = true,
                file_location = file_location
            };

            if (requestAlowed(queue_query) == false)
            {
                return;
            }

            FileStream             fs   = new FileStream(file_location, FileMode.Open, FileAccess.Read, FileShare.Read);
            Uri                    uri  = buildUri("Files:upload");
            PostFileStreamDelegate post = new PostFileStreamDelegate(postFileStream);

            post.BeginInvoke(uri, fs, new AsyncCallback(postFileStreamResult), post);
        }
示例#27
0
        public Window1(string user, string URL)
        {
            this.username = user;
            new GameList();
            this.players_List = new List <String>();
            InitializeComponent();
            //this.chatList.Items.Add("Test:test");
            //pList.Add("anon");
            //this.playerList.Items.Add("Anon");
            //this.addGame("game1", "0.0.0.0");
            gameList.MouseDoubleClick += gameList_MouseDoubleClick;
            Closing += Window1_Closing;

            requestQuery = new RequestQuery(this.addMessageDelegate);

            new HTTP(requestQuery, URL);//this);
            this.Show();
            HTTP.sendToServer("type=player&subtype=all&username=" + username);
        }
        public static async Task <List <Nodo> > BuscarNodosPor1Propiedad(dynamic aspectoTipo,
                                                                         Property propiedad, string valorPropiedad1, string operacion)
        {
            string query = "";

            switch (operacion)
            {
            case "Menor que":
                query = "select * from " + aspectoTipo.PrefixedName + " where " +
                        propiedad.PrefixedName + "<'" + valorPropiedad1 + "'";
                break;

            case "Mayor que":
                query = "select * from " + aspectoTipo.PrefixedName + " where " +
                        propiedad.PrefixedName + ">'" + valorPropiedad1 + "'";
                break;

            case "Mayor o igual que":
                query = "select * from " + aspectoTipo.PrefixedName + " where " +
                        propiedad.PrefixedName + ">='" + valorPropiedad1 + "'";
                break;

            case "Menor o igual que":
                query = "select * from " + aspectoTipo.PrefixedName + " where " +
                        propiedad.PrefixedName + "<='" + valorPropiedad1 + "'";
                break;

            default:
                break;
            }
            RequestQuery requestQuery = new RequestQuery(query);

            requestQuery.Language = "cmis";
            SearchRequest searchRequest = new SearchRequest();

            searchRequest.Query = requestQuery;
            string searchRequestJson = JsonConvert.SerializeObject(searchRequest);
            string respuestaJson     = await busquedaServicio.Buscar(searchRequestJson);

            return(DeserializarArrayJson(respuestaJson));
        }
        public async Task <IActionResult> Post([FromBody] RequestQuery query)
        {
            var inputs = query.Variables.ToInputs();

            var schema = _schema;

            var result = await new DocumentExecuter().ExecuteAsync(_ =>
            {
                _.Schema        = schema;
                _.Query         = query.Query;
                _.OperationName = query.OperationName;
                _.Inputs        = inputs;
            }).ConfigureAwait(false);

            if (result.Errors?.Count > 0)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
示例#30
0
        private void EvaluateFiles()
        {
            Dictionary <string, string> fileList = RequestQuery.GetFoundationFileList(state.FoundationId);

            stateDataTextBox.Text = fileList.Any() ? "Processing..." : "No Files Found";

            if (fileList.Any())
            {
                try
                {
                    FileProcessing.ReconcileFileListToDatabase(state, fileList);
                }
                catch (Exception eError)
                {
                    MessageBox.Show(this, string.Format(EVALUATE_FILE_ERROR_FORMAT, eError.Message), EVALUATE_FILE_CAPTION,
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                LoadStateData();
            }
        }
示例#31
0
        /// <summary>
        /// Begin upload of a file to the server.
        /// </summary>
        /// <param name="file_location">Local file location on the client computer.</param>
        /// 
        public void uploadFile(string file_location)
        {
            RequestQuery queue_query = new RequestQuery() {
                upload = true,
                file_location = file_location
            };

            if(requestAlowed(queue_query) == false)
                return;

            FileStream fs = new FileStream(file_location, FileMode.Open, FileAccess.Read, FileShare.Read);
            Uri uri = buildUri("Files:upload");
            PostFileStreamDelegate post = new PostFileStreamDelegate(postFileStream);
            post.BeginInvoke(uri, fs, new AsyncCallback(postFileStreamResult), post);
        }
示例#32
0
        /// <summary>
        /// Asynchronously execute a method on the server and have a callback executed on a completed query.
        /// </summary>
        /// <param name="method">Method name to execute on the server.</param>
        /// <param name="callback">Delegate to call when the server request has been sent and the response has been read.</param>
        /// <param name="arguments">Arguments to pass to the method on the server.</param>
        public void callServerMethod(string method, ServerConnectorMethodCallback callback, params object[] arguments)
        {
            // Determine if multiple arguments are being passed or just one array.
            if(arguments.GetType().Equals(typeof(object[])) == false) {
                arguments = new object[] { arguments };
            }
            RequestQuery queue_query = new RequestQuery() {
                upload = false,
                method = method,
                callback = callback,
                arguments = arguments
            };

            if(requestAlowed(queue_query) == false)
                return;

            Uri uri = buildUri(method);
            GetResponseDelegate get = new GetResponseDelegate(getResponse);

            if(callback == null) {
                get.BeginInvoke(uri, arguments, new AsyncCallback(getResponseResult), get);

            } else {
                get.BeginInvoke(uri, arguments, new AsyncCallback(delegate(IAsyncResult result) {
                    GetResponseDelegate del = result.AsyncState as GetResponseDelegate;
                    ServerConnectorResponse server_response = del.EndInvoke(result);
                    callback(server_response);
                }), get);
            }
        }
示例#33
0
        /// <summary>
        /// Method to handle multiple queries.
        /// </summary>
        /// <param name="query">Query to queue if the connector class accepts queuing.</param>
        /// <returns>True if the query is allowed to continue; False if the query must stop.</returns>
        /// <remarks>If the query argument is left null, the request is synchronous and an exception
        /// will be thrown if there is an active query.</remarks>
        private bool requestAlowed(RequestQuery query)
        {
            // Queue this up to be executed after the current request has finished.
            if(_is_active && _query_handling == ServerConnectorQueryHandling.queue) {
                request_queue.Enqueue(query);
                return false;

            } else if(_is_active && (_query_handling == ServerConnectorQueryHandling.throw_error || query == null)) {
                throw new ServerConnectorActiveException("Connector is currently executing a request.  Can only have one request running at a time.");

            } else {
                _is_active = true;
                return true;
            }
        }