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; }
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 }); }