private bool IsMatched(string tdfFile, DateTime filterDate, string filterSampleId, out TdfInfo tdfInfo) { if (TdfParser.Parse(tdfFile, out tdfInfo)) { return tdfInfo != null && filterDate.Date == tdfInfo.ScannedTime.Date && (filterSampleId == null || filterSampleId == tdfInfo.SampleId); } return false; }
public static bool Parse(string file, out TdfInfo tdfInfo) { //scannedTime = DateTime.MaxValue; //sampleId = string.Empty; tdfInfo = null; try { using (var sr = new StreamReader(file)) { var content = sr.ReadToEnd(); var m = TdfRegex.Match(content); if (m.Success) { tdfInfo = new TdfInfo { GelId = m.Groups[1].Value, SampleNum = m.Groups[2].Value, ScannedTime = DateTime.Parse(m.Groups[3].Value), SampleId = m.Groups[6].Value != string.Empty ? m.Groups[6].Value : m.Groups[7].Value, BdfFilePath = Path.ChangeExtension(file, ".BDF") }; if (tdfInfo.SampleId == "") { var s = PatientIdRegex.Match(content); if (s.Success) { tdfInfo.SampleId = s.Groups[2].Value; } } return true; } } } catch (Exception) { } return false; }
/// <summary> /// 获取病人信息 /// </summary> /// <param name="filterDate"></param> /// <param name="filterSampleId"></param> /// <returns></returns> public static PatientInfo GetSampleInfo(TdfInfo tdfInfo) { var sampleResult = BdfParser.Parse(tdfInfo.BdfFilePath); sampleResult.BasicInfo.ScannedTime = tdfInfo.ScannedTime; return sampleResult; }