コード例 #1
0
ファイル: MainForm.cs プロジェクト: davidyj/starhome
        TreeNode resolve_UOL(UOL u, TreeNode node)
        {
            string[] dirs	= u.uol.Split('/');
            node			= node.Parent;
            foreach(string dir in dirs){
                switch (dir) {
                    case "":
                        break;

                    case "..":
                        node = node.Parent;
                        break;

                    default:
                        node = FindNode(node, dir);
                        break;
                }
            }

            object tag = node.Tag;
            if(tag.GetType().Name == "UOL") {
                node = resolve_UOL((UOL)tag, node);
            }
            return node;
        }
コード例 #2
0
        protected void RetornoPagSeguro1_VendaEfetuada(UOL.PagSeguro.RetornoVenda retornoVenda)
        {
            #region Recuperando dados retornados pelo PagSeguro
            /*
            #region Detalhes da Transação
            //Obtendo o número do Pedido
            string codigo_pedido = retornoVenda.CodigoReferencia;

            //Obtendo o código da transação no PagSeguro
            string codigo_transacao_pagseguro = retornoVenda.CodigoTransacao;

            //Obtendo o novo status da transação
            StatusTransacao statusTransacao = retornoVenda.StatusTransacao;
            string statusDescricao = retornoVenda.StatusTransacaoDescricao;

            //Obtendo a data da transação
            DateTime dataTransacao = retornoVenda.Data;
            #endregion

            #region Detalhes do Pedido
            //Obtendo a forma de pagamento utilizada
            TipoPagamento tipo_pagamento = retornoVenda.TipoPagamento;
            string tipo_pagamento_descricao = retornoVenda.TipoPagamentoDescricao;

            //Obtendo o tipo do frete
            UOL.PagSeguro.TipoFreteRetorno tipoFrete = retornoVenda.TipoFrete;
            string tipoFreteDescricao = retornoVenda.TipoFreteDescricao;

            //Obtendo o valor pago pelo frete
            double frete_cobrado = retornoVenda.ValorFrete;

            //Obtendo extras
            double extras = retornoVenda.Extras;

            //Obtendo a anotação deixada pelo cliente no momento do pagamento
            string anotacao_cliente = retornoVenda.Anotacao;

            //Obtendo o número de itens vendidos
            int numItens = retornoVenda.Produtos.Sum(p => p.Quantidade);
            #endregion

            #region Detalhes do Cliente
            string cliBairro = retornoVenda.Cliente.Bairro;
            string cliCep = retornoVenda.Cliente.Cep;
            string cliCidade = retornoVenda.Cliente.Cidade;
            string cliComplementoEndereco = retornoVenda.Cliente.ComplementoEndereco;
            int cliDdd = retornoVenda.Cliente.DDD;
            string cliEmail = retornoVenda.Cliente.Email;
            string cliEndereco = retornoVenda.Cliente.Endereco;
            string cliNome = retornoVenda.Cliente.Nome;
            string cliNumero = retornoVenda.Cliente.Numero;
            string cliPais = retornoVenda.Cliente.Pais;
            int cliTelefone = retornoVenda.Cliente.Telefone;
            string cliUf = retornoVenda.Cliente.Uf;
            #endregion
            */
            #endregion

            #region Atualiza registros no banco de dados
            /*
            bool erro = false;
            #region Tabela produtos_vendas
            try
            {
                DataTable dtVendaExistente = Produtos_Vendas.selectByIdTransacao(codigo_transacao_pagseguro);
                if (dtVendaExistente != null && dtVendaExistente.Rows.Count == 0)
                {
                    //Nova venda
                    Produtos_Vendas.Inserir(null, codigo_transacao_pagseguro, tipoFreteDescricao, statusDescricao, tipo_pagamento_descricao, frete_cobrado.ToString("f2"), anotacao_cliente,
                                                                cliEmail, numItens.ToString(), retornoVenda);
                }
                else
                {
                    //Atualizar dados da venda
                    DataRow drVenda = dtVendaExistente.Rows[0];
                    string idVenda = drVenda["id"].ToString();
                    string statusTransacaoAntigo = drVenda["status_descricao"].ToString().ToLower();

                    Produtos_Vendas.UpdateById(idVenda, null, codigo_transacao_pagseguro, statusDescricao, tipo_pagamento_descricao, frete_cobrado.ToString("f2"), anotacao_cliente, cliEmail,
                        retornoVenda, statusTransacaoAntigo);
                }
            }
            catch
            {
                erro = true;
            }
            #endregion

            #region Tabela Cliente
            if (!erro)
            {
                DataTable dtClienteExistente = Clientes.SelectByEmail(cliEmail);
                if (dtClienteExistente != null && dtClienteExistente.Rows.Count == 0)
                {
                    //Novo Cliente
                    Clientes.Inserir(cliNome, cliEmail, cliEndereco, cliNumero, cliComplementoEndereco, cliBairro, cliCidade, cliUf, cliCep, string.Format("{0} {1}", cliDdd, cliTelefone), "1", "1");
                }
                else
                {
                    //Atualizar Dados do Cliente
                    DataRow drcliente = dtClienteExistente.Rows[0];
                    string idCliente = drcliente["cliente_id"].ToString();
                    Clientes.Atualizar(idCliente, cliNome, cliEmail, cliEndereco, cliNumero, cliComplementoEndereco, cliBairro, cliCidade, cliUf, cliCep, string.Format("{0} {1}", cliDdd, cliTelefone), "1", "1");
                }
            }
            #endregion
            */
            #endregion
        }