示例#1
0
        /// <summary>
        /// Verifica se existem campos obrigatórios não preenchidos, se o ID do atendimento e do paciente
        /// são válidos e se os campos respeitam os limites de caracteres especificados no Database.
        /// Antes de inserir uma clínica.
        /// </summary>
        /// <param name="entity">Objeto com os dados da consulta.</param>
        /// <returns>ID da consulta inserida no Databse ou gera uma exceção.</returns>
        public int Inserir(Consulta entity)
        {
            //Verifica se existem campos vazios.
            if (CamposVazios.Verificar(entity))
            {
                throw new DadoInvalidoException("Existem campos obrigatórios que não foram preenchidos!");
            }

            //Verifica se nenhum campo do objeto entity excede o limite de caracteres estipulado no Database.
            if (ExcedeLimiteDeCaracteres.Verificar(entity))
            {
                throw new DadoInvalidoException("Existem campos que excedem o limite de caracteres permitidos!");
            }

            //Verifica se o ID do atendimento é válido.
            var RepositorioMedico = new AtendimentoRepositorio();

            if (RepositorioMedico.SelecionarPorId(entity.IdAtendimento) == null)
            {
                throw new DadoInvalidoException($"Não foi encontrado nenhum antendimento " +
                                                $"com o ID: {entity.IdAtendimento}");
            }

            //Verifica se o ID do paciente é válido.
            var RepositorioPaciente = new PacienteRepositorio();

            if (RepositorioPaciente.SelecionarPorId(entity.IdPaciente) == null)
            {
                throw new DadoInvalidoException($"Não foi encontrado nenhum paciente " +
                                                $"com o ID: {entity.IdAtendimento}");
            }

            return(_consultaRepositorio.Inserir(entity));
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public int Inserir(Consulta entity)
        {
            //Verifica campos nulos
            if (!VerificaCamposObrigatorios(entity))
            {
                throw new ConflitoException("Por favor preencha todos os campos obrigatórios !");
            }

            var consultaExistente = _ConsultaRepositorio.SelecionarConsultaPorDataEHoraEMedico(entity.DataConsulta, entity.Horario, entity.IdMedico);

            //Verifica Consultas ao mesmo tempo existente
            if (consultaExistente != null)
            {
                throw new ConflitoException($"Já existe uma consulta nesta Data e Horario com este médico!");
            }

            var MedicoDesativado = _ConsultaRepositorio.VerificaSeOMedicoEstaAtivo(entity.IdMedico);

            //Verifica Consultas ao mesmo tempo existente
            if (MedicoDesativado != null)
            {
                throw new ConflitoException($"Este médico esta desativado");
            }



            return(_ConsultaRepositorio.Inserir(entity));
        }
示例#3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 public int Inserir(Consulta entity)
 {
     return(_consultaRepositorio.Inserir(entity));
 }