Exemplo n.º 1
0
        public override void Salvar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            CartaoCreditoPedido ccPedido = (CartaoCreditoPedido)entidade;

            pst.CommandText = "INSERT INTO tb_cc_pedido(pedido_fk, cc_fk, valor_pagto) " +
                              "VALUES (:1, :2, :3)";

            parameters = new NpgsqlParameter[]
            {
                new NpgsqlParameter("1", ccPedido.IdPedido),
                new NpgsqlParameter("2", ccPedido.CC.ID),
                new NpgsqlParameter("3", ccPedido.ValorCCPagto)
            };

            pst.Parameters.Clear();
            pst.Parameters.AddRange(parameters);
            pst.Connection  = connection;
            pst.CommandType = CommandType.Text;
            pst.ExecuteNonQuery();

            if (ctrlTransaction == true)
            {
                pst.CommandText = "COMMIT WORK";
                connection.Close();
            }

            return;
        }
Exemplo n.º 2
0
        protected void CheckoutBtn_Click(object sender, EventArgs e)
        {
            Pedido pedido = new Pedido();

            // pegando e adicionando usuário ao pedido
            pedido.Usuario = Context.User.Identity.Name;

            // pegando e adicionando endereço (ID) selecionado ao pedido
            pedido.EnderecoEntrega.ID = Convert.ToInt32(dropIdEnderecoEntrega.SelectedValue);

            // pegando e adicionando frete ao pedido
            float frete = (float)0.0;

            if (!lblFrete.Text.Trim().Equals("-"))
            {
                if (float.TryParse(lblFrete.Text.Remove(0, 3), out frete))
                {
                    pedido.Frete = frete;
                }
            }

            // pegando e adicionando total ao pedido
            float total = (float)0.0;

            if (!lblTotal.Text.Trim().Equals("-"))
            {
                if (float.TryParse(lblTotal.Text.Remove(0, 3), out total))
                {
                    pedido.Total = total;
                }
            }

            // Pegando e adicionando os item do carrinho em pedido
            foreach (CartItem cartItem in GetShoppingCartItems())
            {
                PedidoDetalhe detalhe = new PedidoDetalhe();
                detalhe.Livro.ID     = cartItem.livro_id;
                detalhe.Livro.Titulo = cartItem.titulo_livro;
                detalhe.Quantidade   = cartItem.quantidade;
                detalhe.ValorUnit    = cartItem.valor_venda;

                pedido.Detalhes.Add(detalhe);
            }

            CartaoCreditoPedido cartaoPedido = new CartaoCreditoPedido();

            if (Session["txtValorCCPagto1"] != null)
            {
                cartaoPedido.CC.ID = Convert.ToInt32(dropIdCC1.Text);
                decimal valorCC = 0;
                if (decimal.TryParse(Session["txtValorCCPagto1"].ToString(), NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out valorCC))
                {
                    cartaoPedido.ValorCCPagto = (float)valorCC;
                }
                pedido.CCs.Add(cartaoPedido);
            }

            cartaoPedido = new CartaoCreditoPedido();
            if (Session["txtValorCCPagto2"] != null)
            {
                cartaoPedido.CC.ID = Convert.ToInt32(dropIdCC2.Text);
                decimal valorCC = 0;
                if (decimal.TryParse(Session["txtValorCCPagto2"].ToString(), NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out valorCC))
                {
                    cartaoPedido.ValorCCPagto = (float)valorCC;
                }
                pedido.CCs.Add(cartaoPedido);
            }

            cartaoPedido = new CartaoCreditoPedido();
            if (Session["txtValorCCPagto3"] != null)
            {
                cartaoPedido.CC.ID = Convert.ToInt32(dropIdCC3.Text);
                decimal valorCC = 0;
                if (decimal.TryParse(Session["txtValorCCPagto3"].ToString(), NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out valorCC))
                {
                    cartaoPedido.ValorCCPagto = (float)valorCC;
                }
                pedido.CCs.Add(cartaoPedido);
            }

            cartaoPedido = new CartaoCreditoPedido();
            if (Session["txtValorCCPagto4"] != null)
            {
                cartaoPedido.CC.ID = Convert.ToInt32(dropIdCC4.Text);
                decimal valorCC = 0;
                if (decimal.TryParse(Session["txtValorCCPagto4"].ToString(), NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out valorCC))
                {
                    cartaoPedido.ValorCCPagto = (float)valorCC;
                }
                pedido.CCs.Add(cartaoPedido);
            }

            cartaoPedido = new CartaoCreditoPedido();
            if (Session["txtValorCCPagto5"] != null)
            {
                cartaoPedido.CC.ID = Convert.ToInt32(dropIdCC5.Text);
                decimal valorCC = 0;
                if (decimal.TryParse(Session["txtValorCCPagto5"].ToString(), NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out valorCC))
                {
                    cartaoPedido.ValorCCPagto = (float)valorCC;
                }
                pedido.CCs.Add(cartaoPedido);
            }

            if (Session["idCupomPromo"] != null)
            {
                pedido.CupomPromocional.ID = Convert.ToInt32(Session["idCupomPromo"]);
            }

            Cupom cupomTroca = new Cupom();

            if (Session["dropIdCupomTroca1"] != null)
            {
                cupomTroca.ID = Convert.ToInt32(Session["dropIdCupomTroca1"]);
                pedido.CuponsTroca.Add(cupomTroca);
            }

            cupomTroca = new Cupom();
            if (Session["dropIdCupomTroca2"] != null)
            {
                cupomTroca.ID = Convert.ToInt32(Session["dropIdCupomTroca2"]);
                pedido.CuponsTroca.Add(cupomTroca);
            }

            cupomTroca = new Cupom();
            if (Session["dropIdCupomTroca3"] != null)
            {
                cupomTroca.ID = Convert.ToInt32(Session["dropIdCupomTroca3"]);
                pedido.CuponsTroca.Add(cupomTroca);
            }

            cupomTroca = new Cupom();
            if (Session["dropIdCupomTroca4"] != null)
            {
                cupomTroca.ID = Convert.ToInt32(Session["dropIdCupomTroca4"]);
                pedido.CuponsTroca.Add(cupomTroca);
            }

            cupomTroca = new Cupom();
            if (Session["dropIdCupomTroca5"] != null)
            {
                cupomTroca.ID = Convert.ToInt32(Session["dropIdCupomTroca5"]);
                pedido.CuponsTroca.Add(cupomTroca);
            }

            // passando Status inicial para o pedido
            // Status.ID = 1 / EM PROCESSAMENTO
            pedido.Status.ID = 1;

            resultado = commands["SALVAR"].execute(pedido);
            if (!string.IsNullOrEmpty(resultado.Msg))
            {
                lblResultado.Visible = true;
                lblResultado.Text    = resultado.Msg;
            }
            else
            {
                Response.Redirect("./CheckoutReview.aspx?idPedido=" + pedido.ID);
            }

            //using (ShoppingCartActions usersShoppingCart = new ShoppingCartActions())
            //{
            //    Session["payment_amt"] = usersShoppingCart.GetTotal(); // falta frete
            //}
            //Response.Redirect("~/Checkout/CheckoutStart.aspx");
        }
