private static EventTracingDataContract.Provider ProviderFromMessage(ProviderConfiguration msgProvider) { EventTracingDataContract.Provider provider = new EventTracingDataContract.Provider(); provider.enabled = msgProvider.Enabled; provider.guid = msgProvider.Guid; provider.keywords = msgProvider.Keywords; provider.traceLevel = EventTracingDataContract.TraceLevelFromJsonString(msgProvider.TraceLevel); return(provider); }
private static ProviderConfiguration ProviderToMessage(EventTracingDataContract.Provider provider) { ProviderConfiguration msgProvider = new ProviderConfiguration(); msgProvider.Guid = provider.guid; msgProvider.TraceLevel = EventTracingDataContract.TraceLevelToJsonString(provider.traceLevel); msgProvider.Keywords = provider.keywords; msgProvider.Enabled = provider.enabled; return(msgProvider); }
/// <summary> /// Add / Edit a collector via device twin. /// </summary> private async void SetCollectorButton_ClickAsync(object sender, RoutedEventArgs e) { string collectorName = CollectorNameInput.Text; string collectorMaxSize = CollectorMaxSizeInput.Text; if (collectorName.Length == 0 || collectorMaxSize.Length == 0) { _mainPage.ShowDialogAsync("Invaid Input", "Please make sure Collector Name and Max Size is not empty"); return; } int collectorMaxFileSize = 0; if (!Int32.TryParse(CollectorMaxSizeInput.Text, out collectorMaxFileSize)) { _mainPage.ShowDialogAsync("Invaid Input", " Max Size is not Integer"); return; } EventTracingDataContract.CollectorInner collectorInner = new EventTracingDataContract.CollectorInner { name = collectorName, traceMode = EventTracingDataContract.TraceModeFromJsonString(CollectorModeCombobox.SelectedValue.ToString()), logFileSizeLimitMB = collectorMaxFileSize, logFileFolder = CollectorFolderNameInput.Text, logFileName = CollectorFileNameInput.Text, started = CollectorStartedChckbx.IsChecked == true }; if (AddProviderChckbx.IsChecked == true) { if (ProviderGUIDInput.Text.Length == 0) { _mainPage.ShowDialogAsync("Invaid Input", "Please make sure Provider GUID is not empty"); return; } EventTracingDataContract.Provider provider = new EventTracingDataContract.Provider(); provider.guid = ProviderGUIDInput.Text; provider.traceLevel = EventTracingDataContract.TraceLevelFromJsonString(ProviderTraceLevelCombobox.SelectedValue.ToString()); provider.keywords = ProviderKeywordsInput.Text; provider.enabled = ProviderEnabledChckbx.IsChecked == true; collectorInner.providers.Add(provider); } string refreshingValue = "\"refreshing\""; string finalValue = "{ \"eventTracingCollectors\" : {\"" + collectorName + "\": {\"applyProperties\" : " + JsonConvert.SerializeObject(collectorInner.ToJsonObject()) + ", \"reportProperties\": \"yes\"}}}"; await _mainPage.UpdateTwinData(refreshingValue, finalValue); }