public async Task ParseQueryForArray() { var queryIds = Enumerable.Range(0, 10).Select(i => Guid.NewGuid()).ToArray(); var query = new ExampleQuery() { Id = queryIds }; bool ran = false; Func <Guid, Task <HttpResponseMessage> > assert = (id) => { Assert.Fail(); return(default(HttpResponseMessage).ToTask()); }; Func <Guid[], Task <HttpResponseMessage[]> > assertMulti = (ids) => { Assert.AreEqual(queryIds.Length, ids.Length); ran = true; return(default(HttpResponseMessage[]).ToTask()); }; var request = new HttpRequestMessage(HttpMethod.Get, "http://example.com/foo/" + queryIds.Select(id => id.ToString()) .Join(",")); request.SetConfiguration(new System.Web.Http.HttpConfiguration()); await query.ParseAsync(request, (q) => assert(q.Id.ParamSingle()), (q) => assert(q.AssociatedId.ParamSingle()), (q) => assertMulti(q.Id.ParamOr())); Assert.IsTrue(ran); }
public async Task ParseQueryForAssociatedId() { var queryId = Guid.NewGuid(); var query = new ExampleQuery() { AssociatedId = queryId }; bool ran = false; Func <Guid, Task <HttpResponseMessage> > assert = (id) => { Assert.AreEqual(queryId, id); ran = true; return(default(HttpResponseMessage).ToTask()); }; var request = new HttpRequestMessage(HttpMethod.Get, "http://example.com/foo?associated_id=" + queryId.ToString()); request.SetConfiguration(new System.Web.Http.HttpConfiguration()); await query.ParseAsync(request, (q) => assert(q.Id.ParamSingle()), (q) => assert(q.AssociatedId.ParamSingle())); Assert.IsTrue(ran); }
public async Task <RequestResult <Example> > Handle(ExampleQuery request, CancellationToken cancellationToken) { var result = new RequestResult <Example>(); result.Payload = await _exampleRepository.FetchExample(request.Value); return(result); }
private async void Button_Click(object sender, RoutedEventArgs e) { AnimateLoadStart(); var progress = new MyProgressHandler(SynchronizationContext.Current); progress.ProgressReported += tuple => { LabelLoad.Text = String.Format("{0} / {1} ({2:.00}%)", tuple.Item1, tuple.Item2, tuple.Item1 * 100.0 / tuple.Item2); ProgressBarLoad.Maximum = tuple.Item2; ProgressBarLoad.Value = tuple.Item1; }; ProgressBarLoad.Value = 0; if (_cancellationTokenSource == null) { _cancellationTokenSource = new CancellationTokenSource(); } Session session; try { session = await FritzBox.ConnectAsync(TextBoxHost.Text, TextBoxPassword.Password, CancellationToken.None); } catch (OperationCanceledException) { return; } catch (Exception ex) { AnimateLoadStop(); MessageBox.Show(this, ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); return; } LabelLoad.Text = session.Id; var data = new ExampleQuery(); try { await session.QueryAsync(data, _cancellationTokenSource.Token, progress); } catch (OperationCanceledException) { return; } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); return; } finally { AnimateLoadStop(); } // Use data ... //MessageBox.Show(this, data.DslamVendor); var newWindow = new DetailWindow(); newWindow.DetailCollection.Clear(); FillDetailCollection(newWindow.DetailCollection, data); newWindow.Show(); }
public IActionResult Get([FromQuery] ExampleQuery query) { if (query == null || (query.Token == null && query.SymbolId == null)) { throw new Shared.Exceptions.InvalidResource() { ResourceName = "", PropertyName = "Must specify at lease one query parameter", ResourceType = typeof(Data.Models.Examples.Example) } } ; if (query.SymbolId != null) { return(Json(Models.Output.Examples.Example.CreateModels(_manager.GetForSymbol(query.SymbolId.Value)))); } else { return(Json(Models.Output.Examples.Example.CreateModels(_manager.Get(e => e.Description.Contains(query.Token))))); } } }
private void FillDetailCollection(ObservableCollection <DetailsDataRow> collection, ExampleQuery data) { // FW collection.Add(new DetailsDataRow("Firmware", data.Firmware)); // DSL-Driver collection.Add(new DetailsDataRow("DSL-Treiber", data.DslDriver)); // DSLAM collection.Add(new DetailsDataRow("DSLAM", data.DslamVendor, data.DslamVendorVersion)); collection.Add(new DetailsDataRow("", data.DslamVersion, data.DslamSerialNumber)); // MaxSync collection.Add(new DetailsDataRow("DSLAM-Datenrate Max.", String.Format("{0:#,0} kbit/s", data.Dsl.DsMaxDslamRate), String.Format("{0:#,0} kbit/s", data.Dsl.UsMaxDslamRate))); // MinSync collection.Add(new DetailsDataRow("DSLAM-Datenrate Min.", String.Format("{0:#,0} kbit/s", data.Dsl.DsMinDslamRate), String.Format("{0:#,0} kbit/s", data.Dsl.UsMinDslamRate))); // Capacity collection.Add(new DetailsDataRow("Leitungskapazität", String.Format("{0:#,0} kbit/s", data.Dsl.DsCapacity), String.Format("{0:#,0} kbit/s", data.Dsl.UsCapacity))); // Sync collection.Add(new DetailsDataRow("Synchronisation", String.Format("{0:#,0} kbit/s ({1:0.00}%)", data.Dsl.DsDataRate, data.Dsl.DsDataRate * 100.0 / data.Dsl.DsCapacity), String.Format("{0:#,0} kbit/s ({1:0.00}%)", data.Dsl.UsDataRate, data.Dsl.UsDataRate * 100.0 / data.Dsl.UsCapacity))); // Conversion collection.Add(new DetailsDataRow("", SyncToReal(data.Dsl.DsDataRate), SyncToReal(data.Dsl.UsDataRate))); // SNRM collection.Add(new DetailsDataRow("Störabstandsmarge (SNRM)", String.Format("{0} dB", data.Dsl.DsSnrm), String.Format("{0} dB", data.Dsl.DsSnrm))); // Attn collection.Add(new DetailsDataRow("Leitungsdämpfung", String.Format("{0} dB", data.Dsl.DsAttenuation), String.Format("{0} dB", data.Dsl.UsAttenuation))); collection.Add(new DetailsDataRow("Mittlere Dämpfung", String.Format("ca. {0:0.0} dB", (data.Dsl.DsAttenuation + data.Dsl.UsAttenuation) / 2.0), String.Empty)); // PCB collection.Add(new DetailsDataRow("Leistungsreduzierung (PCB)", String.Format("{0} dB", data.Dsl.DsPcb), String.Format("{0} dB", data.Dsl.UsPcb))); }