private SoftDeleteObservableCollection <BloodPressureDto> GetBloodPressures(List <ResultDto> vitalSignResults, ref DateTime activityStartDate) { var bloodPressureDtos = new SoftDeleteObservableCollection <BloodPressureDto> (); var systolicBPResults = vitalSignResults.FindAll(vsr => vsr.ResultType.DisplayName == SystolicBP); var diastolicBPResults = vitalSignResults.FindAll(vsr => vsr.ResultType.DisplayName == DiastolicBP); var minCount = systolicBPResults.Count > diastolicBPResults.Count ? diastolicBPResults.Count : systolicBPResults.Count; if (minCount >= 1) { for (int i = 1; i <= minCount; i++) { SetActivityDate(systolicBPResults[i - 1], ref activityStartDate); var bloodPressureDto = CreateBloodPressureDto(systolicBPResults[i - 1], diastolicBPResults[i - 1]); if (bloodPressureDto != null) { bloodPressureDtos.Add(bloodPressureDto); } } } if (systolicBPResults.Count > minCount) { for (int i = minCount + 1; i <= systolicBPResults.Count; i++) { SetActivityDate(systolicBPResults[i - 1], ref activityStartDate); var bloodPressureDto = CreateBloodPressureDto(systolicBPResults[i - 1], null); if (bloodPressureDto != null) { bloodPressureDtos.Add(bloodPressureDto); } } } if (diastolicBPResults.Count > minCount) { for (int i = minCount + 1; i <= diastolicBPResults.Count; i++) { SetActivityDate(diastolicBPResults[i - 1], ref activityStartDate); var bloodPressureDto = CreateBloodPressureDto(null, diastolicBPResults[i - 1]); if (bloodPressureDto != null) { bloodPressureDtos.Add(bloodPressureDto); } } } return(bloodPressureDtos); }
private SoftDeleteObservableCollection <HeartRateDto> GetHeartRates(List <ResultDto> vitalSignResults, ref DateTime activityStartDate) { var heartRateDtos = new SoftDeleteObservableCollection <HeartRateDto>(); var heartRateResults = vitalSignResults.FindAll(vsr => vsr.ResultType.DisplayName == HeartRate); foreach (var heartRateResult in heartRateResults) { SetActivityDate(heartRateResult, ref activityStartDate); if (heartRateResult.ResultValue != null && heartRateResult.ResultValue.PhysicalQuantity != null && !string.IsNullOrEmpty(heartRateResult.ResultValue.PhysicalQuantity.Value)) { var dto = new HeartRateDto() { BeatsPerMinuteMeasure = GetNullableIntValue(heartRateResult.ResultValue.PhysicalQuantity.Value) }; heartRateDtos.Add(dto); } } return(heartRateDtos); }