Exemplo n.º 1
0
        protected async Task HandleMuacAsync()
        {
            var isValid = EditContext.Validate();

            var watch = System.Diagnostics.Stopwatch.StartNew();

            try
            {
                LoadFailed = false;

                if (isValid)
                {
                    IsCalculating = true;

                    Tuple <double, double> muacTuple = await AnthroStatsService.GetMUAC(
                        FormModel.FormInputs.MUAC,
                        FormattableString.Invariant($"{FormModel.FormOutputs.Age.TotalDays}"),
                        FormModel.FormInputs.Sex).ConfigureAwait(false);

                    FormModel.FormOutputs.MuacZscore     = muacTuple.Item1;
                    FormModel.FormOutputs.MuacPercentile = muacTuple.Item2;

                    IsCalculating = false;
                }
                else
                {
                    LoadFailed = true;
                }
            }
            catch (ApplicationException ex)
            {
                LoadFailed = true;
                Error.ProcessError(ex);
                ErrorMessage = ex.Message;
                Logger.LogWarning(ex.Message);
            }

            watch.Stop();
            ExecutionTime = "- MUAC Click - " + watch.ElapsedMilliseconds + "ms";
        }