public static void ShowResponse(GetMetadataResponse response) { var i = 0; var f = String.Join(",", response.Metadataheaders); Console.WriteLine($"GetMetadataClientHandler[{f}]"); foreach (var ts in response.Seriesdata) { Console.WriteLine($"Sourcename[{i}]: {ts.Key.Sourcename}/{ts.Key.Seriesname}"); foreach (var pair in response.Metadataheaders.Zip(ts.Values, Tuple.Create)) { Console.WriteLine($" {pair.Item1}: {pair.Item2}"); } i++; } }
public static GetMetadataResponse CallGetMetadata(GetMetadataRequest request) { var response = new GetMetadataResponse(); try { var tssFactory = TimeseriesSourceFactory.Factory; //TODO [jc]: what do we do with the requestmetadata? response.Responsemetadata.Add(request.Requestmetadata); response.Metadataheaders.Add(request.Metadataheaders); foreach (var ssKey in request.Keys) { var tsList = tssFactory[ssKey.Sourcename].GetMetadata( new[] { new TimeseriesKey(ssKey.Seriesname) }, request.Metadataheaders); foreach (var ts in tsList) { var m = new MetadataList { Key = new SourceSeriesKey() { Sourcename = ts.SourceKey.Key.ToString(), Seriesname = ts.SeriesKey.Key } }; m.Values.AddRange(ts.Metadata.Values); response.Seriesdata.Add(m); } } } catch (Exception ex) { IOCContainer.Logger.Error(ex.Message); throw; } IOCContainer.Logger.Info($"GetMetadataResponse: {response.Seriesdata.Count} series found"); return(response); }