Exemplo n.º 3
0
        public override List <EntidadeDominio> Consultar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            CartaoCreditoPedido ccPedido = (CartaoCreditoPedido)entidade;
            StringBuilder       sql      = new StringBuilder();

            sql.Append("SELECT * FROM cartao_pedido JOIN cartao_credito ON cartao_credito.id_cc = cartao_pedido.cc_fk ");
            sql.Append("JOIN bandeira ON bandeira.id_bandeira = cartao_credito.bandeira_cc_fk ");

            // WHERE sem efeito, usado apenas para poder diminuir o número de ifs da construção da query
            sql.Append("WHERE 1 = 1 ");

            if (ccPedido.ID != 0)
            {
                sql.Append("AND id_cc_pedido = ?1 ");
            }

            if (ccPedido.IdPedido != 0)
            {
                sql.Append("AND pedido_fk = ?2 ");
            }

            if (ccPedido.CC.ID != 0)
            {
                sql.Append("AND cc_fk = ?3 ");
            }

            if (ccPedido.ValorCCPagto != 0.0)
            {
                sql.Append("AND valor_pagto = ?4 ");
            }

            sql.Append("ORDER BY cartao_pedido.id_cc_pedido,cartao_pedido.pedido_fk,cartao_pedido.cc_fk ");

            pst.CommandText = sql.ToString();
            parameters      = new MySqlParameter[]
            {
                new MySqlParameter("?1", ccPedido.ID),
                new MySqlParameter("?2", ccPedido.IdPedido),
                new MySqlParameter("?3", ccPedido.CC.ID),
                new MySqlParameter("?4", ccPedido.ValorCCPagto)
            };

            pst.Parameters.Clear();
            pst.Parameters.AddRange(parameters);
            pst.Connection  = connection;
            pst.CommandType = CommandType.Text;

            reader = pst.ExecuteReader();

            // Lista de retorno da consulta do banco de dados, que conterá os cartões do cliente encontrados
            List <EntidadeDominio> ccPedidos = new List <EntidadeDominio>();

            while (reader.Read())
            {
                ccPedido          = new CartaoCreditoPedido();
                ccPedido.ID       = Convert.ToInt32(reader["id_cc_pedido"]);
                ccPedido.IdPedido = Convert.ToInt32(reader["pedido_fk"]);

                ccPedido.CC.ID              = Convert.ToInt32(reader["id_cc"]);
                ccPedido.CC.NomeImpresso    = reader["nome_impresso_cc"].ToString();
                ccPedido.CC.NumeroCC        = reader["numero_cc"].ToString();
                ccPedido.CC.Bandeira.ID     = Convert.ToInt32(reader["id_bandeira"]);
                ccPedido.CC.Bandeira.Nome   = reader["nome_bandeira"].ToString();
                ccPedido.CC.CodigoSeguranca = reader["codigo_seguranca_cc"].ToString();
                ccPedido.CC.DataVencimento  = Convert.ToDateTime(reader["dt_vencimento_cc"].ToString());

                ccPedido.ValorCCPagto = Convert.ToSingle(reader["valor_pagto"]);

                ccPedidos.Add(ccPedido);
            }
            connection.Close();
            return(ccPedidos);
        }