Пример #1
0
        public int AddIndicadorVital(IndicadorVital indicador)
        {
            if (indicador == null)
            {
                throw new ArgumentNullException(nameof(indicador));
            }

            var internacao = this._context.Internacoes.SingleOrDefault(i => i.Id == indicador.InternacaoId);
            if (internacao == null)
            {
                throw new BusinessException("Internação inválida!");
            }

            if (internacao.DataSaida.HasValue)
            {
                throw new BusinessException("Internação já encerrada!");
            }

            try
            {
                this._context.IndicadoresVitais.Add(indicador);
                this._context.SaveChanges();
            }
            catch (RetryLimitExceededException ex)
            {
                this._logger.Error(ex.StackTrace);
                throw;
            }

            return indicador.Id;
        }
Пример #2
0
        public JsonResult AddIndicadores(string jsonData)
        {
            try
            {
                var viewModel = JsonConvert.DeserializeObject<IndicadorVitalViewModel>(jsonData);
                var indicador = new IndicadorVital
                {
                    DataHora = DateTimeOffset.UtcNow,
                    Glicose = viewModel.Glicose,
                    PressaoSanguinea = viewModel.PressaoSanguinea,
                    FrequenciaCardiaca = viewModel.FrequenciaCardiaca,
                    InternacaoId = viewModel.InternacaoId
                };

                using (var servico = DependencyResolver.Current.GetService<IIndicadorVitalService>())
                {
                    var indicadorId = servico.AddIndicadorVital(indicador);
                    this.LogAcao(indicadorId);

                    return this.Json(new { ok = true });
                }
            }
            catch (Exception ex)
            {
                this._logger.Error(ex.StackTrace);
            }

            return this.Json(new { ok = false });
        }