Kamis, 07 November 2013

FormBarang

Public Class Form_Barang
    Dim proses As New ClsKoneksi
    Dim tbBarang As DataTable
    Dim tbSupplier As DataTable
    Dim Query As String
    Private Sub add()
        TxtId.Enabled = True
        TxtNama.Enabled = True
        CmbMerk.Enabled = True
        TxtUkuran.Enabled = True
        TxtHarga.Enabled = True

        BtnAdd.Enabled = False
        BtnSave.Enabled = True
        BtnCancel.Enabled = True
        BtnDelete.Enabled = False
        BtnExit.Enabled = True
        BtnEdit.Enabled = False

        TxtId.Focus()
    End Sub
    Private Sub fill_merk()
        tbSupplier = proses.ExecuteQuery("select nama_supplier from tb_supplier")
        Dim i As Integer
        CmbMerk.Items.Clear()
        For i = 0 To tbSupplier.Rows.Count - 1
            CmbMerk.Items.Add(tbSupplier.Rows(i).Item("nama_supplier"))
        Next
        If CmbMerk.Items.Count <> 0 Then
            CmbMerk.SelectedIndex = 0
        End If
    End Sub
    Private Sub fill_grid()
        tbBarang = proses.ExecuteQuery("select id_barang as 'ID Barang',nm_barang as 'Nama Barang',s.nama_supplier as 'Merk',ukuran_barang as 'Ukuran',hrg_barang as Harga,stock as 'Stock' from tb_barang left join tb_supplier s on merk_barang = s.id_supplier ")
        DgBarang.DataSource = tbBarang
    End Sub
    Private Sub init_form()
        TxtId.Enabled = False
        TxtNama.Enabled = False
        CmbMerk.Enabled = False
        TxtUkuran.Enabled = False
        TxtHarga.Enabled = False

        BtnAdd.Enabled = True
        BtnSave.Enabled = False
        BtnCancel.Enabled = False
        BtnDelete.Enabled = False
        BtnExit.Enabled = True
        BtnCancel.Enabled = False
        BtnEdit.Enabled = False

        TxtId.Clear()
        TxtNama.Clear()
        If CmbMerk.Items.Count <> 0 Then
            CmbMerk.SelectedIndex = 0
        End If
        TxtUkuran.Clear()
        TxtHarga.Clear()
        fill_grid()

    End Sub
    Private Function isNotEmpty()
        If (TxtId.Text = "" Or TxtNama.Text = "" Or TxtHarga.Text = "" Or CmbMerk.Text = "" Or TxtUkuran.Text = "") Then
            Return False
        Else
            Return True
        End If
    End Function
    Private Function getKodeSupplier(ByVal kode As String)
        tbSupplier = proses.ExecuteQuery("select id_supplier from tb_supplier where nama_supplier ='" & kode & "' ")
        Dim kodeSupplier As String
        kodeSupplier = tbSupplier.Rows(0).Item("id_supplier")
        Return kodeSupplier
    End Function
    Private Sub edit()
        If isNotEmpty() Then
            Query = "Update tb_barang set nm_barang = '" & TxtNama.Text & "',merk_barang = '" & getKodeSupplier(CmbMerk.SelectedItem.ToString) & "',ukuran_barang = '" & TxtUkuran.Text & "',hrg_barang = '" & TxtHarga.Text & "' where id_barang = '" & Trim(TxtId.Text) & "'"
            Try
                proses.ExecuteNonQuery(Query)
                MsgBox("Data berhasil diubah", MsgBoxStyle.Information, Title:="Information")
                Call init_form()
            Catch ex As Exception
            End Try
        End If
    End Sub
    Private Sub Form_Barang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'Penjualan_seliDataSet.tb_barang' table. You can move, or remove it, as needed.
        ' Me.Tb_barangTableAdapter.Fill(Me.Penjualan_seliDataSet.tb_barang)
        fill_merk()
        fill_grid()
        ToolTip1.SetToolTip(BtnAdd, "Add")
        ToolTip1.SetToolTip(BtnEdit, "Edit")
        ToolTip1.SetToolTip(BtnSave, "Save")
        ToolTip1.SetToolTip(BtnDelete, "Delete")
        ToolTip1.SetToolTip(BtnCancel, "Cancel")
        ToolTip1.SetToolTip(BtnExit, "Exit")

    End Sub

    Private Sub BtnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAdd.Click
        add()

    End Sub
    Private Sub save()
        If Not isNotEmpty() Then
            MsgBox("Data belum lengkap, Silahkan priksa kembali", MsgBoxStyle.Critical, "Error")
        Else
            tbBarang = proses.ExecuteQuery("select id_barang from tb_barang where id_barang = '" & TxtId.Text & "'")
            If tbBarang.Rows.Count <> 0 Then
                MsgBox("Id barang " & TxtId.Text & " sudah ada", MsgBoxStyle.Critical, "Error")
            Else
                Query = "insert into tb_barang values ('" & TxtId.Text & "','" & TxtNama.Text & "','" & getKodeSupplier(CmbMerk.SelectedItem.ToString) & "','" & TxtUkuran.Text & "','" & TxtHarga.Text & "' ,0)"

                Try
                    proses.ExecuteNonQuery(Query)
                    MsgBox("Data berhasil disimpan", MsgBoxStyle.Information, "Sukses")
                    init_form()
                Catch ex As Exception
                    MsgBox(ex.ToString)
                End Try

            End If

        End If

    End Sub

    Private Sub BtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click
        save()
    End Sub

    Private Sub BtnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEdit.Click
        edit()
    End Sub
    Private Sub fill_form(ByVal row As Integer)
        If row < 0 Then
            Exit Sub
        End If
        If Not DgBarang.Rows(row).Cells(0).Value.ToString = "" Then
            BtnDelete.Enabled = True
            BtnEdit.Enabled = True
            BtnSave.Enabled = False
            BtnAdd.Enabled = False
            BtnCancel.Enabled = True

            TxtId.Enabled = False
            TxtNama.Enabled = True
            CmbMerk.Enabled = True
            TxtHarga.Enabled = True
            TxtUkuran.Enabled = True

            TxtId.Text = DgBarang.Rows(row).Cells(0).Value.ToString
            TxtNama.Text = DgBarang.Rows(row).Cells(1).Value.ToString
            CmbMerk.SelectedItem = DgBarang.Rows(row).Cells(2).Value.ToString
            TxtUkuran.Text = DgBarang.Rows(row).Cells(3).Value.ToString
            TxtHarga.Text = DgBarang.Rows(row).Cells(4).Value.ToString
        End If

    End Sub
    Private Sub delete()
        If MessageBox.Show("anda yakin ingin hapus", "Konfimasi", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No Then
            Return
        End If
        tbBarang = proses.ExecuteQuery("Select id_barang From tb_stock where id_barang = '" & Trim(TxtId.Text) & "'")
        If tbBarang.Rows.Count <> 0 Then
            MsgBox("Data sudah masuk transaksi tidak dapat dihapus ", MsgBoxStyle.Critical, Title:="Error")
            Return
        End If

        tbBarang = proses.ExecuteQuery("Select id_barang From tb_barang where id_barang = '" & Trim(TxtId.Text) & "'")
        If Not tbBarang.Rows.Count = 0 Then
            Query = "delete from tb_barang where id_barang ='" & Trim(TxtId.Text) & "'"
            Try
                proses.ExecuteNonQuery(Query)
                MsgBox("Data berhasil dihapus ", MsgBoxStyle.Information, Title:="Information")
                init_form()
            Catch ex As Exception

            End Try
        End If
    End Sub

    Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancel.Click
        init_form()
    End Sub

    Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExit.Click
        Me.Close()
    End Sub

    Private Sub TxtHarga_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtHarga.KeyPress
        If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True
    End Sub

    Private Sub DgBarang_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgBarang.CellClick
        fill_form(e.RowIndex)
    End Sub

    Private Sub BtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDelete.Click
        delete()
    End Sub

    Private Sub Btnback_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnback.Click
        Me.Close()
    End Sub
End Class

Tidak ada komentar:

Posting Komentar