
Public Class FAgregarProducto

    Dim IdProductoAgregado As Integer

    Private Sub FAgregarProducto_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        TBActualizacion.Text = Now
    End Sub


    Private Sub BOK_Click(sender As Object, e As EventArgs) Handles BOK.Click
        If TBProducto.Text = String.Empty Or TBColor.Text = String.Empty Then
            MessageBox.Show("Nombre del producto y su color estant necesarios")
            Exit Sub
        End If
        If AgregarEnDB() Then
            FTestDB.MisDatos.Tables("TProductos").Rows.Add( _
                IdProductoAgregado, TBProducto.Text, TBStock1.Text, TBStock2.Text, TBColor.Text, TBActualizacion.Text)
        End If
        Me.Close()
    End Sub

    Private Function AgregarEnDB() As Boolean

        Dim SQL As String

        FTestDB.ParametroConexion()
        FTestDB.MiConexion.Open()
        FTestDB.MiComando = FTestDB.MiConexion.CreateCommand()

        SQL = "INSERT INTO TProductos (Articulos, Stock_A, Stock_B, Colores, Actualizacion) VALUES(@Articulos, @StockA, @StockB, Colores, Actualizacion); "
        FTestDB.MiComando.CommandText = SQL

        ' El campo ID es NumAuto, es dado por el DB
        FTestDB.MiComando.Parameters.AddWithValue("@Articulos", TBProducto.Text)
        FTestDB.MiComando.Parameters.AddWithValue("@StockA", TBStock1.Text)
        FTestDB.MiComando.Parameters.AddWithValue("@StockB", TBStock2.Text)
        FTestDB.MiComando.Parameters.AddWithValue("@Colores", TBColor.Text)
        FTestDB.MiComando.Parameters.AddWithValue("@Actualizacion", TBActualizacion.Text)

        If FTestDB.MiComando.ExecuteNonQuery() = 1 Then
            ' Agregacion OK
        Else
            ' Error
            FTestDB.MiConexion.Close()
            FTestDB.MiComando.Dispose()
            Return False
        End If

        SQL = "SELECT MAX(Id) FROM TProductos"
        FTestDB.MiComando.CommandText = SQL
        IdProductoAgregado = FTestDB.MiComando.ExecuteScalar()

        FTestDB.MiConexion.Close()
        FTestDB.MiComando.Dispose()
        Return True
    End Function

    Private Sub TBColor_Enter(sender As Object, e As EventArgs) Handles TBColor.Enter
        If TBProducto.Text <> String.Empty Then
            FIntroducirColor.ShowDialog()
        End If
    End Sub


End Class