Kamis, 21 November 2013

Form Update Stock

Public Class Form_Update_Stock
    Dim SQL As String
    Dim proses As New ClsKoneksi
    Dim tbBarang As DataTable

    Private Sub Form_Update_Stock_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        init_form()
    End Sub
    Private Sub init_form()
        TxtIdSupplier.Enabled = False
        TxtNamaSupplier.Enabled = False
        TxtAlamat.Enabled = False
        TxtTelp.Enabled = False

        TxtIdBarang.Enabled = False
        TxtNamaBarang.Enabled = False
        TxtCurrentStock.Enabled = False
        TxtIdSupplier.Clear()

        TxtNamaSupplier.Clear()
        TxtAlamat.Clear()
        TxtTelp.Clear()

        TxtIdBarang.Clear()
        TxtNamaBarang.Clear()
        TxtCurrentStock.Clear()

        TxtStockin.Clear()

        If DgUpdate.Rows.Count <> 0 Then
            DgUpdate.Rows.Clear()
        End If

        BtnCariBarang.Enabled = False

        ToolTip1.SetToolTip(BtnUpdate, "Update")
        ToolTip1.SetToolTip(BtnCancel, "Cancel")
        ToolTip1.SetToolTip(BtnExit, "Exit")
    End Sub
    Private Sub add()
        If TxtIdBarang.Text = "" Then
            MsgBox("Pilih barang terlebih dahulu !", MsgBoxStyle.Critical, "Error")
        Else
            If TxtStockin.Text = "" Or Val(TxtStockin.Text) < 1 Then
                MsgBox("Jumlah tidak boleh kosong", MsgBoxStyle.Critical, "Error")
            Else
                If DgUpdate.RowCount <> 0 Then
                    Dim i As Integer
                    For i = 0 To DgUpdate.RowCount - 1
                        If (TxtIdBarang.Text = DgUpdate.Rows(i).Cells(0).Value.ToString) Then

                            MsgBox("Id Barang " & TxtIdBarang.Text & " sudah ada", MsgBoxStyle.Critical, "Error")
                            Return
                        End If
                    Next
                End If

                Dim row As String() = New String() {TxtIdBarang.Text, TxtNamaBarang.Text, TxtCurrentStock.Text, TxtStockin.Text}
                DgUpdate.Rows.Add(row)
                TxtIdBarang.Clear()
                TxtNamaBarang.Clear()
                TxtCurrentStock.Clear()
                TxtStockin.Clear()
            End If
        End If
    End Sub

    Private Sub BtnCariSupplier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCariSupplier.Click
        Form_Cari_Supplier.ShowDialog()
        If Form_Cari_Supplier.DialogResult = Windows.Forms.DialogResult.OK Then
            TxtIdSupplier.Text = gl_kode_supplier
            TxtNamaSupplier.Text = gl_nama_supplier
            TxtAlamat.Text = gl_alamat_supplier
            TxtTelp.Text = gl_telepon_supplier
        End If
    End Sub
    Public Function getKodeSupplier(ByVal kode As String)
        tbBarang = proses.ExecuteQuery("select id_supplier from tb_supplier where nama_supplier = '" & kode & "'")
        Dim kodeSupplier As String
        kodeSupplier = tbBarang.Rows(0).Item("id_supplier")
        Return kodeSupplier
    End Function

    Private Sub BtnCariBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCariBarang.Click
        gl_filter_kode_customer = TxtIdSupplier.Text
        Form_Cari_Barang_Supplier.ShowDialog()
        If Form_Cari_Barang_Supplier.DialogResult = Windows.Forms.DialogResult.OK Then
            TxtIdBarang.Text = gl_kode_Barang
            TxtNamaBarang.Text = gl_nama_Barang
            TxtCurrentStock.Text = gl_stok_Barang
        End If
        gl_filter_kode_customer = ""
    End Sub

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

        If (e.KeyChar = Chr(13)) Then
            add()
        End If

    End Sub

    Private Sub updateStok()
        If (TxtIdSupplier.Text = "") Then
            MsgBox("Isi data supplier terlebih dahulu", MsgBoxStyle.Critical, "Error")
            Return
        End If

        If (DgUpdate.RowCount <= 0) Then
            MsgBox("Silahkan tambah barang yang ingin ditambah stok", MsgBoxStyle.Critical, "Error")
            Return
        End If

        Try
            Dim i As Integer
            For i = 0 To (DgUpdate.RowCount - 1)
                Dim stok As Integer
                stok = Val(DgUpdate.Rows(i).Cells(2).Value.ToString) + Val(DgUpdate.Rows(i).Cells(3).Value.ToString)
                SQL = "Insert Into tb_stock (id_supplier, tanggal_supply, id_barang, stok_awal, tambah_stok, stok_akhir) Values ('" & TxtIdSupplier.Text & "','" & DtTanggal.Value & "','" & DgUpdate.Rows(i).Cells(0).Value.ToString & "','" & DgUpdate.Rows(i).Cells(2).Value.ToString & "','" & DgUpdate.Rows(i).Cells(3).Value.ToString & "','" & stok & "')"
                proses.ExecuteNonQuery(SQL)
                SQL = "update tb_barang set stock = '" & stok & "' where id_barang = '" & Trim(DgUpdate.Rows(i).Cells(0).Value.ToString) & "'"
                proses.ExecuteNonQuery(SQL)

            Next
            MsgBox("stok berhasil diupdate", MsgBoxStyle.Information, "sUKSES")
            init_form()
        Catch ex As Exception
            MsgBox(ex.ToString, MsgBoxStyle.Critical, "Error")

        End Try
    End Sub
    Private Sub fill_form(ByVal row As Integer)
        If row < 0 Then
            Exit Sub
        End If
        If Not DgUpdate.Rows(row).Cells(0).Value.ToString = "" Then
            TxtIdBarang.Text = DgUpdate.Rows(row).Cells(0).Value.ToString
            TxtNamaBarang.Text = DgUpdate.Rows(row).Cells(1).Value.ToString
            TxtCurrentStock.Text = DgUpdate.Rows(row).Cells(2).Value.ToString
            TxtStockin.Text = DgUpdate.Rows(row).Cells(3).Value.ToString
        End If
    End Sub

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

    Private Sub TxtStockin_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtStockin.TextChanged

    End Sub

    Private Sub BtnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUpdate.Click
        updateStok()
    End Sub

    Private Sub DgUpdate_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgUpdate.CellClick

    End Sub

    Private Sub DgUpdate_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgUpdate.CellContentClick

    End Sub

    Private Sub DgUpdate_CellDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgUpdate.CellDoubleClick
        If e.RowIndex < 0 Then
            Exit Sub
        End If
        If MessageBox.Show("anda yakin ingin hapus", "Konfirmasi", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No Then
            Return
        Else
            DgUpdate.Rows.RemoveAt(e.RowIndex)
        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 TxtIdSupplier_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtIdSupplier.TextChanged
        If TxtIdSupplier.Text <> "" Then
            BtnCariBarang.Enabled = True
        Else
            BtnCariBarang.Enabled = False
        End If
    End Sub

    Private Sub BtnCariBarang_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCariBarang.Click
      
    End Sub
End Class

Form Transaksi

Public Class Form_Transaksi
    Dim proses As New ClsKoneksi
    Dim tbcustomer As DataTable
    Dim tbTransaksi As DataTable
    Dim tbBarang As DataTable
    Dim SQL As String
    Dim ismember As Boolean

    Private Sub Form_Transaksi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        init_form()
    End Sub
    Private Sub init_form()
        ismember = False
        auto_code_customer()
        auto_code_transaksi()

        TxtTanggal.Text = Now.Date
        TxtKasir.Text = gl_user_login
        TxtNamaCustomer.Clear()
        TxtTelpCus.Clear()
        TxtIDBarang.Clear()
        TxtNamaBarang.Clear()
        TxtMerkBarang.Clear()
        TxtHargaBarang.Clear()
        TxtQty.Clear()
        TxtTotalBayar.Text = "0"
        TxtUangBayar.Clear()
        TxtUangKembali.Text = "0"
        TxtPotongan.Text = "0"
        TxtTotal.Text = "0"

        If DgTrans.RowCount <> 0 Then
            DgTrans.Rows.Clear()
        End If

        TxtIdTransaksi.Enabled = False
        TxtTanggal.Enabled = False
        TxtKasir.Enabled = False
        TxtCustomer.Enabled = False
        TxtNamaCustomer.Enabled = True
        TxtTelpCus.Enabled = True

        TxtIDBarang.Enabled = False
        TxtNamaBarang.Enabled = False
        TxtMerkBarang.Enabled = False
        TxtHargaBarang.Enabled = False

        TxtQty.Enabled = True
        TxtTotalBayar.Enabled = False
        TxtUangBayar.Enabled = False
        TxtUangKembali.Enabled = False
        TxtPotongan.Enabled = False
    End Sub

    Private Sub BtnCariBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCariBarang.Click
        Form_Cari_Barang.ShowDialog()
        If Form_Cari_Barang.DialogResult = Windows.Forms.DialogResult.OK Then
            TxtIDBarang.Text = gl_kode_Barang
            TxtNamaBarang.Text = gl_nama_Barang
            TxtMerkBarang.Text = gl_merk_Barang
            TxtHargaBarang.Text = gl_harga_Barang
            TxtQty.Focus()
        End If
    End Sub

    Private Sub BtnDeleteCustomer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDeleteCustomer.Click
        auto_code_customer()
        TxtNamaCustomer.Clear()
        TxtTelpCus.Clear()
        TxtNamaCustomer.Enabled = True
        TxtTelpCus.Enabled = True
        TxtNamaCustomer.Focus()
        ismember = False
        TxtMember.Visible = False
        get_total()
    End Sub
    Private Sub auto_code_customer()
        tbcustomer = proses.ExecuteQuery("Select * from tb_customer order by id_customer desc")
        If tbcustomer.Rows.Count = 0 Then
            TxtCustomer.Text = "CS001"
        Else
            With tbcustomer.Rows(0)
                TxtCustomer.Text = .Item("id_customer")
            End With

            TxtCustomer.Text = Val(Microsoft.VisualBasic.Mid(TxtCustomer.Text, 3, 3)) + 1
            If Len(TxtCustomer.Text) = 1 Then
                TxtCustomer.Text = "CS00" & TxtCustomer.Text & ""
            ElseIf Len(TxtCustomer.Text) = 2 Then
                TxtCustomer.Text = "CS0" & TxtCustomer.Text & ""
            ElseIf Len(TxtCustomer.Text) = 3 Then
                TxtCustomer.Text = "CS" & TxtCustomer.Text & ""
            End If
        End If

    End Sub
    Private Sub auto_code_transaksi()
        Dim dateno, tgl, bln, thn As String
        Dim code As String
        tgl = Format(Now.Date, "dd")
        bln = Format(Now.Date, "MM")
        thn = Format(Now.Date, "yyyy")

        dateno = "TRX" & bln & tgl & thn
        tbTransaksi = proses.ExecuteQuery("select id_transaksi from tb_transaksi order by cast(SUBSTRING(id_transaksi, 12,100) as INT) desc")
        If tbTransaksi.Rows.Count = 0 Then
            TxtIdTransaksi.Text = dateno & "1"

        Else
            With tbTransaksi.Rows(0)
                code = .Item("id_transaksi")

            End With
            Dim trans As String
            trans = dateno & Val(Integer.Parse(Microsoft.VisualBasic.Mid(code, 12))) + 1
            TxtIdTransaksi.Text = trans

        End If
    End Sub
    Private Sub add()
        If TxtIDBarang.Text = "" Then
            MsgBox("Tidak ada barang yang dibeli", MsgBoxStyle.Critical, "Error")
            BtnCariBarang.Focus()
            Return
        End If
        If TxtQty.Text = "" Then
            MsgBox("Silahkan isi jumlah beli", MsgBoxStyle.Critical, "Error")
            TxtQty.Focus()
            Return
        End If

        If TxtQty.Text = "0" Then
            MsgBox("jumlah beli minimal 1", MsgBoxStyle.Critical, "Error")
            TxtQty.Focus()
            Return
        End If

        If DgTrans.RowCount <> 0 Then
            Dim i As Integer
            For i = 0 To DgTrans.RowCount - 1
                If (TxtIDBarang.Text = DgTrans.Rows(i).Cells(0).Value.ToString) Then
                    MsgBox("Id barang " & TxtIDBarang.Text & " sudah ada", MsgBoxStyle.Critical, "Error")
                    Return
                End If
            Next

        End If
        tbBarang = proses.ExecuteQuery("select stock from tb_barang where id_barang = '" & TxtIDBarang.Text & "'")
        Dim stok As Integer
        If tbBarang.Rows.Count <> 0 Then
            stok = Val(tbBarang.Rows(0).Item("stock").ToString)
            If stok < Val(TxtQty.Text) Then
                MsgBox("Id barang " & TxtIDBarang.Text & "ada" & stok, MsgBoxStyle.Critical, "Stok tidak mencukupi")
                Return
            End If
        Else
            MsgBox("Data barang tidak valid", MsgBoxStyle.Critical, "Error")
            Return
        End If


        Dim row As String() = New String() {TxtIDBarang.Text, TxtNamaBarang.Text, TxtMerkBarang.Text, TxtHargaBarang.Text, TxtQty.Text, Val(TxtQty.Text) * Val(TxtHargaBarang.Text)}
        DgTrans.Rows.Add(row)
        TxtIDBarang.Clear()
        TxtNamaBarang.Clear()
        TxtHargaBarang.Clear()
        TxtMerkBarang.Clear()
        TxtQty.Clear()
        get_total()

    End Sub

    Private Sub BtnCariCus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCariCus.Click
        Form_Cari_Customer.ShowDialog()
        If Form_Cari_Customer.DialogResult = Windows.Forms.DialogResult.OK Then
            TxtCustomer.Text = gl_kode_Customer
            TxtNamaCustomer.Text = gl_nama_Customer
            TxtTelpCus.Text = gl_telepon_Customer
            TxtNamaCustomer.Enabled = False
            TxtTelpCus.Enabled = False
            If gl_status_Customer = "member" Then
                ismember = True
                TxtMember.Visible = Visible
            Else
                ismember = False
                TxtMember.Visible = False
            End If
            get_total()

        End If
    End Sub

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

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

    Private Sub TxtQty_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtQty.TextChanged

    End Sub
    Private Sub DgTrans_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgTrans.CellContentClick

    End Sub
    Private Sub get_total()
        If DgTrans.RowCount <> 0 Then
            Dim i As Integer
            Dim total As Integer
            For i = 0 To DgTrans.RowCount - 1
                If (DgTrans.Rows(i).Cells(0).Value.ToString <> "") Then
                    total += Val(DgTrans.Rows(i).Cells(5).Value.ToString)
                End If
            Next
            TxtTotal.Text = total
        Else

            TxtPotongan.Text = "0"

        End If
        If ismember Then
            TxtPotongan.Text = Val(TxtTotal.Text) * (10 / 100)
        Else
            TxtPotongan.Text = "0"
        End If
        TxtTotalBayar.Text = Val(TxtTotal.Text) - Val(TxtPotongan.Text)
        TxtUangBayar.Enabled = True
    End Sub

    Private Sub DgTrans_CellDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgTrans.CellDoubleClick
        If e.RowIndex < 0 Then
            Exit Sub
        End If
        If MessageBox.Show("anda yakin ingin hapus", "Konfirmasi", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No Then
            Return
        Else
            DgTrans.Rows.RemoveAt(e.RowIndex)
            get_total()
        End If
    End Sub
    Private Sub save()
        If Val(TxtUangBayar.Text) < Val(TxtTotalBayar.Text) Then
            MsgBox("Uang bayar kurang ", MsgBoxStyle.Critical, "Error")
            Return
        Else
            TxtUangKembali.Text = Val(TxtUangBayar.Text) - Val(TxtTotalBayar.Text)
        End If

        If TxtCustomer.Text = "" Then
            MsgBox("Customer tidak boleh kosong ", MsgBoxStyle.Critical, "Error")
            Return
        End If

        If DgTrans.RowCount < 1 Then
            MsgBox("Barang yang dibeli tidak boleh kosong", MsgBoxStyle.Critical, "Error")
            Return
        End If

        If TxtUangBayar.Text = "" Then
            MsgBox("Silahkan bayar terlebih dahulu", MsgBoxStyle.Critical, "Error")
            Return
        End If
        Try
            SQL = "insert into tb_transaksi values ('" & TxtIdTransaksi.Text & "','" & CDate(Now) & "','" & TxtCustomer.Text & "','" & TxtPotongan.Text & "','" & TxtTotalBayar.Text & "','" & gl_user_login & "','" & TxtUangBayar.Text &"')"
            proses.ExecuteNonQuery(SQL)

            tbcustomer = proses.ExecuteQuery("select id_customer from tb_customer where id_customer = '" & TxtCustomer.Text & "'")
            If tbcustomer.Rows.Count = 0 Then
                SQL = "insert into tb_customer values ('" & TxtCustomer.Text & "','" & TxtNamaCustomer.Text & "' , null, '" & TxtTelpCus.Text & "','non member')"
                proses.ExecuteNonQuery(SQL)
            End If

            Dim i As Integer
            For i = 0 To DgTrans.RowCount - 1
                SQL = "insert into tb_detail_transaksi (id_transaksi,id_barang,jml_beli,harga_satuan,sub_total) values ('" & TxtIdTransaksi.Text & "','" & DgTrans.Rows(i).Cells(0).Value.ToString & "','" & DgTrans.Rows(i).Cells(4).Value.ToString & "','" & DgTrans.Rows(i).Cells(3).Value.ToString & "','" & DgTrans.Rows(i).Cells(5).Value.ToString & "')"
                proses.ExecuteNonQuery(SQL)

                SQL = "update tb_barang set stock = stock - " & Val(DgTrans.Rows(i).Cells(4).Value.ToString) & " where id_barang = '" & DgTrans.Rows(i).Cells(0).Value.ToString & "'"
                proses.ExecuteNonQuery(SQL)
            Next

            If MessageBox.Show("Transaksi berhasil, ingin cetak ?", "konfirmasi", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
                Form_Cetak_Struk.cetak_struk1.SetParameterValue("id_transaksi", TxtIdTransaksi.Text)
                Form_Cetak_Struk.Show()
            End If

            init_form()
        Catch ex As Exception
            MsgBox(ex.ToString)

        End Try

    End Sub
    Private Sub cetak(ByVal idtrans As String)
        SQL = " SELECT tb_transaksi.id_transaksi, tb_transaksi.tgl_transaksi, tb_transaksi.id_customer, tb_customer.nm_customer, tb_customer.no_telp, " & _
                                                                                                                                                    "tb_detail_transaksi.id_barang, tb_barang.nm_barang, tb_supplier.nama_supplier, tb_barang.hrg_barang, tb_detail_transaksi.jml_beli, " & _
                                                                                                                                                    " tb_detail_transaksi.sub_total, tb_transaksi.total_bayar " & _
                                                                                                                                                    "FROM tb_detail_transaksi INNER JOIN " & _
                                                                                                                                               "tb_transaksi ON tb_detail_transaksi.id_transaksi ="
        'tbTransaksi.id_transaksi INNER JOIN " & _
        '                                                                                                                                            "tb_customer ON tb_transaksi.id_customer =
        'tb_customer.id_customer INNER JOIN " & _
        '                                                                                                                                            "tb_barang ON tb_detail_transaksi.id_barang =
        'tb_barang.id_barang(" & _")
        '                                                                                                                                            "left join tb_supplier on tb_barang.merk_barang =
        'tb_supplier.id_supplier(" & _")
        '                                                                                                                                            " where tb_transaksi.id_transaksi = '" & idtrans & "'"
        'tbTransaksi = proses.ExecuteQuery(SQL)
        'Dim objRpt As New cetakTrans
        'objRpt.SetDataSource(tbTransaksi)
        'reportViewer.Crpt.ReportSource = objRpt
        'reportViewer.Crpt.Refresh()
        'reportViewer.ShowDialog()
    End Sub

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

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

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

    Private Sub Label19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label19.Click

    End Sub

    Private Sub TxtKasir_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtKasir.TextChanged

    End Sub
End Class

Form Supplier

Public Class Form_Supplier
    Dim proses As New ClsKoneksi
    Dim tbSupplier As DataTable
    Dim Query As String

    Private Sub Form_Supplier_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        init_form()
        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 init_form()
        TxtId.Enabled = False
        TxtNama.Enabled = False
        TxtAlamat.Enabled = False
        TxtNoTelp.Enabled = False

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

        TxtId.Clear()
        TxtNama.Clear()
        TxtAlamat.Clear()
        TxtNoTelp.Clear()
        fill_grid()

    End Sub
    Private Sub add()
        TxtId.Enabled = False
        TxtNama.Enabled = True
        TxtAlamat.Enabled = True
        TxtNoTelp.Enabled = True

        BtnAdd.Enabled = False
        BtnSave.Enabled = True
        BtnCancel.Enabled = True
        BtnDelete.Enabled = False
        BtnExit.Enabled = True
        BtnEdit.Enabled = False
        auto_code()

        TxtNama.Focus()
    End Sub
    Private Function isNotEmpty()
        If (TxtId.Text = "" Or TxtNama.Text = "" Or TxtAlamat.Text = "" Or TxtNoTelp.Text = "") Then
            Return False
        Else
            Return True
        End If
    End Function
    Private Sub fill_grid()
        tbSupplier = proses.ExecuteQuery("select id_supplier as 'ID Supplier', nama_supplier as 'Nama Supplier', alamat_supplier as 'Alamat', no_telp as 'No Telepon' from tb_supplier")
        DgSupplier.DataSource = tbSupplier
    End Sub
    Private Sub save()
        If Not isNotEmpty() Then
            MsgBox("Data belum lengkap, Silahkan priksa kembali", MsgBoxStyle.Critical, "Error")
        Else
            tbSupplier = proses.ExecuteQuery("select id_supplier from tb_supplier where id_supplier = '" & TxtId.Text & "'")
            If tbSupplier.Rows.Count <> 0 Then
                MsgBox("Id Supplier " & TxtId.Text & " sudah ada", MsgBoxStyle.Critical, "Error")
            Else
                Query = "insert into tb_supplier values ('" & TxtId.Text & "','" & TxtNama.Text & "','" & TxtAlamat.Text & "','" & TxtNoTelp.Text & "')"

                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 fill_form(ByVal row As Integer)
        If row < 0 Then
            Exit Sub
        End If
        If Not DgSupplier.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
            TxtAlamat.Enabled = True
            TxtNoTelp.Enabled = True

            TxtId.Text = DgSupplier.Rows(row).Cells(0).Value.ToString
            TxtNama.Text = DgSupplier.Rows(row).Cells(1).Value.ToString
            TxtAlamat.Text = DgSupplier.Rows(row).Cells(2).Value.ToString
            TxtNoTelp.Text = DgSupplier.Rows(row).Cells(3).Value.ToString
        End If
    End Sub
    Private Sub edit()
        If isNotEmpty() Then
            Query = "Update tb_supplier set nama_supplier = '" & TxtNama.Text & "',alamat_supplier = '" & TxtAlamat.Text & "',no_telp = '" & TxtNoTelp.Text & "' where id_supplier = '" & 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 delete()
        If MessageBox.Show("anda yakin ingin hapus", "Konfimasi", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No Then
            Return
        End If
        tbSupplier = proses.ExecuteQuery("Select merk_barang From tb_barang where merk_barang = '" & Trim(TxtId.Text) & "'")
        If tbSupplier.Rows.Count <> 0 Then
            MsgBox("Data sudah masuk transaksi tidak dapat dihapus ", MsgBoxStyle.Critical, Title:="Error")
            Return
        End If

        tbSupplier = proses.ExecuteQuery("Select id_supplier From tb_supplier where id_supplier = '" & Trim(TxtId.Text) & "'")
        If Not tbSupplier.Rows.Count = 0 Then
            Query = "delete from tb_supplier where id_supplier ='" & 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

    Sub auto_code()
        tbSupplier = proses.ExecuteQuery("select * from tb_supplier order by id_supplier desc")
        If tbSupplier.Rows.Count = 0 Then
            TxtId.Text = "SP001"
        Else
            With tbSupplier.Rows(0)
                TxtId.Text = .Item("id_supplier")

            End With

            TxtId.Text = Val(Microsoft.VisualBasic.Mid(TxtId.Text, 3, 3)) + 1
            If Len(TxtId.Text) = 1 Then
                TxtId.Text = "SP00" & TxtId.Text & ""
            ElseIf Len(TxtId.Text) = 2 Then
                TxtId.Text = "SP0" & TxtId.Text & ""
            ElseIf Len(TxtId.Text) = 3 Then
                TxtId.Text = "SP" & TxtId.Text & ""
            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 BtnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAdd.Click
        add()
    End Sub

    Private Sub BtnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEdit.Click
        edit()
    End Sub

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

    End Sub

    Private Sub DgSupplier_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgSupplier.CellContentClick

    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 TxtNoTelp_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtNoTelp.KeyPress
        If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True
    End Sub

    Private Sub DgSupplier_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgSupplier.CellClick
        fill_form(e.RowIndex)
    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

Form Menu

Public Class Form_Menu
    Dim tulisan(2) As String
    Dim i, j As Integer
    Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbahPass.Click

    End Sub

    Private Sub BtnBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBarang.Click
        Form_Barang.ShowDialog()

    End Sub

    Private Sub BtnTrans_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTrans.Click
        Form_Transaksi.ShowDialog()
    End Sub

    Private Sub BtnCus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCus.Click
        Form_Customer.ShowDialog()
    End Sub

    Private Sub BtnSupplier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSupplier.Click
        Form_Supplier.ShowDialog()
    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 Form_Menu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ToolTip1.SetToolTip(BtnBarang, "Barang")
        ToolTip1.SetToolTip(BtnCus, "Customer")
        ToolTip1.SetToolTip(BtnStock, "Stock")
        ToolTip1.SetToolTip(BtnSupplier, "Supplier")
        ToolTip1.SetToolTip(BtnTrans, "Transaksi")
        ToolTip1.SetToolTip(BtnUbahPass, "Change Password")
        ToolTip1.SetToolTip(BtnExit, "Exit")
        LblTgl.Text = Date.Now.ToString("dd/MM/yyyy")
        Timer1.Enabled = True
        LblWaktu.Text = Date.Now.ToString("hh:mm:ss")

        tulisan(0) = "SELAMAT DATANG DI SHOWROOM CAR LINDA"
        tulisan(1) = "SELAMAT DATANG DI SHOWROOM CAR LINDA"
        tulisan(2) = "SELAMAT DATANG DI SHOWROOM CAR LINDA"
        Label19.Text = tulisan(j)
        Timer2.Start()
        userlogin.Text = gl_user_login
        level.Text = gl_level_login

    End Sub

    Private Sub Label19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label19.Click

    End Sub

    Private Sub BtnUpdateStock_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Form_Update_Stock.ShowDialog()

    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        If i.Equals(tulisan(j).Length) Then
            Me.Label19.Text = ""
            If j < tulisan.Length - 1 Then
                j = j + 1
                Me.Label19.Text = tulisan(j)
            Else
                j = 0

            End If
            i = 0


        End If
        Label19.Text = tulisan(j).Substring(0, i)
        i = i + 1
    End Sub

    Private Sub BtnStock_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnStock.Click
        Form_Update_Stock.ShowDialog()

    End Sub

    Private Sub LblWaktu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LblWaktu.Click

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

    End Sub
End Class

Form Customer

Public Class Form_Customer
    Dim proses As New ClsKoneksi
    Dim tbcustomer As DataTable
    Dim Query As String

    Private Sub Form_Customer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        init_form()
        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 init_form()
        TxtId.Enabled = False
        TxtNama.Enabled = False
        TxtAlamat.Enabled = False
        TxtNoTelp.Enabled = False
        CmbStatus.Enabled = False

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

        TxtId.Clear()
        TxtNama.Clear()
        TxtAlamat.Clear()
        TxtNoTelp.Clear()

        fill_grid()
    End Sub
    Private Sub add()
        TxtId.Enabled = False
        TxtNama.Enabled = True
        TxtAlamat.Enabled = True
        TxtNoTelp.Enabled = True
        CmbStatus.Enabled = True

        BtnAdd.Enabled = False
        BtnSave.Enabled = True
        BtnCancel.Enabled = True
        BtnDelete.Enabled = False
        BtnExit.Enabled = True
        BtnEdit.Enabled = False
        CmbStatus.Text = "non member"
        auto_code()

        TxtNama.Focus()
    End Sub
    Private Function isNotEmpty()
        If (TxtId.Text = "" Or TxtNama.Text = "" Or TxtAlamat.Text = "" Or TxtNoTelp.Text = "" Or CmbStatus.Text = "") Then
            Return False
        Else
            Return True
        End If
    End Function
    Private Sub fill_grid()
        tbcustomer = proses.ExecuteQuery("select id_customer as 'ID Customer', nm_customer as 'Nama Customer', alamat_customer as 'Alamat', no_telp as 'No Telepon', status as 'Status' from tb_customer")
        DgCustomer.DataSource = tbcustomer
    End Sub
    Private Sub save()
        If Not isNotEmpty() Then
            MsgBox("Data belum lengkap, Silahkan priksa kembali", MsgBoxStyle.Critical, "Error")
        Else
            tbcustomer = proses.ExecuteQuery("select id_customer from tb_customer where id_customer = '" & TxtId.Text & "'")
            If tbcustomer.Rows.Count <> 0 Then
                MsgBox("Id Customer " & TxtId.Text & " sudah ada", MsgBoxStyle.Critical, "Error")
            Else
                If CmbStatus.Text = "member" Or CmbStatus.Text = "non member" Then
                Else
                    MsgBox("Status salah", MsgBoxStyle.Critical, "Error")
                    Return
                End If
                Query = "insert into tb_customer values ('" & TxtId.Text & "','" & TxtNama.Text & "','" & TxtAlamat.Text & "','" & TxtNoTelp.Text & "','" & CmbStatus.Text & "')"

                Try
                    proses.ExecuteNonQuery(Query)
                    If CmbStatus.Text = "member" Then
                        If MessageBox.Show("Data berhasil disimpan, ingin cetak kartu member", "Konfirmasi", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
                            'cetak(TxtId.Text)

                        End If
                    Else
                        MsgBox("Data berhasil disimpan", MsgBoxStyle.Information, "Sukses")

                    End If
                    init_form()
                Catch ex As Exception
                    MsgBox(ex.ToString)
                End Try

            End If

        End If
    End Sub
    Private Sub fill_form(ByVal row As Integer)
        If row < 0 Then
            Exit Sub
        End If
        If Not DgCustomer.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
            TxtAlamat.Enabled = True
            TxtNoTelp.Enabled = True
            CmbStatus.Enabled = True

            TxtId.Text = DgCustomer.Rows(row).Cells(0).Value.ToString
            TxtNama.Text = DgCustomer.Rows(row).Cells(1).Value.ToString
            TxtAlamat.Text = DgCustomer.Rows(row).Cells(2).Value.ToString
            TxtNoTelp.Text = DgCustomer.Rows(row).Cells(3).Value.ToString
            CmbStatus.Text = DgCustomer.Rows(row).Cells(4).Value.ToString
        End If
    End Sub
    Private Sub edit()
        If isNotEmpty() Then
            If CmbStatus.Text = "member" Or CmbStatus.Text = "non member" Then
            Else
                MsgBox("Status salah", MsgBoxStyle.Critical, "Error")
                Return
            End If
            Query = "Update tb_customer set nm_customer = '" & TxtNama.Text & "',alamat_customer = '" & TxtAlamat.Text & "',no_telp = '" & TxtNoTelp.Text & "' ,status = '" & CmbStatus.SelectedItem.ToString & "' where id_customer = '" & 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 delete()
        If MessageBox.Show("anda yakin ingin hapus", "Konfimasi", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No Then
            Return
        End If
        tbcustomer = proses.ExecuteQuery("Select id_customer From tb_transaksi where id_customer = '" & Trim(TxtId.Text) & "'")
        If tbcustomer.Rows.Count <> 0 Then
            MsgBox("Data sudah masuk transaksi tidak dapat dihapus ", MsgBoxStyle.Critical, Title:="Error")
            Return
        End If

        tbcustomer = proses.ExecuteQuery("Select id_customer From tb_customer where id_customer = '" & Trim(TxtId.Text) & "'")
        If Not tbcustomer.Rows.Count = 0 Then
            Query = "delete from tb_customer where id_customer ='" & 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

    Sub auto_code()
        tbcustomer = proses.ExecuteQuery("select * from tb_customer order by id_customer desc")
        If tbcustomer.Rows.Count = 0 Then
            TxtId.Text = "CS001"
        Else
            With tbcustomer.Rows(0)
                TxtId.Text = .Item("id_customer")

            End With

            TxtId.Text = Val(Microsoft.VisualBasic.Mid(TxtId.Text, 3, 3)) + 1
            If Len(TxtId.Text) = 1 Then
                TxtId.Text = "CS00" & TxtId.Text & ""
            ElseIf Len(TxtId.Text) = 2 Then
                TxtId.Text = "CS0" & TxtId.Text & ""
            ElseIf Len(TxtId.Text) = 3 Then
                TxtId.Text = "CS" & TxtId.Text & ""
            End If
        End If
    End Sub

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

    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 BtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDelete.Click
        delete()

    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 DgCustomer_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgCustomer.CellClick
        fill_form(e.RowIndex)
    End Sub

    Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click

    End Sub

    Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click

    End Sub

    Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click

    End Sub

    Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click

    End Sub

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click

    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

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