/// <summary> /// Verifica se o CNPJ não está cadastrado e se ele é válido, se existem campos obrigatórios /// sem serem preenchidos e se o telefone é válido. Antes de alterar uma clínica. /// </summary> /// <param name="entity">Objeto com os dados da clínica a ser inserida.</param> /// <returns>Seleciona a clínica alterada no Database ou gera alguma exceção.</returns> public Clinicas Alterar(int id, Clinicas entity) { Clinicas obj; //Verififica se há 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 CNPJ é válido e se ele já foi cadastrado if (ValidacaoCnpj.Verificar(entity.Cnpj) == false) { throw new DadoInvalidoException("CNPJ inválido!"); } else { obj = _clinicaRepositorio.SelecionarPorCnpj(entity.Cnpj); if (obj != null && obj.Id != id) { throw new ConflitoException("Já existe uma clínica registrada com este CNPJ!"); } } //Verifica se o formato e a quantidade de caracteres do telefone são válidos. if (TelefoneValido.Verificar(TelefoneValido.LimparFormatacao(entity.TelefoneCom)) == false) { throw new DadoInvalidoException($"O número de telefone:\"{entity.TelefoneCom}\" é inválido!"); } entity.Id = id; _clinicaRepositorio.Alterar(entity); return(_clinicaRepositorio.SelecionarPorId(id)); }
/// <summary> /// Verifica se o CNPJ não está cadastrado e se ele é válido, se existem campos obrigatórios /// sem serem preenchidos e se o telefone é válido. Antes de inserir uma clínica. /// </summary> /// <param name="entity">Objeto com os dados da clínica a ser inserida.</param> /// <returns>ID da clínica inserida no Database ou gera alguma exceção.</returns> public int Inserir(Clinicas entity) { //Verififica se há 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 a validação do CNPJ if (!ValidacaoCnpj.Verificar(entity.Cnpj)) { throw new DadoInvalidoException("CNPJ inválido!"); } //Verifica se o CNPJ já não está registrado. var obj = _clinicaRepositorio.SelecionarPorCnpj(entity.Cnpj); if (obj != null) { throw new ConflitoException("Já existe uma clínica registrada com este CNPJ!"); } //Verifica se o formato e a quantidade de caracteres do telefone são válidos. if (TelefoneValido.Verificar(TelefoneValido.LimparFormatacao(entity.TelefoneCom)) == false) { throw new DadoInvalidoException($"O número de telefone:\"{entity.TelefoneCom}\" é inválido!"); } return(_clinicaRepositorio.Inserir(entity)); }