/// <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)); }
/// <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)); }
/// <summary> /// /// </summary> /// <param name="entity"></param> /// <returns></returns> public int Inserir(Consulta entity) { return(_consultaRepositorio.Inserir(entity)); }