Beispiel #1
0
        public IActionResult EstornarProduto(uint idTransacao, uint idProduto)
        {
            try
            {
                PagarMeService.DefaultApiKey = _configuration.GetValue <string>("Pagamento:DefaultApiKey");

                var produtoPedido = _reposPedido.BuscarProdutoPedido(idProduto);
                var valorEstorno  = Convert.ToInt32((produtoPedido.Valor * produtoPedido.Quantidade).ToString().Replace(".", ""));

                var transacao = PagarMeService.GetDefaultService().Transactions.Find(idTransacao.ToString());
                transacao.Refund(valorEstorno);

                produtoPedido.Situacao        = (byte)Global.Produto.Cancelado;
                produtoPedido.DataAtualizacao = DateTime.Now;

                if (_reposPedido.AtualizarProdutoPedido(produtoPedido) > 0)
                {
                    var produto = _reposProduto.Buscar(produtoPedido.IdProduto);
                    produto.Estoque += produtoPedido.Quantidade;

                    if (_reposProduto.Atualizar(produto) > 0)
                    {
                        GerarLog((byte)Global.Entidade.Pedido, (byte)Global.Acao.Editar, Convert.ToUInt32(transacao.Id));
                        return(Json(Global.Mensagem.SucessoOperacao));
                    }
                }

                return(BadRequest(Global.Mensagem.FalhaAtualizacao));
            }
            catch (Exception erro)
            {
                GerarLogErro(erro, (byte)Global.Entidade.Pedido, (byte)Global.Acao.Editar);
                return(BadRequest(Global.Mensagem.FalhaBanco));
            }
        }
        public IActionResult Atualizar(Produto produto)
        {
            try
            {
                produto.IdUsuario = _sessao.UsuarioSessao().IdUsuario;

                if (_reposProduto.Atualizar(produto) > 0)
                {
                    GerarLog((byte)Global.Entidade.Produto, (byte)Global.Acao.Editar, produto.IdProduto);
                    return(Json(produto.IdProduto));
                }

                return(BadRequest(Global.Mensagem.FalhaAtualizacao));
            }
            catch (Exception erro)
            {
                GerarLogErro(erro, (byte)Global.Entidade.Produto, (byte)Global.Acao.Editar);
                return(BadRequest(Global.Mensagem.FalhaBanco));
            }
        }