public IResponse Alterar(IRequest request)
        {
            if (request is null)
            {
                AddNotification("Alterar", Message.OBJETO_X0_E_OBRIGATORIO.ToFormat("ProdutoAlterarRequest"));
            }
            if (IsInvalid())
            {
                return(null);
            }

            var requestClasse = (ProdutoAlterarRequest)request;

            _produto = _repository.ObterPorId(requestClasse.id);
            if (_produto == null)
            {
                AddNotification("Produto", Message.DADOS_NAO_ENCONTRADOS);
                return(null);
            }

            _produto.Alterar(requestClasse);
            _repository.Editar(_produto);

            return(new ResponseBase()
            {
                Mensagem = Message.OPERACAO_REALIZADA_COM_SUCESSO
            });
        }
        public ResponseBase Atualizar(ProdutoRequest request)
        {
            if (request == null)
            {
                AddNotification("request", Mensagem.X0_E_OBRIGATORIO.ToFormat("request"));
                return(null);
            }

            var entidade = _repositorioProduto.ObterPorId(request.Id);

            entidade.Atualizar(request.Nome, request.CategoriaId);
            AddNotifications(entidade);

            if (IsInvalid())
            {
                return(null);
            }

            _repositorioProduto.Editar(entidade);

            return(new ResponseBase(Mensagem.OPERACAO_REALIZADA_COM_SUCESSO));
        }