public int CriarAcompanhante(Acompanhante acompanhante) { if (acompanhante == null) { throw new ArgumentNullException(nameof(acompanhante)); } var internacao = this._context.Internacoes.SingleOrDefault(i => i.Id == acompanhante.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.Acompanhantes.Add(acompanhante); this._context.SaveChanges(); } catch (RetryLimitExceededException ex) { this._logger.Error(ex.StackTrace); throw; } return acompanhante.Id; }
public JsonResult CriarAcompanhante(string jsonData) { try { var viewModel = JsonConvert.DeserializeObject<AcompanhanteViewModel>(jsonData); var acompanhante = new Acompanhante { Nome = viewModel.Nome, Documento = viewModel.Documento, DataNascimento = viewModel.DataNascimento, NomeMae = viewModel.NomeMae, NomePai = viewModel.NomePai, InternacaoId = viewModel.InternacaoId }; using (var servico = DependencyResolver.Current.GetService<IAcompanhanteService>()) { var acompanhanteId = servico.CriarAcompanhante(acompanhante); this.LogAcao(acompanhanteId); return this.Json(new { ok = true, id = acompanhanteId }); } } catch (Exception ex) { this._logger.Error(ex.StackTrace); } return this.Json(new { ok = false }); }