public async Task <IEnumerable <ChromosomeSegment> > ListChromosomeSegmentsByMatchName() { if (TryGetStoredResult("ListChromosomeSegmentsByMatchName", out IEnumerable <ChromosomeSegment> cached)) { return(cached); } var result = await _service.ListChromosomeSegmentsByMatchName(); StoreResult("ListChromosomeSegmentsByMatchName", result); return(result); }
private void UpdateSegments(IEnumerable <Kit> kits) { _logger.LogInfo("Fetching segment information..."); var segments = _service.ListChromosomeSegmentsByMatchName().Result.ToArray(); var segmentMap = segments.ToLookup(s => NormalizeName(s.MatchName)); foreach (var kit in kits) { UpdateSegment(segmentMap, kit); } _logger.LogInfo($"Done processing segment information"); }