Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Partial Class Wear_TearParts
    Inherits System.Web.UI.Page
    Shared Search As Boolean
    Shared g_User As String
    Shared g_Company As String
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            If Not IsPostBack Then
                g_User = "U1"
                g_Company = "Com1"
                'Search = False
                'FillGrid("")
                Call CheckRights(Me, g_User, "Wear And Tear Parts")
                ClearFields()
                getExistingData()
                txtWearAndTearPartsNo.Attributes.Add("onKeypress", "return CheckNumericValue(event)")
            End If
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try
    End Sub

    Private Sub UnLockControls(ByVal bool As Boolean)
        BtnSave.Enabled = bool
    End Sub

    Private Sub getExistingData()
        Dim dt As DataTable = getTable("Select WearAndTearPart_Kid,WearAndTearPart_Code,WearAndTearPart_PartNumber,WearAndTearPart_PartName from WearAndTearParts where WearAndTearPart_ProductId='" & Session.Item("ProductID").Trim & "' and WearAndTearPart_IsDeleted='0' and WearAndTearPart_CompanyID='" & g_Company.Trim & "' and WearAndTearPart_UserID='" & g_User.Trim & "'", "WTP")
        If dt.Rows.Count > 0 Then
            txtWearAndTearPartsKid.Text = dt.Rows(0).Item("WearAndTearPart_Kid").ToString
            txtWearAndTearPartsCode.Text = dt.Rows(0).Item("WearAndTearPart_Code").ToString
            txtWearAndTearPartsName.Text = dt.Rows(0).Item("WearAndTearPart_PartName").ToString
            txtWearAndTearPartsNo.Text = dt.Rows(0).Item("WearAndTearPart_PartNumber").ToString
            BtnSave.Visible = False
        ElseIf dt.Rows.Count = 0 Then
            Call GenerateWearAndTearPartsCode()
            BtnSave.Visible = True
        End If
        dt = Nothing
    End Sub

    Protected Sub ClearFields()
        Try
            txtWearAndTearPartsCode.Text = ""
            txtWearAndTearPartsNo.Text = ""
            txtWearAndTearPartsName.Text = ""
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try
    End Sub

    Protected Sub UnLockTextBox(ByVal Action As Boolean)
        Try
            txtWearAndTearPartsCode.Enabled = Action
            txtWearAndTearPartsNo.Enabled = Action
            txtWearAndTearPartsName.Enabled = Action
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try
    End Sub
    Protected Sub FillGrid(ByVal Ptn As String)
        Try
            Dim qry As String
            Dim Con As New SqlConnection
            Dim cmd As New SqlCommand
            Dim dr As SqlDataReader
            gvWearAndTearParts.Columns(1).Visible = True
            'gvChangeRequest.Columns(5).Visible = True

            Con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            If Ptn = "" Then
                qry = "SELECT    WearAndTearPart_Kid, WearAndTearPart_Code [Code], WearAndTearPart_PartNumber [Part No], WearAndTearPart_PartName [Part Name] FROM WearAndTearParts Where WearAndTearPart_UserId ='" & g_User & "' AND WearAndTearPart_IsDeleted = '0'  AND WearAndTearPart_CompanyId = '" & g_Company & "'"
            Else
                qry = "SELECT     WearAndTearPart_Kid, WearAndTearPart_Code [Code], WearAndTearPart_PartNumber [Part No], WearAndTearPart_PartName [Part Name] FROM WearAndTearParts Where WearAndTearPart_UserId ='" & g_User & "' AND WearAndTearPart_IsDeleted = '0'  AND WearAndTearPart_CompanyId = '" & g_Company & "' And WearAndTearPart_PartName Like '%" & Trim(Ptn) & "%'"
            End If
            cmd.Connection = Con
            cmd.CommandText = qry
            Con.Open()
            dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)

            gvWearAndTearParts.DataSource = dr
            gvWearAndTearParts.DataBind()
            gvWearAndTearParts.Columns(1).Visible = False
            'gvChangeRequest.Columns(5).Visible = False

            Con.Close()
            'Call GridClick(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
            'UnLockTextBox(True)
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try
    End Sub
    Protected Sub txtBankCode_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)

    End Sub

    Protected Sub tvLinks_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs)

    End Sub
    Sub Node_Populate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs)
        Try
            If e.Node.ChildNodes.Count = 0 Then
                Select Case (e.Node.Depth)
                    Case 0

                        FillModule(e.Node, "2")

                        Exit Sub
                    Case 1

                        FillMenu(e.Node)

                        Exit Sub

                    Case 2

                        FillSubMenu(e.Node)

                        Exit Sub

                End Select

            End If
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try
    End Sub


    Protected Sub BtnAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            UnLockTextBox(True)

            FillGrid("")
            'Fill_Combo("Select ChangeRequestCategory_Kid ,ChangeRequestCategory_Name from ChangeRequestCategory", ddlChangeRequestCname)
            ClearFields()
            GenerateWearAndTearPartsCode()

            Call AddClick(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)

            txtWearAndTearPartsNo.Focus()
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try
    End Sub
    Protected Sub GenerateWearAndTearPartsCode()
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            'txtWearAndTearPartsKid.Text = NewPrimaryKey(Me)
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "WTP" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from WearAndTearParts where WearAndTearPart_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                Else
                    txtWearAndTearPartsCode.Text = code
                    Exit Sub
                End If
            End While
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub
    Protected Sub BtnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnSave.Click
        'Save Item in Wear And Tear Parts
        Try
            If txtWearAndTearPartsNo.Text = "" Then
                CreateMessageAlert(Me, "Part No can not be null", "StrKeyVal")
                Exit Sub
            End If
            If txtWearAndTearPartsName.Text = "" Then
                CreateMessageAlert(Me, "Part Name can not be null", "StrKeyVal")
                Exit Sub
            End If
            'If IsAlreadyPresent("select count(*) FROM WearAndTearParts  where WearAndTearPart_PartNumber='" & txtWearAndTearPartsNo.Text.Trim & "'and ChangeRequestCategory_IsDeleted='0' and ChangeRequestCategory_CompanyId='" & g_Company & "'") Then
            '    CreateMessageAlert(Me, "Name is already exist", "StrKeyVal")
            '    Exit Sub
            'End If
            'If ddlChangeRequestCname.SelectedIndex = 0 Then
            '    CreateMessageAlert(Me, "Select Proper Category", "StrKeyVal")
            '    Exit Sub
            'End If
            'Dim qry As String
            Dim Con As New SqlConnection
            Dim cmd As New SqlCommand
            Con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            cmd.Connection = Con
            cmd.CommandText = "WearAndTearPart_Proc"
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_Kid", SqlDbType.NVarChar)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_Code", SqlDbType.NVarChar)).Value = txtWearAndTearPartsCode.Text
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_PartNumber", SqlDbType.Int)).Value = Convert.ToInt32(txtWearAndTearPartsNo.Text)
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_PartName", SqlDbType.NVarChar)).Value = txtWearAndTearPartsName.Text
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_ProductId", SqlDbType.NVarChar)).Value = Session.Item("ProductID")
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_FinancialYearId", SqlDbType.NVarChar)).Value = "Year 2007"
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_CompanyId", SqlDbType.NVarChar)).Value = g_Company
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_UserId", SqlDbType.NVarChar)).Value = g_User
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_IsDeleted", SqlDbType.NVarChar)).Value = "0"
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Wear And Tear Parts"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 50)).Value = "Insert"

            Con.Open()
            cmd.ExecuteNonQuery()
            Con.Close()
            'FillGrid("")
            'Call SaveClick(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
            'UnLockTextBox(False)
            ClearFields()
            Response.Redirect("Product_Drawing.aspx")
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try
    End Sub

    Protected Sub BtnEdit_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            If txtWearAndTearPartsNo.Text = "" Then
                CreateMessageAlert(Me, "Part No can not be null", "StrKeyVal")
                Exit Sub
            End If
            If txtWearAndTearPartsName.Text = "" Then
                CreateMessageAlert(Me, "Part Name can not be null", "StrKeyVal")
                Exit Sub
            End If
            'If IsAlreadyPresent("select count(*) FROM WearAndTearParts  where WearAndTearPart_PartNumber='" & txtWearAndTearPartsNo.Text.Trim & "'and ChangeRequestCategory_IsDeleted='0' and ChangeRequestCategory_CompanyId='" & g_Company & "'") Then
            '    CreateMessageAlert(Me, "Name is already exist", "StrKeyVal")
            '    Exit Sub
            'End If
            'If ddlChangeRequestCname.SelectedIndex = 0 Then
            '    CreateMessageAlert(Me, "Select Proper Category", "StrKeyVal")
            '    Exit Sub
            'End If
            'Dim qry As String
            Dim Con As New SqlConnection
            Dim cmd As New SqlCommand
            Con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            cmd.Connection = Con
            cmd.CommandText = "WearAndTearPart_Proc"
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_Kid", SqlDbType.NVarChar)).Value = txtWearAndTearPartsKid.Text
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_Code", SqlDbType.NVarChar)).Value = txtWearAndTearPartsCode.Text
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_PartNumber", SqlDbType.Int)).Value = Convert.ToInt32(txtWearAndTearPartsNo.Text)
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_PartName", SqlDbType.NVarChar)).Value = txtWearAndTearPartsName.Text
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_ProductId", SqlDbType.NVarChar)).Value = "P1"
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_FinancialYearId", SqlDbType.NVarChar)).Value = "Year 2007"
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_CompanyId", SqlDbType.NVarChar)).Value = g_Company
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_UserId", SqlDbType.NVarChar)).Value = g_User
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_IsDeleted", SqlDbType.NVarChar)).Value = "0"
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Wear And Tear Parts"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 50)).Value = "Update"

            Con.Open()
            cmd.ExecuteNonQuery()
            Con.Close()
            FillGrid("")
            Call EditClick(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)

            UnLockTextBox(False)
            ClearFields()
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try
    End Sub

    Protected Sub BtnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            Dim Con As New SqlConnection
            Dim cmd As New SqlCommand
            Con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            cmd.Connection = Con
            cmd.CommandText = "WearAndTearPart_Proc"
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_Kid", SqlDbType.NVarChar)).Value = txtWearAndTearPartsKid.Text
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_Code", SqlDbType.NVarChar)).Value = txtWearAndTearPartsCode.Text
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_PartNumber", SqlDbType.Int)).Value = Convert.ToInt32(txtWearAndTearPartsNo.Text)
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_PartName", SqlDbType.NVarChar)).Value = txtWearAndTearPartsName.Text
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_ProductId", SqlDbType.NVarChar)).Value = "P1"
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_FinancialYearId", SqlDbType.NVarChar)).Value = "Year 2007"
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_CompanyId", SqlDbType.NVarChar)).Value = g_Company
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_UserId", SqlDbType.NVarChar)).Value = g_User
            cmd.Parameters.Add(New SqlParameter("@WearAndTearPart_IsDeleted", SqlDbType.NVarChar)).Value = "0"
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Wear And Tear Parts"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 50)).Value = "Delete"

            Con.Open()
            cmd.ExecuteNonQuery()
            Con.Close()
            FillGrid("")
            Call DeleteClick(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)

            UnLockTextBox(False)
            ClearFields()
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try
    End Sub

    Protected Sub BtnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            ClearFields()
            UnLockTextBox(True)
            Search = False
            FillGrid("")
            txtWearAndTearPartsNo.Focus()
            Call CancelClick(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try
    End Sub

    Protected Sub BtnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            Search = True                                       'Set Search Mode True
            Call SearchClick(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
            txtWearAndTearPartsName.Enabled = True
            txtWearAndTearPartsName.AutoPostBack = True
            'Enable txtPartTypeName TextField
            Call txtWearAndTearPartsName_TextChanged(sender, e)
            txtWearAndTearPartsName.Focus()
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "strkeyval")
        End Try
    End Sub

    Protected Sub gvWearAndTearParts_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            'Fill_Combo("Select ChangeRequestCategory_Kid ,ChangeRequestCategory_Name from ChangeRequestCategory", ddlChangeRequestCname)
            txtWearAndTearPartsKid.Text = gvWearAndTearParts.SelectedRow.Cells(1).Text
            txtWearAndTearPartsCode.Text = gvWearAndTearParts.SelectedRow.Cells(2).Text
            'gvChangeRequest.SelectedRow.Cells(3).Text
            '     ddlChangeRequestCname.Items.FindByText(gvChangeRequest.SelectedRow.Cells(3).Text.Trim).Selected = True
            txtWearAndTearPartsNo.Text = gvWearAndTearParts.SelectedRow.Cells(3).Text
            txtWearAndTearPartsName.Text = gvWearAndTearParts.SelectedRow.Cells(4).Text
            UnLockTextBox(True)
            Call GridClick(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
            'If lblShowStatus.Text = "Complete" Then
            '    BtnChangeRequestDelete.Enabled = False
            '    BtnChangeRequestEdit.Enabled = False
            'End If
            Search = False
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try

    End Sub

    Protected Sub txtWearAndTearPartsName_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            If Search = True Then
                Call FillGrid(txtWearAndTearPartsName.Text)
            End If
            If BtnSave.Enabled Then BtnSave.Focus()
        Catch Ex As Exception
            CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try
    End Sub

    
End Class
