Example #1
0
        public CalculationResultViewModel CalculateSingle([FromBody] SingleCalculationRequestViewModel data)
        {
            var guidelineOfAnalytes = _dbContext.Set <Guideline>().Where(x => x.ShortCode == data.guidelineName).SelectMany(x => x.AnalyteGuidelines).ToList();
            var calculator          = new GuidelineValueCalculator();

            var requestData = ConstructRequestData(data);
            var results     = calculator.Calculate(requestData, guidelineOfAnalytes, DependentDecision.ExistingValue);

            var actualResult = results.Select(x => new CalculationResultViewModel
            {
                Analyte       = x.Analyte,
                Site          = x.Site,
                DateTime      = x.DateTime,
                Value         = x.Value,
                Unit          = x.Unit,
                Guideline     = x.GuidelineValueString,
                GuidelineUnit = x.GuidelineUnit,
                IsExceedance  = x.IsExceedance
            });

            return(actualResult.FirstOrDefault());
        }
Example #2
0
        private IEnumerable <GuidelineCalculationRequestViewModel> ConstructRequestData(SingleCalculationRequestViewModel data)
        {
            var result = new GuidelineCalculationRequestViewModel
            {
                Site        = "Test",
                Analyte     = data.analyte,
                DateTime    = DateTime.Now,
                MathE       = Math.E,
                Value       = data.value,
                PH          = data.pH,
                Chloride    = data.chloride,
                Hardness    = data.hardness,
                Unit        = data.unit,
                Temperature = data.temperature
            };

            return(new List <GuidelineCalculationRequestViewModel> {
                result
            });
        }