/// <summary> ///Verifica se nome da especialidade foi preenchido, se ele respeita o limite de caracteres /// determinado no Database e se ele já foi cadastrado. Antes de alterar os dados da especialidade. /// </summary> /// <param name="entity">Objeto com os dados da especialidade.</param> /// <param name="id">Usado para buscar a especialidade no Database.</param> /// <returns>Seleciona a especialidade alterada no Database ou gera uma exceção.</returns> public Especialidade Alterar(int id, Especialidade entity) { Especialidade obj; //Verifica se existem campos vazios. if (CamposVazios.Verificar(entity)) { throw new DadoInvalidoException("O campo \"Nome\" é obrigatório e deve ser preenchido!"); } //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 a especialidade já não foi cadastrada. obj = _especialidadeRepositorio.SelecionarPorNome(entity.Nome); if (obj != null && obj.Id != id) { throw new ConflitoException($"A especialidade: \"{entity.Nome}\", já foi cadastrada!"); } entity.Id = id; _especialidadeRepositorio.Alterar(entity); return(_especialidadeRepositorio.SelecionarPorId(id)); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <param name="entity"></param> /// <returns></returns> public Especialidade Alterar(int id, Especialidade entity) { entity.Id = id; _especialidadeRepositorio.Alterar(entity); return(_especialidadeRepositorio.SelecionarPorId(id)); }