Kamis, 21 November 2013

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

Tidak ada komentar:

Posting Komentar