public static void PopulateResultsForSample(ref Sample sample, bool excludeRejections) { if (!sample.HasResults) { sample.AddAnalysisResult(GetAllResultsForSample(sample.Id, excludeRejections)); } }
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()); }
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); }