コード例 #1
0
        public bool Atualizar(ProdutoEditarComando comando)
        {
            Produto produtoDb = _repositorioProduto.BuscarPorId(comando.Id) ?? throw new ExcecaoNaoEncontrado();

            Mapper.Map <ProdutoEditarComando, Produto>(comando, produtoDb);

            return(_repositorioProduto.Atualizar(produtoDb));
        }
コード例 #2
0
        public void Produtos_InfraData_Deve_Buscar_Por_Um_Id_De_Produto()
        {
            //Cenario
            long idProcura = 1;
            //Ação
            var produto = _repositorio.BuscarPorId(idProcura);

            //Verifica
            produto.Should().NotBeNull();
            produto.Id.Should().Equals(idProcura);
        }
コード例 #3
0
        public void Produto_InfraData_Atualizar_Sucesso()
        {
            long idDoProdutoDaBaseSql = 1;

            Produto produtoResultadoDoBuscarParaAtualizar = _repositorio.BuscarPorId(idDoProdutoDaBaseSql);

            produtoResultadoDoBuscarParaAtualizar.Descricao = "Atualizado";

            _repositorio.Atualizar(produtoResultadoDoBuscarParaAtualizar);

            Produto resultado = _repositorio.BuscarPorId(produtoResultadoDoBuscarParaAtualizar.Id);

            resultado.Descricao.Should().Be(produtoResultadoDoBuscarParaAtualizar.Descricao);
            resultado.Codigo.Should().Be(produtoResultadoDoBuscarParaAtualizar.Codigo);
        }
コード例 #4
0
        public void Handle(ExcluirProdutoComando mensagem)
        {
            if (!ProdutoExistente(mensagem.Id, mensagem.TipoMensagem))
            {
                return;
            }
            var produtoAtual = _produtoRepositorio.BuscarPorId(mensagem.Id);


            produtoAtual.ExcluirProduto();
            _produtoRepositorio.Atualizar(produtoAtual);

            if (Commit())
            {
                _mediator.PublicarEvento(new ExcluidoProdutoEvento(mensagem.Id));
            }
        }
コード例 #5
0
        public Produto BuscarPorId(long id)
        {
            if (id < 1)
            {
                throw new ExcecaoIdentificadorIndefinido();
            }

            return(_produtoRepositorio.BuscarPorId(id));
        }
コード例 #6
0
        public void Produto_InfraData_Atualizar_Sucesso()
        {
            Produto produtoParaAdicionar = ObjectMother.ObterProdutoValido();

            Produto produtoParaAtualizar = _repositorio.Adicionar(produtoParaAdicionar);

            produtoParaAtualizar.Valor     = 1000;
            produtoParaAtualizar.Descricao = "Alterado";
            produtoParaAtualizar.Codigo    = "123456";

            _repositorio.Atualizar(produtoParaAtualizar);

            Produto produtoAtualizado = _repositorio.BuscarPorId(produtoParaAtualizar.Id);

            produtoAtualizado.Should().NotBeNull();
            produtoAtualizado.Valor.Should().Be(produtoParaAtualizar.Valor);
            produtoAtualizado.Valor.Should().NotBe(ObjectMother.ObterProdutoValido().Valor);
            produtoAtualizado.Descricao.Should().Be(produtoParaAtualizar.Descricao);
            produtoAtualizado.Codigo.Should().Be(produtoParaAtualizar.Codigo);
        }
コード例 #7
0
        public IActionResult Post([FromBody] ProdutoViewModel produtoViewModel)
        {
            if (!ModelStateValida())
            {
                return(Response());
            }

            var eventoCommand = _mapper.Map <RegistrarProdutoComando>(produtoViewModel);

            _mediator.EnviarComando(eventoCommand);
            var produto = _produtoRepositorio.BuscarPorId(produtoViewModel.Id);


            return(Response(_mapper.Map <ProdutoViewModel>(produto)));
        }
コード例 #8
0
        public IConsulta Executar(ProdutoDominio entidade)
        {
            try
            {
                var produto = _produtoRepositorio.BuscarPorId(entidade.Id);
                produto.Atualizar(entidade.Id, entidade.Nome, entidade.Preco, entidade.TipoPromocao);

                _produtoRepositorio.Atualizar(produto);

                return(new ProdutoConsultaResultado(produto));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #9
0
 public Produto BuscarPorId(int id)
 {
     return(produtoRepositorio.BuscarPorId(id));
 }