Torna al Thread
Dim connString As String = WebConfigurationManager.ConnectionStrings("connessione").ToString()
Dim conn As New SqlConnection(connString)
conn.Open()
Dim MYSQL As String
Dim MYCMD As SqlCommand
Dim MYDR As SqlDataReader
MYSQL = "SELECT tab_prodotti_quantita.articolo_composto, tab_prodotti_quantita.articolo_componente, tab_prodotti_quantita.quantita_componente, " & _
"tab_prodotti_prezzi.quantita_prezzo " & _
"FROM tab_prodotti_prezzi INNER JOIN " & _
"tab_prodotti_quantita ON tab_prodotti_prezzi.codice_padre_prezzo = tab_prodotti_quantita.articolo_componente " & _
"WHERE tab_prodotti_quantita.articolo_composto = @articolo_composto"
MYCMD = New SqlCommand(MYSQL, conn)
MYCMD.Parameters.Add("articolo_composto", SqlDbType.NVarChar).Value = CodiceArticolo
MYDR = MYCMD.ExecuteReader
Dim MinimoAcquistabile, QuantitaMinima, QuantitaGiacenza As Integer
Dim MinimoMultiplo As Integer = 1000000
Dim ArrayDividendi As New ArrayList
Dim ValoreDivisione As Integer
Dim Interrompi As Boolean = False
If MYDR.HasRows = True Then
Do While MYDR.Read
QuantitaMinima = MYDR.Item("quantita_componente")
QuantitaGiacenza = MYDR.Item("quantita_prezzo")
If QuantitaGiacenza < QuantitaMinima Then
Interrompi = True
MinimoAcquistabile = 0
Exit Do
Else
ValoreDivisione = System.Math.Truncate(QuantitaGiacenza / QuantitaMinima)
ArrayDividendi.Add(ValoreDivisione)
End If
Loop
If Interrompi = False Then
For Each element As Integer In ArrayDividendi
MinimoMultiplo = Math.Min(MinimoMultiplo, element)
'Response.Write(element & "-" & MinimoMultiplo & "<br>")
Next
MinimoAcquistabile = MinimoMultiplo
End If
Else
MinimoAcquistabile = Quantita
End If
conn.Close()
Return MinimoAcquistabile