Esempio n. 1
0
        private async void BtnSend_Click(object sender, RoutedEventArgs e)
        {
            TxtErrorResponse.Text       = string.Empty;
            TxtErrorResponse.Visibility = Visibility.Collapsed;

            TxtReturnedJSON.Text = string.Empty;

            switch (RestAction)
            {
            case REST.Actions.GET:

                string resp = await REST.Get(REST.ConnectionString(App.Settings.RESTHost, ResourcePanel.Text), TxtPassword.Password);

                if (REST.IsException)
                {
                    TxtErrorResponse.Text       = REST.RESTException.Message;
                    TxtErrorResponse.Visibility = Visibility.Visible;
                }

                else
                {
                    if (resp.StartsWith("{\"code") || resp.StartsWith("<html>"))
                    {
                        TxtErrorResponse.Text       = resp;
                        TxtErrorResponse.Visibility = Visibility.Visible;
                        return;
                    }
                    TxtReturnedJSON.Text = resp;
                    DeserializeJSONtoDataGrid((REST.Command)((TreeViewItem)TrvCommandList.SelectedItem).Tag, resp);
                }
                break;

            case REST.Actions.PUT:
                TxtErrorResponse.Text = await REST.Put(REST.ConnectionString(App.Settings.RESTHost, ResourcePanel.Text), TxtPassword.Password, StkJsonData.Text);

                TxtErrorResponse.Visibility = Visibility.Visible;
                break;

            case REST.Actions.POST:
                TxtErrorResponse.Text = await REST.Post(REST.ConnectionString(App.Settings.RESTHost, ResourcePanel.Text), TxtPassword.Password, StkJsonData.Text);

                TxtErrorResponse.Visibility = Visibility.Visible;
                break;

            case REST.Actions.DELETE:
                TxtErrorResponse.Text = await REST.Delete(REST.ConnectionString(App.Settings.RESTHost, ResourcePanel.Text), TxtPassword.Password);

                TxtErrorResponse.Visibility = Visibility.Visible;
                break;

            case REST.Actions.STREAM:
                if (Stream == null)
                {
                    Stream = await REST.Stream(REST.ConnectionString(App.Settings.RESTHost, ResourcePanel.Text), TxtPassword.Password);

                    if (Stream.CanRead)
                    {
                        BeginReading();
                        StreamStarted();
                    }
                }
                else
                {
                    Stream.Close();
                    Stream = null;
                    StreamStoped();
                }
                break;
            }
        }