0
I am doing the maintenance in a discount system of a customer, the same was already ready but not functional, only applied the validation of the discount if there was a single item.
What I need is to assemble a list that will be used by a query to query in the bank.
Dim produtoID As New List(Of Integer)()
Dim ProdutoBandeira As New List(Of Boolean)()
While (reader3.Read())
produtoID.Add(reader3.Item("ID"))
ProdutoBandeira.Add(reader3.Item("BandeiraProduto"))
End While
This is the moment where I need to create this list, unfortunately, it only exists if there is a single element
This is the complete code
Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim MyConnection = New OleDbConnection(CONEXAO)
MyConnection.Open()
Dim comando2 As New OleDbCommand
comando2.Connection = MyConnection
comando2.CommandText = "SELECT * from loja_codigo WHERE codigo = '" & cupomDesconto.Text & "'"
Dim reader2 As OleDbDataReader = comando2.ExecuteReader()
Dim desconto As Integer
Dim TipoCupom As Boolean
While reader2.Read
desconto = reader2.Item("Desconto")
TipoCupom = reader2.Item("BandeiraProduto")
End While
Dim MyConnection2 = New OleDbConnection(CONEXAO)
MyConnection2.Open()
Dim comando3 As New OleDbCommand
comando3.Connection = MyConnection
Dim listaProdutos As New List(Of String)()
For Each ObterProduto As String In Session("Produtos")
listaProdutos.Add(ObterProduto)
Next
comando3.CommandText = "SELECT * from Loja_Produtos WHERE Nome = '" & String.Join(",", listaProdutos.ToArray()) & "'"
Dim reader3 As OleDbDataReader = comando3.ExecuteReader()
Dim produtoID As New List(Of Integer)()
Dim ProdutoBandeira As New List(Of Boolean)()
While (reader3.Read())
produtoID.Add(reader3.Item("ID"))
ProdutoBandeira.Add(reader3.Item("BandeiraProduto"))
End While
Dim precoItem = FormatCurrency(CDec(RTotalPedido.Value))
Dim valorDesconto As Double
valorDesconto = precoItem - desconto
If desconto > 0 Then
If LValorPedido.Text.Contains("Desconto Aplicado") Then
Response.Write("<script language='javascript'>alert('Cupom Aplicado!');</script>")
End If
If Not LValorPedido.Text.Contains("Desconto Aplicado") Then
If (ProdutoBandeira.Contains(TipoCupom)) Then
LValorPedido.Text = "Desconto Aplicado! Desconto obtido: " & FormatCurrency(CDec(desconto)) & "<br /> Valor total do pedido: " & FormatCurrency(CDec(valorDesconto))
Else
LValorPedido.Text = "O desconto é aplicável para outra categoria de produtos"
End If
End If
ElseIf cupomDesconto.Text = "" Then
LValorPedido.Text = "Valor total do pedido: " & precoItem
Else
Response.Write("<script language='javascript'>alert('Cupom Inválido!');</script>")
Response.Write("<script language='javascript'>window.location='/carrinho.aspx';</script>")
End If
RTotalPedido.Value = precoItem - desconto
Session("valorDesconto") = -desconto
End Sub
I understood that the problem is how I am assembling the query: Dim listingQuery = String.Join(",", listProducts.Toarray()) command3.Commandtext = "SELECT * from Loja_products WHERE Name = '" & String.Join(",", listingProducts.Toarray()) & "'"
– Rafael Barbosa