예제 #1
0
        /// <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));
        }