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;
 }
Exemple #2
0
        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;
 }