コード例 #1
0
        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);
        }
コード例 #2
0
 private static bool HasValidETestValue(EpsilometerTestViewModel eTestViewModel)
 {
     return(eTestViewModel.Antibiotic.HasValue && eTestViewModel.Measurement.HasValue);
 }