/// <summary>
        /// Verifica se o ID do TipoExame e da clínica são válidos e se os campos foram preenchidos.
        /// Antes de inserir os dados do valor de exame no Database.
        /// </summary>
        /// <param name="entity">Objeto com os dados do valor de exame.</param>
        /// <returns>ID do valorExame inserido no Databse ou gera uma exceção.</returns>
        public int Inserir(ValorExame entity)
        {
            //Verifica se existem campos vazios.
            if (CamposVazios.Verificar(entity))
            {
                throw new DadoInvalidoException("Existem campos obrigatórios que não foram preenchidos!");
            }

            //Verifica se o ID do TipoExame é válido.
            var RepositorioTipoExame = new TipoExameRepositorio();

            if (RepositorioTipoExame.SelecionarPorId(entity.IdTipoExame) == null)
            {
                throw new DadoInvalidoException($"Não foi encontrado nenhum Tipo de Exame " +
                                                $"com o ID: {entity.IdTipoExame}");
            }

            //Verifica se o ID da Clinica é válido.
            var RepositorioClinica = new ClinicaRepositorio();

            if (RepositorioClinica.SelecionarPorId(entity.IdClinica) == null)
            {
                throw new DadoInvalidoException($"Não foi encontrado nenhuma Clinica " +
                                                $"com o ID: {entity.IdClinica}");
            }

            //Verifica se o valor valor do exame é válido.
            if (entity.Valor <= 0)
            {
                throw new DadoInvalidoException($"O valor: \"{entity.Valor}\", é inválido!");
            }

            return(_valorExameRepositorio.Inserir(entity));
        }
示例#2
0
        /// <summary>
        /// Verifica se os campos obrigátorios foram preenchidos e se o ID do tipo de exame,
        /// do atentidmento e da consulta são válidos. Antes de alterar os dados do exame o Database.
        /// </summary>
        /// <param name="id">Usado prara buscar o exame.</param>
        /// <param name="entity">Objeto com os dados do Exame.</param>
        /// <returns>Seleciona o exame alterado no Database ou gera uma exceção.</returns>
        public Exame Alterar(int id, Exame entity)
        {
            //Verifica se existem campos vazios.
            if (CamposVazios.Verificar(entity))
            {
                throw new DadoInvalidoException("O campo DataHora é obrigatório e deve ser preenchido!");
            }

            //Verifica se existe o Id do TipoExame é válido.
            var RepositorioTipoExame = new TipoExameRepositorio();

            if (RepositorioTipoExame.SelecionarPorId(entity.IdTipoExame) == null)
            {
                throw new DadoInvalidoException($"Não foi encontrado nenhum Tipo de Exame " +
                                                $"com o ID: {entity.IdTipoExame}");
            }

            //Verifica se existe o Id do atendimento é válido.
            var RepositorioAtendimento = new AtendimentoRepositorio();

            if (RepositorioAtendimento.SelecionarPorId(entity.IdAtendimento) == null)
            {
                throw new DadoInvalidoException($"Não foi encontrado nenhuma Clínica" +
                                                $" com o ID: {entity.IdTipoExame}");
            }

            //Verifica se existe o Id da consulta é válido.
            var RepositorioConsulta = new ConsultaRepositorio();

            if (RepositorioConsulta.SelecionarPorId(entity.IdConsulta) == null)
            {
                throw new DadoInvalidoException($"Não foi encontrado nenhuma Clínica" +
                                                $" com o ID: {entity.IdConsulta}");
            }

            entity.Id = id;
            _exameRepositorio.Alterar(entity);

            return(_exameRepositorio.SelecionarPorId(id));
        }
示例#3
0
 /// <summary>
 /// Construtor para instaciar o repositório.
 /// </summary>
 public TipoExameNegocio()
 {
     _tipoExameRepositorio = new TipoExameRepositorio();
 }