/// <summary> /// A collector is selected, update textboxes with selected collector. /// </summary> private void ListViewCollectors_ItemClick(object sender, ItemClickEventArgs e) { CollectorReported collectorReported = (CollectorReported)e.ClickedItem; CollectorNameInput.Text = collectorReported.Name; CollectorModeCombobox.SelectedIndex = (int)collectorReported.CollectorInners.traceMode; CollectorMaxSizeInput.Text = collectorReported.CollectorInners.logFileSizeLimitMB.ToString(); CollectorFolderNameInput.Text = collectorReported.CollectorInners.logFileFolder; CollectorFileNameInput.Text = collectorReported.CollectorInners.logFileName; CollectorStartedChckbx.IsChecked = collectorReported.CollectorInners.started; if (collectorReported.CollectorInners.providers.Count > 0) { var provider = collectorReported.CollectorInners.providers[0]; AddProviderChckbx_Checked(sender, e); ProviderGUIDInput.Text = provider.guid; ProviderTraceLevelCombobox.SelectedIndex = (int)provider.traceLevel; ProviderKeywordsInput.Text = provider.keywords; ProviderEnabledChckbx.IsChecked = provider.enabled; } else { AddProviderChckbx_Unchecked(sender, e); } }
/// <summary> /// Update collector list view with json parameter. /// </summary> /// <param name="token">The json object that describes the collector list.</param> private void EventTracingJsonToUI(JToken twinResult) { if (!(twinResult is JObject)) { _mainPage.ShowDialogAsync("Read Diagnistic Log Twin Error", "Invalid apps node json format!"); return; } List <CollectorReported> collectorList = new List <CollectorReported>(); List <EventTracingDataContract.CollectorInner> collectorInners = new List <EventTracingDataContract.CollectorInner>(); string lastChangeTime = string.Empty; JObject root = (JObject)twinResult; foreach (JToken p in root.Children()) { if (!(p is JProperty)) { continue; } JProperty childProperty = (JProperty)p; if (childProperty.Name == "lastChange") { var timeToken = childProperty.Value.SelectToken("time"); if (timeToken != null) { lastChangeTime = "Last Update: " + timeToken.ToString(); } } else { CollectorReported collectorReported = new CollectorReported(); collectorReported.Name = childProperty.Name; EventTracingDataContract.CollectorInner collectorInner = EventTracingDataContract.CollectorInner.FromJsonObject((JObject)childProperty.Value); collectorReported.CollectorInners = collectorInner; collectorList.Add(collectorReported); } } LastChangeTime.Text = lastChangeTime; CollectorsListView.ItemsSource = collectorList; }