예제 #1
0
        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);
        }
예제 #2
0
 public PedidoInternacao Post([FromBody] PedidoInternacaoDTO objPedidoInternacao)
 {
     return(Action.GravarPedidoInternacao(objPedidoInternacao));
 }