public HcpCarotidTestResult MapXmlToDomainObject(string filePathtoXml) { var testResult = new HcpCarotidTestResult(); var xDoc = XDocument.Load(filePathtoXml); testResult.LeftResultReadings = GetHcpCarotidTestReadings(xDoc, SideToCheckLeft); testResult.RightResultReadings = GetHcpCarotidTestReadings(xDoc, SideToCheckRight); if (testResult.LeftResultReadings != null) { if (testResult.LeftResultReadings.ICAEDV != null) { testResult.LeftResultReadings.ICAEDV.Label = ReadingLabels.LICAEDV; } if (testResult.LeftResultReadings.ICAPSV != null) { testResult.LeftResultReadings.ICAPSV.Label = ReadingLabels.LICAPSV; } } if (testResult.RightResultReadings != null) { if (testResult.RightResultReadings.ICAEDV != null) { testResult.RightResultReadings.ICAEDV.Label = ReadingLabels.RICAEDV; } if (testResult.RightResultReadings.ICAPSV != null) { testResult.RightResultReadings.ICAPSV.Label = ReadingLabels.RICAPSV; } } bool isExceptionCaused; testResult.ResultImages = _mediaHelper.GetMediaforTest(Directory.GetParent(filePathtoXml).Parent.FullName, _mediaLocation, TestType.HCPCarotid.ToString(), out isExceptionCaused).ToList(); if (isExceptionCaused) { _errorSummary += "Media Extraction Failed. "; } return(testResult); }
public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestsEntity) { var customerEventReadingEntities = customerEventScreeningTestsEntity.CustomerEventReading.ToList(); var testResult = new HcpCarotidTestResult(customerEventScreeningTestsEntity.CustomerEventScreeningTestId) { LeftResultReadings = new HcpCarotidTestReadings(), RightResultReadings = new HcpCarotidTestReadings() }; var standardFindingEntities = customerEventScreeningTestsEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList(); if (standardFindingEntities.Count > 0) { var customerEventStandardFindingEntities = customerEventScreeningTestsEntity.CustomerEventTestStandardFinding.ToList(); var leftFindingEntity = standardFindingEntities.Find(entity => entity.ReadingId.Value == (int)ReadingLabels.Left); var rightFindingEntity = standardFindingEntities.Find(entity => entity.ReadingId.Value == (int)ReadingLabels.Right); var velocityFindingLica = standardFindingEntities.Find(entity => entity.ReadingId == (int)ReadingLabels.LICAPSV); var velocityFindingRica = standardFindingEntities.Find(entity => entity.ReadingId == (int)ReadingLabels.RICAPSV); if (leftFindingEntity != null) { testResult.LeftResultReadings.Finding = new TestResultService().GetAllStandardFindings <decimal>((int)TestType.HCPCarotid, (int)ReadingLabels.Left). FirstOrDefault(standardFinding => standardFinding.Id == leftFindingEntity.StandardFindingId); if (testResult.LeftResultReadings.Finding != null) { testResult.LeftResultReadings.Finding.CustomerEventStandardFindingId = customerEventStandardFindingEntities.Find(standardFindingEntity => standardFindingEntity.StandardFindingTestReadingId == leftFindingEntity.StandardFindingTestReadingId).CustomerEventTestStandardFindingId; } } if (rightFindingEntity != null) { testResult.RightResultReadings.Finding = new TestResultService().GetAllStandardFindings <decimal>((int)TestType.HCPCarotid, (int)ReadingLabels.Right). FirstOrDefault(standardFinding => standardFinding.Id == rightFindingEntity.StandardFindingId); if (testResult.RightResultReadings.Finding != null) { testResult.RightResultReadings.Finding.CustomerEventStandardFindingId = customerEventStandardFindingEntities.Find(standardFindingEntity => standardFindingEntity.StandardFindingTestReadingId == rightFindingEntity.StandardFindingTestReadingId).CustomerEventTestStandardFindingId; } } if (velocityFindingLica != null) { testResult.LowVelocityLica = new TestResultService().GetAllStandardFindings <int>((int)TestType.HCPCarotid, (int)ReadingLabels.LICAPSV). Find(standardFinding => standardFinding.Id == velocityFindingLica.StandardFindingId); testResult.LowVelocityLica.CustomerEventStandardFindingId = customerEventStandardFindingEntities.Find(standardFindingEntity => standardFindingEntity.StandardFindingTestReadingId == velocityFindingLica.StandardFindingTestReadingId).CustomerEventTestStandardFindingId; } if (velocityFindingRica != null) { testResult.LowVelocityRica = new TestResultService().GetAllStandardFindings <int>((int)TestType.HCPCarotid, (int)ReadingLabels.RICAPSV). Find(standardFinding => standardFinding.Id == velocityFindingRica.StandardFindingId); testResult.LowVelocityRica.CustomerEventStandardFindingId = customerEventStandardFindingEntities.Find(standardFindingEntity => standardFindingEntity.StandardFindingTestReadingId == velocityFindingRica.StandardFindingTestReadingId).CustomerEventTestStandardFindingId; } } testResult.LeftResultReadings.ICAPSV = CreateResultReadingforNullableDecimal((int)ReadingLabels.LICAPSV, customerEventReadingEntities); testResult.LeftResultReadings.ICAEDV = CreateResultReadingforNullableDecimal((int)ReadingLabels.LICAEDV, customerEventReadingEntities); testResult.LeftResultReadings.CCAPSV = CreateResultReadingforNullableDecimal((int)ReadingLabels.LCCAPSV, customerEventReadingEntities); testResult.RightResultReadings.ICAPSV = CreateResultReadingforNullableDecimal((int)ReadingLabels.RICAPSV, customerEventReadingEntities); testResult.RightResultReadings.ICAEDV = CreateResultReadingforNullableDecimal((int)ReadingLabels.RICAEDV, customerEventReadingEntities); testResult.RightResultReadings.CCAPSV = CreateResultReadingforNullableDecimal((int)ReadingLabels.RCCAPSV, customerEventReadingEntities); testResult.VelocityElevatedOnRight = CreateResultReading((int)ReadingLabels.VelocityElevatedOnRight, customerEventReadingEntities); testResult.VelocityElevatedOnLeft = CreateResultReading((int)ReadingLabels.VelocityElevatedOnLeft, customerEventReadingEntities); testResult.TechnicallyLimitedbutReadable = CreateResultReading((int)ReadingLabels.TechnicallyLimitedbutReadable, customerEventReadingEntities); testResult.RepeatStudy = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities); var testImages = customerEventScreeningTestsEntity.TestMedia.ToList(); var fileEntityCollection = customerEventScreeningTestsEntity.FileCollectionViaTestMedia.ToList(); if (testImages.Count > 0) { var resultImages = new List <ResultMedia>(); testImages.ForEach(testMedia => resultImages.Add(new ResultMedia(testMedia.MediaId) { File = GetFileObjectfromEntity(testMedia.FileId, fileEntityCollection), Thumbnail = testMedia.ThumbnailFileId != null ? new File(testMedia.ThumbnailFileId.Value) : null, ReadingSource = testMedia.IsManual ? ReadingSource.Manual : ReadingSource.Automatic })); testResult.ResultImages = resultImages; } return(testResult); }