public PedidoInternacao GravarPedidoInternacao(PedidoInternacaoDTO objPedidoInternacao) { var pacienteCollection = GetCollection <Paciente>(); var pedidoInternacaoCollection = GetCollection <PedidoInternacao>(); var paciente = new Paciente { Codigo = pacienteCollection.EstimatedDocumentCount() + 1, DataNascimento = DateTime.Parse(objPedidoInternacao.Paciente.DataNascimento), Endereco = objPedidoInternacao.Paciente.Endereco, EstadoCivil = objPedidoInternacao.Paciente.EstadoCivil.ToString(), Nome = objPedidoInternacao.Paciente.Nome, NomeMae = objPedidoInternacao.Paciente.NomeMae, NumeroCpf = objPedidoInternacao.Paciente.Cpf, NumeroRg = objPedidoInternacao.Paciente.Rg, NumeroSus = objPedidoInternacao.Paciente.NumeroSus, Sexo = objPedidoInternacao.Paciente.Sexo }; var pedidoInternacao = new PedidoInternacao { Codigo = pedidoInternacaoCollection.EstimatedDocumentCount() + 1, Classificacao = objPedidoInternacao.CodigoClassificacao, CodigoUsuario = objPedidoInternacao.CodigoUsuario, DataHoraSolicitacao = DateTime.Now, MedicoSolicitante = objPedidoInternacao.NomeMedico, Motivo = objPedidoInternacao.Motivo, CodigoPaciente = paciente.Codigo, CodigoTipoLeito = objPedidoInternacao.CodigoTipoLeito }; var leitoDisponivel = VerificarLeitoDisponivel(pedidoInternacao.CodigoTipoLeito, pedidoInternacao.Classificacao, pedidoInternacao.DataHoraSolicitacao); if (leitoDisponivel != null) { pedidoInternacao.CodigoLeito = leitoDisponivel.Codigo; pedidoInternacao.CodigoStatusPedidoInternacao = (int)EnStatusPedidoInternacao.Atendimento; pedidoInternacao.DataInternacao = DateTime.Now; } else { pedidoInternacao.CodigoStatusPedidoInternacao = (int)EnStatusPedidoInternacao.Aberto; } pacienteCollection.InsertOne(paciente); pedidoInternacaoCollection.InsertOne(pedidoInternacao); return(pedidoInternacao); }
public PedidoInternacao Post([FromBody] PedidoInternacaoDTO objPedidoInternacao) { return(Action.GravarPedidoInternacao(objPedidoInternacao)); }