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; }
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"); }
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); }