protected ICollection <EpsilometerTestViewModel> EpsilometerTestsModelToViewModel(IEnumerable <EpsilometerTest> epsilometerTests) { var epsilometerTestViewModels = new List <EpsilometerTestViewModel>(); var availableAntibiotics = AvailableAntibiotics; var missingPrimaryAntibiotics = new List <Antibiotic>(primaryAntibiotics.Where(a => availableAntibiotics.Contains(a))); //First one is empty epsilometerTestViewModels.Add(new EpsilometerTestViewModel()); foreach (var epsilometerTest in epsilometerTests.OrderBy(e => e.EucastClinicalBreakpoint.Antibiotic, antibioticPriorityListComparer)) { var epsilometerTestViewModel = new EpsilometerTestViewModel { EucastClinicalBreakpointId = epsilometerTest.EucastClinicalBreakpointId, Measurement = epsilometerTest.Measurement, Result = epsilometerTest.Result, ReadonlyAntibiotic = true }; var eucastClinicalBreakpoint = epsilometerTest.EucastClinicalBreakpoint; if (eucastClinicalBreakpoint != null) { epsilometerTestViewModel.MicBreakpointResistent = eucastClinicalBreakpoint.MicBreakpointResistent; epsilometerTestViewModel.MicBreakpointSusceptible = eucastClinicalBreakpoint.MicBreakpointSusceptible; if (eucastClinicalBreakpoint.ValidFrom.HasValue) { epsilometerTestViewModel.ValidFromYear = eucastClinicalBreakpoint.ValidFrom.Value.Year; } epsilometerTestViewModel.Antibiotic = eucastClinicalBreakpoint.Antibiotic; missingPrimaryAntibiotics.Remove(eucastClinicalBreakpoint.Antibiotic); } epsilometerTestViewModels.Add(epsilometerTestViewModel); } epsilometerTestViewModels.AddRange( missingPrimaryAntibiotics.Select( missingPrimaryAntibiotic => new EpsilometerTestViewModel { Antibiotic = missingPrimaryAntibiotic, ReadonlyAntibiotic = true } )); epsilometerTestViewModels.OrderBy(e => e.Antibiotic.Value, antibioticPriorityListComparer); return(epsilometerTestViewModels); }
private static bool HasValidETestValue(EpsilometerTestViewModel eTestViewModel) { return(eTestViewModel.Antibiotic.HasValue && eTestViewModel.Measurement.HasValue); }