コード例 #1
0
 public static void PopulateResultsForSample(ref Sample sample, bool excludeRejections)
 {
     if (!sample.HasResults)
     {
         sample.AddAnalysisResult(GetAllResultsForSample(sample.Id, excludeRejections));
     }
 }
コード例 #2
0
        public static Sample[] ParseDataFromXml(string filePath)
        {
            List <Sample> samplesFromFile = new List <Sample>();
            XDocument     doc;

            doc = XDocument.Load(filePath);

            var LabReports =
                (from node in doc.Descendants(EN + "LabReport")
                 select node);

            foreach (var v in LabReports)
            {
                var Samples =
                    (from sam in v.Descendants(EN + "Sample")
                     select sam);
                foreach (var s in Samples)
                {
                    Sample currentSample = new Sample(v, EN, filePath);
                    samplesFromFile.Add(currentSample);
                    var SampleAnalysisResults =
                        (from res in v.Descendants(EN + "SampleAnalysisResults")
                         select res);
                    foreach (var r in SampleAnalysisResults)
                    {
                        Result currentResult = new Result(r, EN);
                        currentSample.AddAnalysisResult(currentResult);
                    }
                }
            }

            return(samplesFromFile.ToArray());
        }
コード例 #3
0
        public static List <Sample> GetSamplesForResults(List <Result> results, bool hideRejected)
        {
            List <Sample>            samples             = new List <Sample>();
            Dictionary <int, Sample> resultParentSamples = new Dictionary <int, Sample>();

            foreach (Result r in results)
            {
                Sample resultParentSample = GetParentSampleOfResult(r);
                if ((resultParentSample.DataValidation == true &&
                     (resultParentSample.XmlSamplingValidation == true || resultParentSample.XmlSamplingValidation == null) &&
                     hideRejected) ||
                    !hideRejected)
                {
                    if (resultParentSamples.ContainsKey(r.SampleId))
                    {
                        resultParentSamples[r.SampleId].AddAnalysisResult(r);
                    }
                    else
                    {
                        resultParentSample.AddAnalysisResult(r);
                        resultParentSamples.Add(resultParentSample.Id, resultParentSample);
                    }
                }
            }
            samples.AddRange(resultParentSamples.Values);
            return(samples);
        }