validar stock antes de cargar una grilla
Publicado por djnilo (24 intervenciones) el 07/03/2018 20:30:57
hola buenas tardes
tengo una aplicacion de pedidos pequeña vb 2015 sql 2014
tengo un problema validar que al presionar un boton que aumenta la cantidad de productos en grila valide que no supere el stock que tengo trate de hacerlo .
este es mi codigo
funcion que buscar por idproducto y lo carga
codigo que no funciona
cuando comparo la variable msaldo con cantidad no funciona
tengo una aplicacion de pedidos pequeña vb 2015 sql 2014
tengo un problema validar que al presionar un boton que aumenta la cantidad de productos en grila valide que no supere el stock que tengo trate de hacerlo .
este es mi codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Public Function RetreiveProductDetails(ProductID As Integer) As CpE_Cls_PRODUCTO
Dim Conn As New SqlConnection(Conexion.Connectionstring)
Dim Cmd As New SqlCommand
Dim Result As CpE_Cls_PRODUCTO = Nothing
Try
Conn.Open()
Cmd.CommandText = "SELECT IdProducto,Nombre,precio,stock From Producto Where IdProducto=@ProductID"
Cmd.CommandType = CommandType.Text
Cmd.Connection = Conn
Cmd.Parameters.Add("@ProductID", SqlDbType.Int).Value = ProductID
Dim reader As SqlDataReader = Cmd.ExecuteReader
Dim Productos As New List(Of CpE_Cls_PRODUCTO)
If reader.HasRows Then
Result = New CpE_Cls_PRODUCTO
If reader.Read Then
Result.idproducto = reader.GetInt32(0)
Result.Nombre = reader.GetString(1)
Result.precio = reader.GetDecimal(2)
reader.GetInt32(5)
Result.stock = reader.GetInt32(3)
End If
End If
reader.Close()
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
Return Result
End Function
funcion que buscar por idproducto y lo carga
1
2
3
4
Function BuscarProducto(ProductoId As Integer)
Dim objdatos As New CAPA_DATOS.CpD_Cls_PRODUCTO
Return objdatos.RetreiveProductDetails(ProductoId)
End Function
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Private Sub BtnAumentar_Click(sender As Object, e As EventArgs) Handles BtnAumentar.Click
Dim Producto As New CpE_Cls_PRODUCTO
Dim objProducto As New CpN_Cls_PRODUCTO
Dim mSaldo As Integer
Dim RowIndex As Integer = ProductsGridView.CurrentRow.Index
Dim ProductID As Integer = Convert.ToInt32(ProductsGridView.CurrentRow.Cells("IdProducto").Value)
If ProductsGridView.RowCount > 0 Then
ProductDetails = mostrar.BuscarProducto(ProductID)' carga los productos por el id seleccionado
Producto.stock = Convert.ToInt32(ProductsGridView.CurrentRow.Cells(3).Value)
mSaldo = Producto.stock ' msaldo seria variable que guarda para comparar con la cantidad
If myProducto.stock >= 1 Then
'If CheckProductAlreadyAdded(ProductID) Then
Dim Quantity As Integer = Convert.ToInt32(ProductsGridView.Rows(RowIndex).Cells("Cantidad").Value)
Dim Price As Decimal = Convert.ToInt32(ProductsGridView.Rows(RowIndex).Cells("Precio").Value)
Quantity += 1
'/////////// <Hacer esto ... Importante ... Tener una parte decimal en el precio total>
Dim TotalPrice As Double = Convert.ToDouble(Quantity * Price)
ProductsGridView.Rows(RowIndex).Cells("Cantidad").Value = Quantity
ProductsGridView.Rows(RowIndex).Cells("Importe").Value = TotalPrice
TotalBillBox.Text = CalculateTotalBill(ProductsGridView).ToString()
If Producto.stock >= mSaldo Then
MessageBox.Show("Se ha superado el stock", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Exit Sub
Else
ProductsGridView.Rows.Add(ProductID, ProductDetails.Nombre, ProductDetails.precio, 1, ProductDetails.precio * 1)
TotalBillBox.Text = CalculateTotalBill(ProductsGridView).ToString()
End If
End If
End If
cuando comparo la variable msaldo con cantidad no funciona
Valora esta pregunta


0