/// <summary> /// Parse specific parameters /// </summary> /// <param name="metadata"></param> public override void ParseSpecific(IDictionary <string, string> metadata) { if (metadata.TryGetValue("DetPar", out var detparam)) { if (!string.IsNullOrEmpty(detparam)) { try { DetectorParameters = JsonConvert.DeserializeObject <DetectorDataDto>(detparam); } catch { Console.WriteLine("Cannot parse detector parameters in the NFT"); } } } if (metadata.TryGetValue("SrcPar", out var srcparam)) { if (!string.IsNullOrEmpty(srcparam)) { try { SourceParameters = JsonConvert.DeserializeObject <SourceParametersDto>(srcparam); } catch { Console.WriteLine("Cannot parse source parameters in the NFT"); } } } if (metadata.TryGetValue("PosPar", out var posparam)) { if (!string.IsNullOrEmpty(posparam)) { try { PositionerParameters = JsonConvert.DeserializeObject <PositionerParametersDto>(posparam); } catch { Console.WriteLine("Cannot parse detector parameters in the NFT"); } } } if (metadata.TryGetValue("DeviceName", out var dn)) { DeviceName = dn; } if (metadata.TryGetValue("DetectorName", out var detn)) { DetectorName = detn; } if (metadata.TryGetValue("SourceName", out var sn)) { SourceName = sn; } if (metadata.TryGetValue("PositionerName", out var posn)) { PositionerName = posn; } }
public override async Task Fill(INFT NFT) { await FillCommon(NFT); var nft = NFT as XrayNFT; DeviceName = nft.DeviceName; DetectorName = nft.DetectorName; SourceName = nft.SourceName; PositionerName = nft.PositionerName; DetectorParameters = nft.DetectorParameters; SourceParameters = nft.SourceParameters; PositionerParameters = nft.PositionerParameters; }