Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports Ajax
Partial Class supplierfactory_master
    Inherits System.Web.UI.Page
    Shared City_Kid As String
    Shared City_Code As String
    'Shared Factory_Code As String
    'Shared Contacts_Kid As String
    'Shared Contacts_Code As String

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Ajax.Utility.RegisterTypeForAjax(GetType(supplierfactory_master))
        lblMsg.Visible = False      ' Label For Displaying Message in Factory Part
        lblConMsg.Visible = False      ' Label For Displaying Message in Contact Person Part
        ' pnl.Visible = False
        tabletitle1.Visible = False


        '        tbl3.Visible = True
        '       Div1.Visible = True
        'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)


        '  pnlUpdateOK.Visible = False
        'PnlDelete.Visible = False

        If Session("SupplierID") Is Nothing Then
            Response.Redirect("listproduct.aspx?sess=expire")
            Exit Sub
        End If
        If Not IsPostBack Then
            txtValidate.Value = 0
            lblnrs.Text = ""
            lbllsz.Text = ""

            If Session("SupplierID") Is Nothing Then ' check whether supplier is loged in or not
                Response.Redirect("listproduct.aspx")
                Exit Sub
            End If

            If Request.QueryString("BackId") = Nothing Then
                If Session("Index") <> Nothing Then
                    btnBack.Visible = True
                Else
                    Session("ProductID") = Nothing   ' Sessioon productid set nothing
                    btnBack.Visible = False
                End If
            Else
                Session("ProductID") = Nothing
                Session("Index") = Nothing
                btnBack.Visible = False
            End If

            txtCountryCode.Attributes.Add("onkeypress", "return numbersonly(event);")
            txtCityCode.Attributes.Add("onkeypress", "return numbersonly(event);")
            txtPhoneNo.Attributes.Add("onkeypress", "return numbersonly(event);")
            txtCountryCodeF.Attributes.Add("onkeypress", "return numbersonly(event);")
            txtCityCodeF.Attributes.Add("onkeypress", "return numbersonly(event);")
            txtFaxNo.Attributes.Add("onkeypress", "return numbersonly(event);")

            txtPinCode.Attributes.Add("onkeypress", "return numbersonly(event);")
            txtConExtension.Attributes.Add("onkeypress", "return numbersonly(event);")
            txtConCountryCode.Attributes.Add("onkeypress", "return numbersonly(event);")
            txtConMobileNo.Attributes.Add("onkeypress", "return numbersonly(event);")

            pnlCon.Visible = False
            

            'btnSave.Attributes.Add("onclick", "alert('Record Saved Successfully');")
            txtExise.Enabled = False
            txtSalesTax.Enabled = False
            td1.Visible = False
            Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlFactoryName)
            ' Fill factory dropdownlist
            Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlConFactoryName)
            ' fill contact factory drop down list
            Fill_Time(ddlFromHour, ddlFromMinute, ddlFromAmPm)  ' fill from time combo
            Fill_Time(ddlToHour, ddlToMinute, ddlToAmPm) ' fill to time combo
            'cleartime()
            fillcombo()

            ' Fill country, state and city combo

            fillgrid(ddlFactoryName.SelectedItem.Value.ToString)
            'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon)
            ' fill grid with existing value for factory contact
            enablecontrol(False)
            ' disable factory control
            enableconcontrol(False)
            ' disable contact control
            CancelClickVisible(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel)
            ' call cancel clik function for factory
            CancelClickVisible(Me, btnConAdd, btnConSave, btnConUpdate, btnConDelete, btnConCancel)
            ' call cancel fuction for contact





            'If Session("AdminID") <> Nothing Then  ' check whether admin is login or not
            '    btnUpdate.Visible = True
            '    btnDelete.Visible = True
            '    btnConUpdate.Visible = True
            '    btnConDelete.Visible = True
            '    btnAddContact.Text = "Add / Edit Contacts"

            'Else
            '    btnUpdate.Visible = False
            '    btnDelete.Visible = False
            '    btnConUpdate.Visible = False
            '    btnConDelete.Visible = False

            'End If
            'ScriptManager.RegisterClientScriptBlock(sender, sender.GetType(), "MyKey", "WebForm_AutoFocus('" + btnADD.ClientID + "');", True)
            'btnADD.Focus()
            ' btnConAdd.Visible = True
            'btnDelete.Attributes.Add("onclick", "return ConfrmMsg();")
            'btnConDelete.Attributes.Add("onclick", "return ConfrmMsg();")
            btnConSave.Attributes.Add("onclick", "return SaveConfirm();")
            btnUpdate.Attributes.Add("onclick", "return UpdateMsg();")
            btnConUpdate.Attributes.Add("onclick", "return UpdateMsg();")
            btnDelete.Attributes.Add("onclick", "return ConfrmMsg();")
            btnConDelete.Attributes.Add("onclick", "return DeleteMsg();")

            btnAddContact.Visible = True
            ScriptManager1.SetFocus(btnADD)
        End If
        btnSave.Attributes.Add("onclick", "return SaveMsg('" & txtValidate.ClientID & "');")
        lblError.Text = ""
        'txtCity.Visible = False
        'BtnCityAdd.Visible = False
        ddlCity_Code.Visible = True
        td1.Visible = True
        'btnSave.Visible = False
        'btnCancel.Visible = False
    End Sub

    <Ajax.AjaxMethod()> _
        Public Function AddCity(ByVal strCity As String, ByVal strStateID As String, ByVal strCompanyID As String, ByVal strUserID As String, ByVal strFinancialYearID As String) As String
        Dim KID As String
        KID = NewPrimaryKey(Me)

        If IsAlreadyPresent("Select count(*) from City_Master where City_Name='" & strCity.Trim & "' and City_StateId ='" & strStateID.ToString & "'") Then
            Return "false"
        End If

        Dim con As New SqlConnection()
        con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")        'Read the connection string from web.config
        Dim cmd As New SqlCommand()
        cmd.CommandType = CommandType.StoredProcedure
        cmd.CommandText = "City_Master_Proc"
        cmd.Connection = con
        cmd.Parameters.Add(New SqlParameter("@City_Kid", SqlDbType.NVarChar, 10)).Value = KID
        cmd.Parameters.Add(New SqlParameter("@City_Code", SqlDbType.NVarChar, 25)).Value = Generate_Code("Select count(*) from City_Master where City_Code='", "CC").ToString()
        cmd.Parameters.Add(New SqlParameter("@City_Name", SqlDbType.NVarChar, 100)).Value = strCity.Trim
        cmd.Parameters.Add(New SqlParameter("@City_StateId", SqlDbType.NVarChar, 10)).Value = strStateID.Trim
        cmd.Parameters.Add(New SqlParameter("@City_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(strCompanyID)
        cmd.Parameters.Add(New SqlParameter("@City_UserId", SqlDbType.NVarChar, 10)).Value = Trim(strUserID)
        cmd.Parameters.Add(New SqlParameter("@City_FinancialYearId", SqlDbType.NVarChar, 10)).Value = strFinancialYearID.Trim
        cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "SupplierRegistration1"
        cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 10)).Value = "Insert"
        Try
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            Return KID
        Catch ex As Exception
            con.Close()
            Return "false"
        End Try
        Return True

    End Function

    Public Sub cleartime()
        ddlFromAmPm.ClearSelection()
        ddlFromHour.ClearSelection()
        ddlFromMinute.ClearSelection()
        ddlToAmPm.ClearSelection()
        ddlToHour.ClearSelection()
        ddlToMinute.ClearSelection()
    End Sub
    Public Sub enableconcontrol(ByVal action As Boolean)
        ' function for enabling contact control
        txtConCountryCode.Enabled = action
        lblConField.Visible = action
        txtConDesi.Enabled = action
        txtConEmailId.Enabled = action
        txtConExtension.Enabled = action
        txtConMobileNo.Enabled = action
        txtConName.Enabled = action
        ddlConFactoryName.Enabled = action
        ddlkcperson.Enabled = action
        lblConField.Visible = action
    End Sub
    Public Sub clearconfields()
        ' function for clearing contact control
        txtConCountryCode.Text = ""
        txtConDesi.Text = ""
        txtConEmailId.Text = ""
        txtConExtension.Text = ""
        txtConMobileNo.Text = ""
        txtConName.Text = ""
        If ddlFactoryName.SelectedIndex = 0 Then
            ' ddlConFactoryName.ClearSelection()
        Else
            ddlConFactoryName.Enabled = True
        End If
        ddlkcperson.ClearSelection()
    End Sub

    Public Sub enablecontrol(ByVal action As Boolean)
        ' function for enabling factory control
        'lblField.Visible = action
        rblExise.Enabled = action
        rblRelationship.Enabled = action
        rblSalesTax.Enabled = action
        rblSpecializedZone.Enabled = action
        txtAddress.Enabled = action
        txtAreaSqFt.Enabled = action
        txtCityCode.Enabled = action
        txtCityCodeF.Enabled = action
        txtcstno.Enabled = action
        txtecode.Enabled = action
        txtEmailId.Enabled = action
        txtFaxNo.Enabled = action
        txtilno.Enabled = action
        txtExise.Enabled = action
        txtSalesTax.Enabled = action
        txtLocInSpecialZone.Enabled = action
        txtName.Enabled = action
        txtNearestAirPort.Enabled = action
        txtNearestPort.Enabled = action
        txtNearestRailwayStation.Enabled = action
        txtosrtrading.Enabled = action
        txtPhoneNo.Enabled = action
        txtPinCode.Enabled = action
        txtstrno.Enabled = action
        txttinno.Enabled = action
        ddlCity_Code.Enabled = action
        ddlCountry_Code.Enabled = action
        ddlFromAmPm.Enabled = action
        ddlFromHour.Enabled = action
        ddlFromMinute.Enabled = action
        ' ddlkcperson.Enabled = action
        ddlState_Code.Enabled = action
        ddlToAmPm.Enabled = action
        ddlToHour.Enabled = action
        ddlToMinute.Enabled = action
        ddlWeeklyHoliday.Enabled = action

    End Sub

    Public Sub ClearFields()
        ' function for clearing factory control
        txtExise.Text = ""
        txtSalesTax.Text = ""
        txtAddress.Text = ""
        txtAreaSqFt.Text = ""
        txtCityCode.Text = ""
        txtCityCodeF.Text = ""
        txtcstno.Text = ""
        txtecode.Text = ""
        txtEmailId.Text = ""
        txtFaxNo.Text = ""
        txtilno.Text = ""
        txtLocInSpecialZone.Text = ""
        txtName.Text = ""
        txtNearestAirPort.Text = ""
        txtNearestPort.Text = ""
        txtNearestRailwayStation.Text = ""
        txtosrtrading.Text = ""
        txtPhoneNo.Text = ""
        txtPinCode.Text = ""
        txtstrno.Text = ""
        txttinno.Text = ""
        fillcombo()
        ddlWeeklyHoliday.ClearSelection()
    End Sub

    Public Sub fillcombo()
        ' fill country, state, city combo and get according value in country code textbox
        Fill_Combo("SELECT distinct Country_Kid, Country_Name FROM Country_Master where Country_IsDeleted='0'and Country_CompanyId='" & Session("g_Company").ToString & "' order by Country_Name", ddlCountry_Code)
        ddlCountry_Code.ClearSelection()
        ddlCountry_Code.Items.FindByText("India").Selected = True
        Fill_Combo("SELECT State_Master.State_Kid, State_Master.State_Name, Country_Master.Country_Name FROM Country_Master INNER JOIN State_Master ON Country_Master.Country_Kid = State_Master.State_CountryId WHERE State_Master.State_CompanyId = '" & Session("g_Company").ToString & "' AND State_Master.State_IsDeleted = '0' AND Country_Master.Country_Kid = '" & ddlCountry_Code.SelectedItem.Value & "'", ddlState_Code)
        txtCountryCode.Text = ReturnValue("Select Country_ISDCode from Country_Master where Country_Isdeleted ='0' and Country_Kid ='" & ddlCountry_Code.SelectedItem.Value & "'and Country_CompanyId ='" & Session("g_Company").ToString & "'")
        txtCountryCodeF.Text = ReturnValue("Select Country_ISDCode from Country_Master where Country_Isdeleted ='0' and Country_Kid ='" & ddlCountry_Code.SelectedItem.Value & "'and Country_CompanyId ='" & Session("g_Company").ToString & "'")
        ddlCity_Code.Items.Clear()
        ddlCity_Code.Items.Add("Select")
        
    End Sub
    Protected Sub rblExise_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rblExise.SelectedIndexChanged
        If rblExise.SelectedItem.Value = "Y" Then   ' if exise applicable
            txtExise.Text = ""
            txtExise.Enabled = True
        Else
            txtExise.Enabled = False
            txtExise.Text = ""
        End If
        btnSave.Visible = True
    End Sub

    Protected Sub rblSalesTax_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rblSalesTax.SelectedIndexChanged

        If rblSalesTax.SelectedItem.Value = "Y" Then  ' if salestax applicable
            txtSalesTax.Text = ""
            txtSalesTax.Enabled = True
        Else
            txtSalesTax.Text = ""
            txtSalesTax.Enabled = False
        End If
        btnSave.Visible = True
    End Sub

    Protected Sub rblSpecializedZone_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rblSpecializedZone.SelectedIndexChanged
        If rblSpecializedZone.SelectedItem.Value = "Y" Then   ' if factory is in specializedzone
            td1.Visible = True
            tbl2.Visible = True
        Else
            td1.Visible = False
            tbl2.Visible = False
        End If
        btnSave.Visible = True
    End Sub

    Protected Sub ddlCountry_Code_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlCountry_Code.SelectedIndexChanged
        Try
            ' set the country code textboxes according to country selected
            txtCountryCode.Text = ReturnValue("Select Country_ISDCode from Country_Master where Country_Isdeleted ='0' and Country_Kid ='" & ddlCountry_Code.SelectedItem.Value & "'and Country_CompanyId ='" & Session("g_Company").ToString & "'")
            If txtCountryCode.Text = "" Then
                txtCountryCode.Enabled = True
            Else
                txtCountryCode.Enabled = False
            End If
            If ddlCountry_Code.SelectedIndex > 0 Then
                Fill_Combo("Select State_Kid,State_Name from State_Master where State_IsDeleted='0' and state_CountryId='" & ddlCountry_Code.SelectedValue.Trim & "'and State_CompanyId='" & Session("g_Company").ToString.Trim & "'", ddlState_Code)
            End If
            txtCountryCodeF.Text = ReturnValue("Select Country_ISDCode from Country_Master where Country_Isdeleted ='0' and Country_Kid ='" & ddlCountry_Code.SelectedItem.Value & "'and Country_CompanyId ='" & Session("g_Company").ToString & "'")
            If txtCountryCodeF.Text = "" Then
                txtCountryCodeF.Enabled = True
            Else
                txtCountryCodeF.Enabled = False
            End If
            If ddlCountry_Code.SelectedIndex > 0 Then
                Fill_Combo("Select State_Kid,State_Name from State_Master where State_IsDeleted='0' and state_CountryId='" & ddlCountry_Code.SelectedValue.Trim & "'and State_CompanyId='" & Session("g_Company").ToString.Trim & "'", ddlState_Code)
            Else
                ddlState_Code.Items.Clear()
                ddlState_Code.Items.Add("Select")
            End If
            ddlCity_Code.Items.Clear()
            ddlCity_Code.Items.Add("Select")
            'ddlState_Code.Focus()
            ScriptManager1.SetFocus(ddlState_Code)

        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub

    Protected Sub ddlState_Code_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlState_Code.SelectedIndexChanged
        ' fill city drop downlist according to state

        'If ddlState_Code.SelectedIndex > 0 Then
        '    ddlCity_Code.Visible = True
        '    Fill_Combo("Select City_Kid,City_Name from City_Master where City_IsDeleted='0' and City_StateId='" & ddlState_Code.SelectedValue.Trim & "'", ddlCity_Code)
        '    ddlCity_Code.Items.Add("Others")
        'Else
        '    ddlCity_Code.Items.Clear()
        '    ddlCity_Code.Items.Add("Select")
        'End If
        ''ddlCity_Code.Focus()
        'ScriptManager1.SetFocus(ddlCity_Code)
        'btnSave.Visible = True
        'ddlCity_Code.Attributes.Add("onchange", "return checkCityddl(this,'" & ddlState_Code.SelectedItem.Value.ToString & "','" & Session("g_Company").ToString & "','" & Session("g_User") & "','" & Session("g_FinYear") & "');")
        Try
            ddlCity_Code.Items.Clear()
            'Fill_Combo("SELECT distinct City_Master.City_Kid, City_Master.City_Name, State_Master.State_Name, City_Master.City_CompanyId FROM City_Master INNER JOIN  State_Master ON City_Master.City_StateId = State_Master.State_Kid WHERE City_Master.City_IsDeleted = '0' AND City_Master.City_CompanyId = '" & Session("g_Company").ToString & "' AND State_Master.State_Kid = '" & ddlState.SelectedValue & "'", ddlCity)
            'ddlCity.Items.Add("Others")

            Fill_Combo("SELECT     City_Kid, City_Name     FROM City_Master WHERE     City_IsDeleted = N'0' AND City_CompanyId = '" & Session("g_Company") & "'  and City_StateId='" & ddlState_Code.SelectedValue & "' order by City_Name", ddlCity_Code)
            'ScriptManager.RegisterClientScriptBlock(sender, sender.GetType(), "MyKey", "WebForm_AutoFocus('" + ddlCity_Code.ClientID + "');", True)
            ddlCity_Code.Enabled = True
            btnSave.Visible = True
            btnCancel.Visible = True
            'ddlCity_Code.Attributes.Add("onchange", "return checkCityddl(this,'" & ddlState_Code.SelectedItem.Value.ToString & "','" & Session("g_Company").ToString & "','" & Session("g_User") & "','" & Session("g_FinYear") & "');")
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub

    'Protected Sub ddlCity_Code_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlCity_Code.SelectedIndexChanged
    '    If ddlCity_Code.SelectedItem.Text = "Others" Then
    '        'txtCity.Text = ""
    '        'txtCity.Visible = True
    '        'BtnCityAdd.Visible = True
    '        'ddlCity_Code.Visible = False
    '        ''txtCity.Focus()
    '        'ScriptManager1.SetFocus(txtCity)
    '    Else
    '        '            txtCity.Visible = False
    '        'BtnCityAdd.Visible = False
    '        'txtAddress.Focus()
    '        ScriptManager1.SetFocus(txtAddress)
    '    End If
    '    btnSave.Visible = True
    'End Sub
    Protected Sub GenerateCityCode()
        ' generate city code and kid
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            City_Kid = NewPrimaryKey(Me)
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "CC" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from CityMaster where City_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                Else
                    City_Code = 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 BtnCityAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnCityAdd.Click
    '    GenerateCityCode() ' generate city kid and code for city master
    '    Dim Con As New SqlConnection
    '    Dim cmd As New SqlCommand
    '    Con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
    '    cmd.Connection = Con
    '    cmd.CommandText = "City_Master_Proc"   ' store procedure
    '    cmd.CommandType = CommandType.StoredProcedure
    '    cmd.Parameters.Add(New SqlParameter("@City_Kid", Data.SqlDbType.NVarChar, 10)).Value = City_Kid
    '    cmd.Parameters.Add(New SqlParameter("@City_Code", Data.SqlDbType.NVarChar, 25)).Value = City_Code
    '    cmd.Parameters.Add(New SqlParameter("@City_Name", Data.SqlDbType.NVarChar, 100)).Value = txtCity.Text
    '    cmd.Parameters.Add(New SqlParameter("@City_StateID", Data.SqlDbType.NVarChar, 10)).Value = ddlState_Code.SelectedValue
    '    cmd.Parameters.Add(New SqlParameter("@City_CompanyID", Data.SqlDbType.NVarChar, 10)).Value = Session("g_Company").ToString
    '    cmd.Parameters.Add(New SqlParameter("@City_FinancialYearId", Data.SqlDbType.NVarChar, 10)).Value = Session("g_FinYear").ToString
    '    cmd.Parameters.Add(New SqlParameter("@City_UserID", Data.SqlDbType.NVarChar, 10)).Value = Session("g_User").ToString
    '    cmd.Parameters.Add(New SqlParameter("@FormName", Data.SqlDbType.NVarChar, 0)).Value = Me.Title.ToString
    '    cmd.Parameters.Add(New SqlParameter("@Mode", Data.SqlDbType.Char, 15)).Value = "Insert"
    '    If Con.State = ConnectionState.Open Then ' check whether connection is opened 
    '        Con.Close()
    '    End If
    '    Con.Open()
    '    cmd.ExecuteNonQuery()
    '    Con.Close() ' close connection
    '    Con.Dispose()

    '    ddlCity_Code.Visible = True
    '    Fill_Combo("Select City_KId, City_Name from City_Master where City_Isdeleted='0' and  City_StateId ='" & ddlState_Code.SelectedItem.Value & "' and City_CompanyId ='" & Session("g_Company").ToString & "'  order by City_Name", ddlCity_Code)
    '    ' fill city combo according to new value in city master
    '    ddlCity_Code.Items.FindByText(txtCity.Text).Selected = True
    'End Sub

    Protected Sub btnADD_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnADD.Click
        tabletitle.Visible = True
        tabletitle1.Visible = False
        'tbl3.Visible = False
        Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlFactoryName)
        ' fill dropdown according to existing factroy value.
        enablecontrol(True)
        ddlFactoryName.ClearSelection()
        AddClickVisible(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel)
        'ddlFactoryName.Focus()
        ScriptManager1.SetFocus(ddlFactoryName)
        btnSave.Enabled = True
        ddlFactoryName.Enabled = False
        btnCancel.Enabled = True
        ClearFields()
        txtName.Focus()
        ' ScriptManager.RegisterClientScriptBlock(sender, sender.GetType(), "MyKey", "WebForm_AutoFocus('" + ddlFactoryName.ClientID + "');", True)
        ' call addclick function for factory
    End Sub

    Protected Sub btnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCancel.Click
        tabletitle.Visible = True
        tabletitle1.Visible = False
        '  tbl3.Visible = False
        ClearFields()
        enablecontrol(False)
        ddlFactoryName.ClearSelection()
        '   btnADD.Enabled = True
        '  btnSave.Enabled = True
        ddlFactoryName.Enabled = True
        CancelClickVisible(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel)
        ' btnSearch.Visible = False
    End Sub

    Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click

        Try
            'If txtValidate.Value = 0 Then
            If rblSpecializedZone.SelectedItem.Value = "Y" Then
                If txtLocInSpecialZone.Text = "" Then
                    lbllsz.Text = "*"
                    btnSave.Visible = True
                    Exit Sub
                Else
                    lbllsz.Text = ""
                End If
                If txtNearestRailwayStation.Text = "" Then
                    lblnrs.Text = "*"
                    btnSave.Visible = True
                    Exit Sub
                Else
                    lblnrs.Text = ""
                End If
            End If

            tabletitle.Visible = True
            tabletitle1.Visible = False
            '   tbl3.Visible = False
            Dim temp1 As String
            Dim temp2 As String
            temp1 = ddlFromHour.SelectedValue & ":" & ddlFromMinute.SelectedValue & ":00" & ddlFromAmPm.SelectedValue
            temp2 = ddlToHour.SelectedValue & ":" & ddlToMinute.SelectedValue & ":00" & ddlToAmPm.SelectedValue

            Dim i As Integer
            Try
                i = DateDiff(DateInterval.Hour, Convert.ToDateTime(temp1), Convert.ToDateTime(temp2))
                If (i < 0) Then
                    lblError.Text = "Select Proper Time."
                    btnSave.Visible = True
                    Exit Sub
                Else
                    lblError.Text = ""
                End If
                If (i = 0) Then
                    Dim j As Integer
                    Try
                        j = DateDiff(DateInterval.Minute, Convert.ToDateTime(temp1), Convert.ToDateTime(temp2))
                    Catch ex As Exception

                    End Try
                    If (j <= 0) Then
                        'CreateMessageAlert(Me, "Time is Not Valid ....!!!!", "StrKeyVal")
                        lblError.Text = "Select Proper Time."
                        btnSave.Visible = True
                        Exit Sub
                    Else
                        lblError.Text = ""
                    End If
                Else
                    lblError.Text = ""
                End If
            Catch ex As Exception

            End Try
            hf1.Value = txtName.Text
            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandText = "SupplierFactoryDetails_Proc"    'give a storeprocedure
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Code", SqlDbType.NVarChar, 25)).Value = GenerateSupplierFactoryDetailCode.ToString
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Relationship", SqlDbType.NVarChar, 20)).Value = Trim(rblRelationship.SelectedValue.ToString)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Name", SqlDbType.NVarChar, 50)).Value = Trim(txtName.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_LocationId", SqlDbType.NVarChar, 10)).Value = RemoveLiterals(ddlCity_Code.SelectedValue.Trim)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Address", SqlDbType.NVarChar, 150)).Value = Trim(txtAddress.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_PinCode", SqlDbType.NVarChar, 15)).Value = Trim(txtPinCode.Text)

            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CCPhoneNO", SqlDbType.NVarChar, 10)).Value = Trim(txtCountryCode.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CtyCPhoneNO", SqlDbType.NVarChar, 10)).Value = Trim(txtCityCode.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_PhoneNo", SqlDbType.NVarChar, 10)).Value = Trim(txtPhoneNo.Text)
            If rblExise.SelectedValue = "Y" Then
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_ExiseApp", SqlDbType.NVarChar, 1)).Value = Trim(rblExise.SelectedValue.ToString)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_ExiseEx", SqlDbType.NVarChar, 50)).Value = Trim(txtExise.Text)
            Else
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_ExiseApp", SqlDbType.NVarChar, 1)).Value = Trim(rblExise.SelectedValue.ToString)
            End If
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_EmailID", SqlDbType.NVarChar, 50)).Value = Trim(txtEmailId.Text)
            If rblSalesTax.SelectedValue = "Y" Then
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_SalesTaxApp", SqlDbType.NVarChar, 1)).Value = Trim(rblSalesTax.SelectedValue.ToString)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_SalesTaxEx", SqlDbType.NVarChar, 50)).Value = Trim(txtSalesTax.Text)
            Else
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_SalesTaxApp", SqlDbType.NVarChar, 1)).Value = Trim(rblSalesTax.SelectedValue.ToString)
            End If

            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CCFaxNO", SqlDbType.NVarChar, 15)).Value = Trim(txtCountryCodeF.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CtyCFaxNO", SqlDbType.NVarChar, 15)).Value = Trim(txtCityCodeF.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_FaxNo", SqlDbType.NVarChar, 15)).Value = Trim(txtFaxNo.Text)
            If ddlWeeklyHoliday.SelectedIndex <> 0 Then
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_WeekelyHoliday", SqlDbType.NVarChar, 15)).Value = Trim(ddlWeeklyHoliday.SelectedItem.Value)
            End If

            If ddlFromHour.SelectedValue <> "HH" And ddlFromMinute.SelectedValue <> "MM" Then
                temp1 = ddlFromHour.SelectedValue & ":" & ddlFromMinute.SelectedValue & ":00" & ddlFromAmPm.SelectedValue
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_WorkingHourFrom", SqlDbType.DateTime)).Value = Format$(Convert.ToDateTime(temp1), "")
            End If
            If ddlToHour.SelectedValue <> "HH" And ddlToMinute.SelectedValue <> "MM" Then
                temp2 = ddlToHour.SelectedValue & ":" & ddlToMinute.SelectedValue & ":00" & ddlToAmPm.SelectedValue
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_WorkingHourTo", SqlDbType.DateTime)).Value = Format$(Convert.ToDateTime(temp2), "")
            End If
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_IsInSpecialZone", SqlDbType.NVarChar, 1)).Value = Trim(rblSpecializedZone.SelectedValue)
            If rblSpecializedZone.SelectedValue = "Y" Then
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_LocInSpecialZone", SqlDbType.NVarChar, 50)).Value = Trim(txtLocInSpecialZone.Text)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_AreaSqFt", SqlDbType.NVarChar, 50)).Value = Trim(txtAreaSqFt.Text)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_NearestAirport", SqlDbType.NVarChar, 50)).Value = Trim(txtNearestAirPort.Text)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_NearestRailwayStation", SqlDbType.NVarChar, 50)).Value = Trim(txtNearestRailwayStation.Text)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_NearestPort", SqlDbType.NVarChar, 50)).Value = Trim(txtNearestPort.Text)
            End If

            cmd.Parameters.Add(New SqlParameter("FactoryDetails_SupplierID", SqlDbType.NVarChar, 10)).Value = RemoveLiterals(Session("SupplierID").ToString.Trim)

            cmd.Parameters.Add(New SqlParameter("FactoryDetails_TINNo", SqlDbType.NVarChar, 50)).Value = txttinno.Text
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CSTNo", SqlDbType.NVarChar, 50)).Value = txtcstno.Text
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_STRNo", SqlDbType.NVarChar, 50)).Value = txtstrno.Text
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_ExiseCode", SqlDbType.NVarChar, 50)).Value = txtecode.Text
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_ILNo", SqlDbType.NVarChar, 50)).Value = txtilno.Text
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Osrtrading", SqlDbType.NVarChar, 50)).Value = txtosrtrading.Text

            cmd.Parameters.Add(New SqlParameter("FactoryDetails_FinancialYearId", SqlDbType.NVarChar, 10)).Value = Session("g_FinYear").ToString
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CompanyId", SqlDbType.NVarChar, 10)).Value = Session("g_Company").ToString
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_UserId", SqlDbType.NVarChar, 10)).Value = Session("g_User").ToString
            cmd.Parameters.Add(New SqlParameter("FormName", SqlDbType.NVarChar, 25)).Value = Me.Title.ToString
            cmd.Parameters.Add(New SqlParameter("Mode", SqlDbType.NVarChar, 25)).Value = "Insert"
            If con.State = ConnectionState.Open Then ' check whether connection is opened or not
                con.Close()
            End If
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close() ' close connnetion
            con.Dispose()
            Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlFactoryName)
            Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlConFactoryName)

            '  pnl.Visible = True
            CreateMessageAlert(Me, "Factory Detail Saved Successfully.\n" + "\n To Add Contact Information Click on Add Contact Button.", "StrKeyVal")
            showmessage("Factory Detail Saved successfully.", lblMsg)

            enablecontrol(False)
            ClearFields()
            Call SaveClickVisible(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel)

            'fillgrid(ddlFactoryName.SelectedItem.Value.ToString)


            'SaveClickVisible(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel)

            ' java script code starts here 
            'Dim sString As System.Text.StringBuilder
            'sString = New System.Text.StringBuilder
            'sString.Append("<script language='Javascript'>")
            'sString.Append("JJTest();" & vbCrLf)
            'sString.Append("</script>")
            'ScriptManager.RegisterStartupScript(Me, Me.GetType, "ClientScript", "JJTest();", True)

            'ElseIf txtValidate.Value = 1 Then

            'pnlCon.Visible = True
            'tabletitle.Visible = False
            'tabletitle1.Visible = True
            'Div1.Visible = True
            'tbl3.Visible = True
            'tbl1.Visible = False

            ''FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
            'Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlConFactoryName)
            'ddlConFactoryName.ClearSelection()
            'ddlConFactoryName.Items.FindByText(hf1.Value).Selected = True
            'ddlConFactoryName.Enabled = False

            ''ScriptManager1.SetFocus(btnConAdd)

            'tbl1.Visible = False
            'btnConAdd.Visible = True
            'btnConSave.Visible = False
            'btnConCancel.Visible = False
            'fillgrid(ddlConFactoryName.SelectedItem.Value.ToString)
            ''If ddlFactoryName.SelectedIndex > 0 Then
            '' fillgrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId = '" & RemoveLiterals(ddlConFactoryName.SelectedItem.Text) & "' ) AND (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
            ''End If
            'AddClickVisible(Me, btnAddContact, btnConSave, btnConUpdate, btnConDelete, btnConCancel)
            'txtValidate.Value = 0
            'Else
          
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub

    Protected Function GenerateSupplierFactoryDetailCode() As String
        ' generate supplier factory details code and kid
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "SFD" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from SupplierFactoryDetails where FactoryDetails_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Function

    Protected Sub ddlFactoryName_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlFactoryName.SelectedIndexChanged
      
        If ddlFactoryName.SelectedIndex > 0 Then
            GridClickVisible(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel)
            getExistingData()

            'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId = '" & RemoveLiterals(ddlFactoryName.SelectedItem.Value.ToString.Trim) & "' ) AND (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
            ' function for getexisting factory value 
        Else
            ClearFields()
            enablecontrol(False)
            'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
        End If
        fillgrid(ddlFactoryName.SelectedItem.Value.ToString)
        If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
            enablecontrol(True)
        Else
            enablecontrol(False)
        End If
        If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
            'btnAddContact.Visible = False
            ' btnCancel.Visible = True
            btnDelete.Visible = True
            btnUpdate.Visible = True
            '  EnableControls(True)
        Else
            ' btnAddContact.Visible = True
            ' btnCancel.Visible = False
            btnDelete.Visible = False
            btnUpdate.Visible = False
            '  EnableContactControls(False)
        End If
        btnADD.Visible = False
        btnCancel.Visible = True
    End Sub
    Private Sub getExistingData()
        Dim dt As DataTable = getTable("Select * from SupplierFactoryDetails where FactoryDetails_Kid='" & ddlFactoryName.SelectedItem.Value.Trim & "' and FactoryDetails_IsDeleted='0' and FactoryDetails_CompanyID='" & Session("g_Company").ToString.Trim & "'", "SFD")
        If dt.Rows.Count > 0 Then 'check whether data is exist or not
            ' if exist then assign value to control
            rblRelationship.ClearSelection()
            Try
                rblRelationship.SelectedValue = dt.Rows(0).Item("FactoryDetails_Relationship").ToString()
            Catch ex As Exception
                rblRelationship.SelectedValue = "Owner"
            End Try

            txtAddress.Text = dt.Rows(0).Item("FactoryDetails_Address").ToString
            txtAreaSqFt.Text = dt.Rows(0).Item("FactoryDetails_AreaSqFt").ToString
            txtLocInSpecialZone.Text = dt.Rows(0).Item("FactoryDetails_LocInSpecialZone").ToString
            txtName.Text = dt.Rows(0).Item("FactoryDetails_Name").ToString
            rblExise.ClearSelection()
            Try
                If dt.Rows(0).Item("FactoryDetails_ExiseApp") = "Y" Then
                    rblExise.SelectedValue = "Y"
                    txtExise.Text = dt.Rows(0).Item("FactoryDetails_ExiseEx")
                    txtExise.Enabled = True
                Else
                    rblExise.SelectedValue = "N"
                    txtExise.Enabled = False
                End If
            Catch ex As Exception
                rblExise.SelectedValue = "N"
                txtExise.Enabled = False
            End Try

            rblSalesTax.ClearSelection()
            Try
                If dt.Rows(0).Item("FactoryDetails_SalesTaxApp") = "Y" Then
                    rblSalesTax.SelectedValue = "Y"
                    txtSalesTax.Text = dt.Rows(0).Item("FactoryDetails_SalesTaxEx")
                    txtSalesTax.Enabled = True
                Else
                    rblSalesTax.SelectedValue = "N"
                    txtSalesTax.Enabled = False
                End If
            Catch ex As Exception
                rblSalesTax.SelectedValue = "N"
                txtSalesTax.Enabled = False
            End Try
            txtEmailId.Text = dt.Rows(0).Item("FactoryDetails_EmailID").ToString()
            txtNearestAirPort.Text = dt.Rows(0).Item("FactoryDetails_NearestAirPort").ToString
            txtNearestPort.Text = dt.Rows(0).Item("FactoryDetails_NearestPort").ToString
            txtNearestRailwayStation.Text = dt.Rows(0).Item("FactoryDetails_NearestRailwayStation").ToString
            txtPinCode.Text = dt.Rows(0).Item("FactoryDetails_PinCode").ToString

            txtCountryCode.Text = dt.Rows(0).Item("FactoryDetails_CCPhoneNo").ToString()
            txtCityCode.Text = dt.Rows(0).Item("FactoryDetails_CtyCPhoneNo").ToString()
            txtPhoneNo.Text = dt.Rows(0).Item("FactoryDetails_PhoneNo").ToString()

            txtCountryCodeF.Text = dt.Rows(0).Item("FactoryDetails_CCFaxNo").ToString()
            txtCityCodeF.Text = dt.Rows(0).Item("FactoryDetails_CtyCFaxNo").ToString()
            txtFaxNo.Text = dt.Rows(0).Item("FactoryDetails_FaxNo").ToString()

            Try
                If dt.Rows(0).Item("FactoryDetails_LocationId") = "" Then
                Else
                    getLocation(dt.Rows(0).Item("FactoryDetails_LocationId").ToString)
                End If
            Catch ex As Exception
                Fill_Combo("SELECT distinct Country_Kid, Country_Name FROM Country_Master where Country_IsDeleted='0'and Country_CompanyId='" & Session("g_Company").ToString & "' order by Country_Name", ddlCountry_Code)
                ddlCountry_Code.ClearSelection()
                ddlState_Code.Items.Clear()
                ddlCity_Code.Items.Clear()
            End Try

            Dim time As DateTime
            Dim str As String
            Try
                time = CType(dt.Rows(0).Item("FactoryDetails_WorkingHourFrom").ToString, DateTime)
                str = Format$(Convert.ToDateTime(time), "hh")
                ddlFromHour.ClearSelection()
                ddlFromHour.SelectedValue = str
                str = Format$(Convert.ToDateTime(time), "mm")
                ddlFromMinute.ClearSelection()
                ddlFromMinute.SelectedValue = str
                str = Format$(Convert.ToDateTime(time), "tt")
                ddlFromAmPm.ClearSelection()
                ddlFromAmPm.SelectedValue = str
            Catch ex As Exception
                ddlFromAmPm.ClearSelection()
                ddlFromHour.ClearSelection()
                ddlFromMinute.ClearSelection()
            End Try
            str = ""
            Try
                ddlToAmPm.ClearSelection()
                ddlToHour.ClearSelection()
                ddlToMinute.ClearSelection()
                time = CType(dt.Rows(0).Item("FactoryDetails_WorkingHourTo").ToString, DateTime)
                str = Format$(Convert.ToDateTime(time), "hh")
                ddlToHour.SelectedValue = str
                str = Format$(Convert.ToDateTime(time), "mm")
                ddlToMinute.SelectedValue = str
                str = Format$(Convert.ToDateTime(time), "tt")
                ddlToAmPm.SelectedValue = str
            Catch ex As Exception
                ddlToAmPm.ClearSelection()
                ddlToHour.ClearSelection()
                ddlToMinute.ClearSelection()
            End Try
            Try
                If IsDBNull(dt.Rows(0).Item("FactoryDetails_WeekelyHoliday")) Then
                Else
                    ddlWeeklyHoliday.ClearSelection()
                    ddlWeeklyHoliday.Items.FindByValue(dt.Rows(0).Item("FactoryDetails_WeekelyHoliday")).Selected = True
                End If
            Catch ex As Exception
                ddlWeeklyHoliday.ClearSelection()
            End Try

            If dt.Rows(0).Item("FactoryDetails_IsInSpecialZone").ToString = "Y" Then
                rblSpecializedZone.ClearSelection()
                rblSpecializedZone.Items.FindByText("Yes").Selected = True
                tbl2.Visible = True
            Else
                rblSpecializedZone.ClearSelection()
                rblSpecializedZone.Items.FindByText("No").Selected = True
                tbl2.Visible = False
            End If

            txttinno.Text = dt.Rows(0).Item("FactoryDetails_TINNo").ToString()
            txtcstno.Text = dt.Rows(0).Item("FactoryDetails_CSTNo").ToString()
            txtstrno.Text = dt.Rows(0).Item("FactoryDetails_STRNo").ToString()
            txtecode.Text = dt.Rows(0).Item("FactoryDetails_ExiseCode").ToString()
            txtilno.Text = dt.Rows(0).Item("FactoryDetails_ILNo").ToString()
            txtosrtrading.Text = dt.Rows(0).Item("FactoryDetails_Osrtrading").ToString()

            enablecontrol(True)
        End If
        dt.Clear()
    End Sub

    Private Sub getLocation(ByVal strLocID As String)
        ' get country name, state name and city name from strlocid
        Dim strLocaId, strStateID, strCountry As String
        strLocaId = strLocID
        strStateID = ReturnValue("select City_StateId from City_Master where City_Kid='" & strLocaId.Trim & "'and City_IsDeleted='0' and City_CompanyID='" & Session("g_Company").ToString.Trim & "'")
        strCountry = ReturnValue("select State_CountryId from State_Master where State_Kid='" & strStateID.Trim & "'and State_IsDeleted='0' and State_CompanyID='" & Session("g_Company").ToString.Trim & "'")
        Fill_Combo("select Country_Kid,Country_Name from Country_Master where Country_IsDeleted='0' and Country_CompanyID='" & Session("g_Company").ToString.Trim & "' ", ddlCountry_Code)
        Fill_Combo("select State_Kid,State_Name from State_Master where State_CountryId='" & strCountry.Trim & "'and State_IsDeleted='0' and State_CompanyID='" & Session("g_Company").ToString.Trim & "'", ddlState_Code)
        Fill_Combo("select City_Kid,City_Name from City_Master where City_StateId='" & strStateID.Trim & "'and City_IsDeleted='0' and City_CompanyID='" & Session("g_Company").ToString.Trim & "' ", ddlCity_Code)
        ddlCountry_Code.ClearSelection()
        ddlCountry_Code.Items.FindByValue(strCountry.Trim).Selected = True

        ddlState_Code.ClearSelection()
        ddlState_Code.Items.FindByValue(strStateID.Trim).Selected = True

        ddlCity_Code.ClearSelection()
        ddlCity_Code.Items.FindByValue(strLocaId.Trim).Selected = True

    End Sub

    Protected Sub btnUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
        Try
            tabletitle.Visible = True
            tabletitle1.Visible = False
            '     tbl3.Visible = False
            Dim temp1 As String
            Dim temp2 As String
            temp1 = ddlFromHour.SelectedValue & ":" & ddlFromMinute.SelectedValue & ":00" & ddlFromAmPm.SelectedValue
            temp2 = ddlToHour.SelectedValue & ":" & ddlToMinute.SelectedValue & ":00" & ddlToAmPm.SelectedValue

            Dim i As Integer
            Try
                i = DateDiff(DateInterval.Hour, Convert.ToDateTime(temp1), Convert.ToDateTime(temp2))
                If (i < 0) Then
                    lblError.Text = "Select Proper Time."
                    Exit Sub
                Else
                    lblError.Text = ""
                End If
                If (i = 0) Then
                    Dim j As Integer
                    Try
                        j = DateDiff(DateInterval.Minute, Convert.ToDateTime(temp1), Convert.ToDateTime(temp2))
                    Catch ex As Exception

                    End Try
                    If (j <= 0) Then
                        lblError.Text = "Select Proper Time."
                        Exit Sub
                    Else
                        lblError.Text = ""
                    End If
                Else
                    lblError.Text = ""
                End If
            Catch ex As Exception

            End Try
            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandText = "SupplierFactoryDetails_Proc"    'give a storeprocedure
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Kid", SqlDbType.NVarChar, 10)).Value = RemoveLiterals(ddlFactoryName.SelectedItem.Value.ToString.Trim)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Code", SqlDbType.NVarChar, 25)).Value = ReturnValue("Select FactoryDetails_Code from SupplierFactoryDetails where FactoryDetails_Kid ='" & ddlFactoryName.SelectedItem.Value & "' and FactoryDetails_IsDeleted = '0'")
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Relationship", SqlDbType.NVarChar, 20)).Value = Trim(rblRelationship.SelectedValue.ToString)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Name", SqlDbType.NVarChar, 50)).Value = Trim(txtName.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_LocationId", SqlDbType.NVarChar, 10)).Value = RemoveLiterals(ddlCity_Code.SelectedValue.Trim)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Address", SqlDbType.NVarChar, 150)).Value = Trim(txtAddress.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_PinCode", SqlDbType.NVarChar, 15)).Value = Trim(txtPinCode.Text)

            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CCPhoneNO", SqlDbType.NVarChar, 10)).Value = Trim(txtCountryCode.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CtyCPhoneNO", SqlDbType.NVarChar, 10)).Value = Trim(txtCityCode.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_PhoneNo", SqlDbType.NVarChar, 10)).Value = Trim(txtPhoneNo.Text)
            If rblExise.SelectedValue = "Y" Then
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_ExiseApp", SqlDbType.NVarChar, 1)).Value = Trim(rblExise.SelectedValue.ToString)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_ExiseEx", SqlDbType.NVarChar, 50)).Value = Trim(txtExise.Text)
            Else
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_ExiseApp", SqlDbType.NVarChar, 1)).Value = Trim(rblExise.SelectedValue.ToString)
            End If

            If rblSalesTax.SelectedValue = "Y" Then
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_SalesTaxApp", SqlDbType.NVarChar, 1)).Value = Trim(rblSalesTax.SelectedValue.ToString)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_SalesTaxEx", SqlDbType.NVarChar, 50)).Value = Trim(txtSalesTax.Text)
            Else
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_SalesTaxApp", SqlDbType.NVarChar, 1)).Value = Trim(rblSalesTax.SelectedValue.ToString)
            End If

            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CCFaxNO", SqlDbType.NVarChar, 15)).Value = Trim(txtCountryCodeF.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CtyCFaxNO", SqlDbType.NVarChar, 15)).Value = Trim(txtCityCodeF.Text)
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_FaxNo", SqlDbType.NVarChar, 15)).Value = Trim(txtFaxNo.Text)
            If ddlWeeklyHoliday.SelectedIndex <> 0 Then
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_WeekelyHoliday", SqlDbType.NVarChar, 15)).Value = Trim(ddlWeeklyHoliday.SelectedItem.Value)
            End If

            If ddlFromHour.SelectedValue <> "HH" And ddlFromMinute.SelectedValue <> "MM" Then
                temp1 = ddlFromHour.SelectedValue & ":" & ddlFromMinute.SelectedValue & ":00" & ddlFromAmPm.SelectedValue
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_WorkingHourFrom", SqlDbType.DateTime)).Value = Format$(Convert.ToDateTime(temp1), "")
            End If
            If ddlToHour.SelectedValue <> "HH" And ddlToMinute.SelectedValue <> "MM" Then
                temp2 = ddlToHour.SelectedValue & ":" & ddlToMinute.SelectedValue & ":00" & ddlToAmPm.SelectedValue
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_WorkingHourTo", SqlDbType.DateTime)).Value = Format$(Convert.ToDateTime(temp2), "")
            End If
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_IsInSpecialZone", SqlDbType.NVarChar, 1)).Value = Trim(rblSpecializedZone.SelectedValue)
            If rblSpecializedZone.SelectedValue = "Y" Then
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_LocInSpecialZone", SqlDbType.NVarChar, 50)).Value = Trim(txtLocInSpecialZone.Text)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_AreaSqFt", SqlDbType.NVarChar, 50)).Value = Trim(txtAreaSqFt.Text)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_NearestAirport", SqlDbType.NVarChar, 50)).Value = Trim(txtNearestAirPort.Text)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_NearestRailwayStation", SqlDbType.NVarChar, 50)).Value = Trim(txtNearestRailwayStation.Text)
                cmd.Parameters.Add(New SqlParameter("FactoryDetails_NearestPort", SqlDbType.NVarChar, 50)).Value = Trim(txtNearestPort.Text)
            End If

            cmd.Parameters.Add(New SqlParameter("FactoryDetails_SupplierID", SqlDbType.NVarChar, 10)).Value = RemoveLiterals(Session("SupplierID").ToString.Trim)

            cmd.Parameters.Add(New SqlParameter("FactoryDetails_TINNo", SqlDbType.NVarChar, 50)).Value = txttinno.Text
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CSTNo", SqlDbType.NVarChar, 50)).Value = txtcstno.Text
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_STRNo", SqlDbType.NVarChar, 50)).Value = txtstrno.Text
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_ExiseCode", SqlDbType.NVarChar, 50)).Value = txtecode.Text
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_ILNo", SqlDbType.NVarChar, 50)).Value = txtilno.Text
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_Osrtrading", SqlDbType.NVarChar, 50)).Value = txtosrtrading.Text

            cmd.Parameters.Add(New SqlParameter("FactoryDetails_FinancialYearId", SqlDbType.NVarChar, 10)).Value = Session("g_FinYear").ToString
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_CompanyId", SqlDbType.NVarChar, 10)).Value = Session("g_Company").ToString
            cmd.Parameters.Add(New SqlParameter("FactoryDetails_UserId", SqlDbType.NVarChar, 10)).Value = Session("g_User").ToString
            cmd.Parameters.Add(New SqlParameter("FormName", SqlDbType.NVarChar, 25)).Value = Me.Title.ToString
            cmd.Parameters.Add(New SqlParameter("Mode", SqlDbType.NVarChar, 25)).Value = "Update"
            If con.State = ConnectionState.Open Then ' check whether connection is opened or not
                con.Close()
            End If
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close() ' close connnetion
            con.Dispose()
            Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlFactoryName)
            Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlConFactoryName)
            showmessage("Factory Detail Updated Successfully.", lblMsg)
            'pnlUpdateOK.Visible = True
            CreateMessageAlert(Me, "Factory Detail Updated Successfully.", "StrKeyVal")

            enablecontrol(False)
            ClearFields()
            EditClickVisible(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel)
        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) Handles btnDelete.Click
        ' PnlDelete.Visible = False
        tabletitle.Visible = True
        tabletitle1.Visible = False
        '   tbl3.Visible = False
        ExecuteQuery("UPDATE SupplierFactoryDetails SET FactoryDetails_IsDeleted = '1' WHERE (FactoryDetails_Kid = '" & RemoveLiterals(ddlFactoryName.SelectedItem.Value.ToString.Trim) & "')")
        ' update factorydetails_Isdeleted to 1
        ExecuteQuery("UPDATE SupplierFactoryContacts SET SupplierFactoryContacts_IsDeleted = '1' WHERE (SupplierFactoryContacts_SupplierFactoryId = '" & RemoveLiterals(ddlFactoryName.SelectedItem.Value.ToString.Trim) & "')")
        '  update supplierfactorycontacts_isdeleted to 1
        showmessage("Factory Details Deleted successfully.", lblMsg)
        CreateMessageAlert(Me, "Factory Details Deleted successfully.", "StrKeyVal")
        DeleteClickVisible(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel)
        ' call deleteclick function
        enablecontrol(False)
        ClearFields()
        Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlFactoryName)
        ' fill dropdownlist for existing factory
        Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlConFactoryName)
        '  fill dropdownlist for existing contact
        'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon)
        ' fill grid according to existing grid
        ddlFactoryName.ClearSelection()
        'PnlDelete.Visible = True
        'DeleteClick(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel, btnSearch)
    End Sub

    Protected Sub btnConAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConAdd.Click
        tabletitle.Visible = False
        tabletitle1.Visible = True
        'tbl3.Visible = True
        'gvCon1.DataSource = Nothing
        'gvCon1.DataBind()
        'Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlConFactoryName)
        ' fill dropdownlist for existing factory
        enableconcontrol(True)
        btnConSave.Enabled = True
        clearconfields()
        btnConCancel.Enabled = True
        AddClickVisible(Me, btnConAdd, btnConSave, btnConUpdate, btnConDelete, btnConCancel)
        'ddlConFactoryName.Focus()
        ScriptManager1.SetFocus(ddlConFactoryName)
        Div1.Visible = True
        btnConSave.Visible = True
        If ddlConFactoryName.SelectedIndex > 0 Then
            ddlConFactoryName.Enabled = False
        End If
        ' call addclick function 
    End Sub

    Protected Function GenerateContactsCode() As String
        ' generate supplier factory details code and kid
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "SFC" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from SupplierFactoryContacts where SupplierFactoryContacts_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Function

    Protected Sub btnConSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConSave.Click
        tabletitle.Visible = False
        tabletitle1.Visible = True
        tbl3.Visible = True
        Div1.Visible = True
        'Dim str As String
        'str = ddlConFactoryName.SelectedItem.Value
        'GenerateContactsCode()
        Dim cmd As New Data.SqlClient.SqlCommand()
        Dim sqlcoll As Data.SqlClient.SqlParameterCollection = cmd.Parameters
        sqlcoll.Clear()
        sqlcoll.Add("@SupplierFactoryContacts_Kid", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(NewPrimaryKey(Me))
        sqlcoll.Add("@SupplierFactoryContacts_Code", Data.SqlDbType.NVarChar, 25).Value = GenerateContactsCode().ToString
        sqlcoll.Add("@SupplierFactoryContacts_Title", Data.SqlDbType.NVarChar, 10).Value = ddlkcperson.SelectedItem.Text
        sqlcoll.Add("@SupplierFactoryContacts_ContactPerson", Data.SqlDbType.NVarChar, 100).Value = txtConName.Text
        sqlcoll.Add("@SupplierFactoryContacts_PersonDesignation", Data.SqlDbType.NVarChar, 50).Value = txtConDesi.Text.Trim
        sqlcoll.Add("@SupplierFactoryContacts_PhoneExtn", Data.SqlDbType.NVarChar, 15).Value = txtConExtension.Text.Trim
        sqlcoll.Add("@SupplierFactoryContacts_CCMobileNo", Data.SqlDbType.NVarChar, 10).Value = txtConCountryCode.Text.Trim
        sqlcoll.Add("@SupplierFactoryContacts_MobileNo", Data.SqlDbType.NVarChar, 15).Value = txtConMobileNo.Text
        sqlcoll.Add("@SupplierFactoryContacts_EmailId", Data.SqlDbType.NVarChar, 50).Value = txtConEmailId.Text.Trim
        sqlcoll.Add("@SupplierFactoryContacts_SupplierFactoryId", Data.SqlDbType.NVarChar, 15).Value = RemoveLiterals(ddlConFactoryName.SelectedItem.Value.ToString.Trim)
        sqlcoll.Add("@SupplierFactoryContacts_FinancialYearId", Data.SqlDbType.NVarChar, 10).Value = Session("g_FinYear").ToString
        sqlcoll.Add("@SupplierFactoryContacts_CompanyID", Data.SqlDbType.NVarChar, 10).Value = Session("g_Company").ToString
        sqlcoll.Add("@SupplierFactoryContacts_UserID", Data.SqlDbType.NVarChar, 10).Value = Session("g_User").ToString
        sqlcoll.Add("@FormName", Data.SqlDbType.NVarChar, 50).Value = Me.Title.ToString
        sqlcoll.Add("@Mode", Data.SqlDbType.NVarChar, 10).Value = "Insert"
        ExecQuery("SupplierFactoryContacts_Proc", sqlcoll)
        sqlcoll.Clear()
        fillgrid(ddlConFactoryName.SelectedItem.Value.ToString)
        'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
        showmessage("Factory Contact Detail Save Successfully.", lblConMsg)
        CreateMessageAlert(Me, "Factory Contact Detail Save Successfully.", "StrKeyVal")
        enableconcontrol(False)
        lblConField.Visible = False
        clearconfields()
        SaveClickVisible(Me, btnConAdd, btnConSave, btnConUpdate, btnConDelete, btnConCancel)
        btnConCancel.Visible = False
        hf1.Value = ""
    End Sub

    Protected Sub fillgrid(ByVal Str As String)

        Try
            Dim dt As New DataTable
            gvCon1.Columns(1).Visible = True
            gvCon1.Columns(7).Visible = True
            gvCon1.Columns(3).Visible = True
            If Str.ToString = "Select" Then
                dt = ReturnDataTable("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')")
                
                If dt.Rows.Count < 1 Then
                    Table3.Visible = False
                    tbl3.Visible = False
                    gvCon1.Visible = False
                Else
                    Table3.Visible = True
                    tbl3.Visible = True
                    gvCon1.Visible = True
                End If
            Else
                dt = ReturnDataTable("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId = '" & Str & "' ) AND (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')")

                Table3.Visible = True
                tbl3.Visible = True
                gvCon1.Visible = True

            End If

          
            gvCon1.DataSource = dt
            gvCon1.DataBind()
            gvCon1.SelectedIndex = -1
            gvCon1.PageIndex = 0

            Dim i As Integer
            For i = 0 To gvCon1.Rows.Count - 1
                gvCon1.Rows(i).Cells(4).Text = gvCon1.Rows(i).Cells(3).Text & "  " & gvCon1.Rows(i).Cells(4).Text
                If gvCon1.Rows(i).Cells(7).Text.ToString <> "&nbsp;" Then
                    gvCon1.Rows(i).Cells(8).Text = gvCon1.Rows(i).Cells(7).Text & " - " & gvCon1.Rows(i).Cells(8).Text
                ElseIf gvCon1.Rows(i).Cells(7).Text.ToString = "" Then
                    gvCon1.Rows(i).Cells(8).Text = gvCon1.Rows(i).Cells(8).Text
                End If
            Next
            gvCon1.Columns(1).Visible = False
            gvCon1.Columns(7).Visible = False
            gvCon1.Columns(3).Visible = False

        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub

    'original
    'Public Sub FillGrid(ByVal StrQry As String, ByVal gv As GridView)
    '    ' used to fill grid acounrding to StrQry Parameter
    '    Try
    '        Dim Con As New SqlConnection(ConfigurationManager.AppSettings("ConnectionString")) 'Define connection variable for connecting to SQL-Server
    '        con.Open()                                             'Open the Connection
    '        'Dim cmd As New SqlCommand(StrQry, con)                 'Define command variable to execute the query
    '        'Dim dr As SqlDataReader                                'Define DataReader variable for storing the output of the query
    '        'dr = cmd.ExecuteReader                                 'Assign the output of query to DataReader variable

    '        Dim dr As DataTable = ReturnDataTable(StrQry)

    '        If dr.Rows.Count > 0 Then

    '            Table3.Visible = True
    '            tbl3.Visible = True
    '            gv.Visible = True

    '            gv.Columns(1).Visible = True
    '            gv.Columns(7).Visible = True
    '            gv.Columns(3).Visible = True
    '            gv.DataSource = dr                                     'Set the DataReader Variable as DataSource for the Grid
    '            gv.DataBind()
    '            gv.Columns(1).Visible = False
    '            gv.Columns(7).Visible = False
    '            gv.Columns(3).Visible = False
    '            If Con.State = ConnectionState.Open Then Con.Close() ' If Connection Exists Then Close
    '            Con = Nothing                                        ' Set Connnection Object as nothing       
    '            cmd = Nothing                                        ' Set Command Object as nothing
    '            dr = Nothing                                         ' Set DataReader Object as nothing
    '            Dim i As Integer
    '            For i = 0 To gv.Rows.Count - 1
    '                gv.Rows(i).Cells(4).Text = gv.Rows(i).Cells(3).Text & "  " & gv.Rows(i).Cells(4).Text
    '                If gv.Rows(i).Cells(7).Text.ToString <> "&nbsp;" Then
    '                    gv.Rows(i).Cells(8).Text = gv.Rows(i).Cells(7).Text & " - " & gv.Rows(i).Cells(8).Text
    '                End If
    '            Next
    '        Else
    '            Table3.Visible = False
    '            tbl3.Visible = False
    '            gv.Visible = False
    '        End If


    '    Catch ex As Exception
    '        ' CreateMessageAlert(gv.Page, ex.Message, "StrKeyVal")     'Display the Error Message
    '    End Try
    'End Sub

    Protected Sub btnConUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConUpdate.Click
        tabletitle.Visible = False
        tabletitle1.Visible = True
        tbl3.Visible = True
        Dim cmd As New Data.SqlClient.SqlCommand()
        Dim sqlcoll As Data.SqlClient.SqlParameterCollection = cmd.Parameters
        sqlcoll.Clear()
        sqlcoll.Add("@SupplierFactoryContacts_Kid", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(gvCon1.SelectedDataKey.Value.ToString)
        sqlcoll.Add("@SupplierFactoryContacts_Code", Data.SqlDbType.NVarChar, 25).Value = ReturnValue("Select SupplierFactoryContacts_Code from SupplierFactoryContacts where SupplierFactoryContacts_Kid ='" & ReturnValue(gvCon1.SelectedDataKey.Value.ToString) & "'")
        sqlcoll.Add("@SupplierFactoryContacts_Title", Data.SqlDbType.NVarChar, 10).Value = ddlkcperson.SelectedItem.Text
        sqlcoll.Add("@SupplierFactoryContacts_ContactPerson", Data.SqlDbType.NVarChar, 100).Value = txtConName.Text
        sqlcoll.Add("@SupplierFactoryContacts_PersonDesignation", Data.SqlDbType.NVarChar, 50).Value = txtConDesi.Text.Trim
        sqlcoll.Add("@SupplierFactoryContacts_PhoneExtn", Data.SqlDbType.NVarChar, 15).Value = txtConExtension.Text.Trim
        sqlcoll.Add("@SupplierFactoryContacts_CCMobileNo", Data.SqlDbType.NVarChar, 10).Value = txtConCountryCode.Text.Trim
        sqlcoll.Add("@SupplierFactoryContacts_MobileNo", Data.SqlDbType.NVarChar, 15).Value = txtConMobileNo.Text
        sqlcoll.Add("@SupplierFactoryContacts_EmailId", Data.SqlDbType.NVarChar, 50).Value = txtConEmailId.Text.Trim
        sqlcoll.Add("@SupplierFactoryContacts_SupplierFactoryId", Data.SqlDbType.NVarChar, 15).Value = RemoveLiterals(ddlConFactoryName.SelectedItem.Value.ToString.Trim)
        sqlcoll.Add("@SupplierFactoryContacts_FinancialYearId", Data.SqlDbType.NVarChar, 10).Value = Session("g_FinYear").ToString
        sqlcoll.Add("@SupplierFactoryContacts_CompanyID", Data.SqlDbType.NVarChar, 10).Value = Session("g_Company").ToString
        sqlcoll.Add("@SupplierFactoryContacts_UserID", Data.SqlDbType.NVarChar, 10).Value = Session("g_User").ToString
        sqlcoll.Add("@FormName", Data.SqlDbType.NVarChar, 50).Value = Me.Title.ToString
        sqlcoll.Add("@Mode", Data.SqlDbType.NVarChar, 10).Value = "Update"
        ExecQuery("SupplierFactoryContacts_Proc", sqlcoll)
        sqlcoll.Clear()
        fillgrid(ddlConFactoryName.SelectedItem.Value.ToString)
        'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
        showmessage("Factory Contact Detail Updated Successfully.", lblConMsg)
        CreateMessageAlert(Me, "Factory Contact Detail Updated Successfully.", "StrKeyVal")
        enableconcontrol(False)
        clearconfields()
        lblConField.Visible = True
        EditClickVisible(Me, btnConAdd, btnConSave, btnConUpdate, btnConDelete, btnConCancel)


    End Sub

    Protected Sub btnConDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConDelete.Click
        tabletitle.Visible = False
        tabletitle1.Visible = True
        tbl3.Visible = True
        ExecuteQuery("UPDATE SupplierFactoryContacts SET SupplierFactoryContacts_IsDeleted = '1' WHERE (SupplierFactoryContacts_Kid = '" & RemoveLiterals(gvCon1.SelectedDataKey.Value.ToString) & "')")
        showmessage("Factory Contact Detail Deleted successfully.", lblConMsg)
        CreateMessageAlert(Me, "Factory Contact Detail Deleted successfully.", "StrKeyVal")
        DeleteClickVisible(Me, btnConAdd, btnConSave, btnConUpdate, btnConDelete, btnConCancel)
        enableconcontrol(False)
        clearconfields()
        lblConField.Visible = True
        fillgrid(ddlConFactoryName.SelectedItem.Value.ToString)
        'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
    End Sub


    Protected Sub gvCon_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvCon.SelectedIndexChanged
        Dim dt As DataTable
        dt = ReturnDataTable("Select * From SupplierFactoryContacts where SupplierFactoryContacts_Kid ='" & RemoveLiterals(gvCon.SelectedDataKey.Value.ToString) & "'and SupplierFactoryContacts_IsDeleted = '0'")
        If dt.Rows.Count > 0 Then
            Try
                ddlkcperson.ClearSelection()
                ddlkcperson.Items.FindByText(dt.Rows(0).Item("SupplierFactoryContacts_Title").ToString()).Selected = True
            Catch ex As Exception
                ddlkcperson.ClearSelection()
            End Try
            'Contacts_Kid = dt.Rows(0).Item("SupplierFactoryContacts_Kid").ToString()
            'Contacts_Code = dt.Rows(0).Item("SupplierFactoryContacts_Code").ToString()
            txtConName.Text = dt.Rows(0).Item("SupplierFactoryContacts_ContactPerson").ToString()
            txtConDesi.Text = dt.Rows(0).Item("SupplierFactoryContacts_PersonDesignation").ToString()
            txtConExtension.Text = dt.Rows(0).Item("SupplierFactoryContacts_PhoneExtn").ToString()
            txtConCountryCode.Text = dt.Rows(0).Item("SupplierFactoryContacts_CCMobileNo").ToString()
            txtConMobileNo.Text = dt.Rows(0).Item("SupplierFactoryContacts_MobileNo").ToString()
            txtConEmailId.Text = dt.Rows(0).Item("SupplierFactoryContacts_EmailId").ToString()
            Try
                ddlConFactoryName.ClearSelection()
                ddlConFactoryName.Items.FindByValue(dt.Rows(0).Item("SupplierFactoryContacts_SupplierFactoryId").ToString).Selected = True
            Catch ex As Exception
                ddlConFactoryName.ClearSelection()
            End Try
            enableconcontrol(True)
            GridClickVisible(Me, btnConAdd, btnConSave, btnConUpdate, btnConDelete, btnConCancel)
        End If
    End Sub

    Protected Sub btnConCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConCancel.Click
        tabletitle.Visible = False
        tabletitle1.Visible = True
        tbl3.Visible = True
        clearconfields()
        enableconcontrol(False)
        lblConField.Visible = True
        'ddlConFactoryName.Enabled = True
        gvCon1.SelectedIndex = -1
        Div1.Visible = True
        fillgrid(ddlConFactoryName.SelectedItem.Value.ToString.ToString)
        'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
        CancelClickVisible(Me, btnConAdd, btnConSave, btnConUpdate, btnConDelete, btnConCancel)
        'btnConSearch.Visible = False
        btnConCancel.Visible = False
        btnConAdd.Enabled = True
        ddlConFactoryName.Enabled = False
    End Sub
    Protected Sub iCLose_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles iCLose.Click
        'Div1.Visible = False
        tbl1.Visible = True
        pnlCon.Visible = False
        tabletitle.Visible = True
        tabletitle1.Visible = False
        gvCon1.SelectedIndex = -1
        '  btnADD.Visible = True
        'btnADD.Focus()
        'btnSearch.Visible = False
        ScriptManager1.SetFocus(btnADD)
        '  btnCancel.Enabled = True
        'ddlFactoryName.SelectedIndex = -1
        '   btnADD.Enabled = True
        enableconcontrol(False)
        fillgrid(ddlFactoryName.SelectedItem.Value.ToString.ToString)
        CancelClickVisible(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel)
        ddlFactoryName.Enabled = True
        hf1.Value = ""
        'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)


        ' ddlConFactoryName.Enabled = True
    End Sub

    Protected Sub btnConClose_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConClose.Click
        ' Div1.Visible = False
        tabletitle.Visible = True
        tabletitle1.Visible = False
        tbl1.Visible = True
        pnlCon.Visible = False
        gvCon1.SelectedIndex = -1
        'btnADD.Focus()
        '  btnADD.Visible = True
        ' btnSearch.Visible = False
        ScriptManager1.SetFocus(btnADD)
        'btnCancel.Enabled = True
        '  btnADD.Enabled = True
        'ddlFactoryName.SelectedIndex = -1
        'btnADD.Enabled = True
        clearconfields()
        ClearFields()
        enableconcontrol(False)
        'ddlConFactoryName.Enabled = True
        fillgrid(ddlFactoryName.SelectedItem.Value.ToString.ToString)
        CancelClickVisible(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel)
        ddlFactoryName.Enabled = True
        hf1.Value = ""

    End Sub

    Protected Sub ddlConFactoryName_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlConFactoryName.SelectedIndexChanged
        tabletitle.Visible = False
        tabletitle1.Visible = True
        tbl3.Visible = True
        Div1.Visible = True
        fillgrid(ddlConFactoryName.SelectedItem.Value.ToString)

        'If ddlConFactoryName.SelectedIndex > 0 Then
        '    FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId = '" & RemoveLiterals(ddlConFactoryName.SelectedItem.Value.ToString.Trim) & "' ) AND (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
        'Else
        '    FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
        '    'If gvCon1.Rows.Count = 0 Then
        '    '    showmessage("No Contacts Found.", lblConMsg)

        'End If
    End Sub

    'Protected Sub btnOK_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnOK.Click
    '    tabletitle.Visible = False
    '    tabletitle1.Visible = True
    '    tbl1.Visible = False
    '    pnlCon.Visible = True
    '    Div1.Visible = True
    '    tbl3.Visible = True
    '    FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
    '    'btnConAdd.Focus()
    '    ScriptManager1.SetFocus(btnConAdd)

    'End Sub

    'Protected Sub btnc_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnc.Click
    '    tabletitle.Visible = True
    '    tabletitle1.Visible = False
    '    tbl1.Visible = True
    '    pnlCon.Visible = False
    'End Sub

    'Protected Sub btnUpdateOK_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpdateOK.Click
    '    pnlUpdateOK.Visible = False
    'End Sub

    'Protected Sub btnDeleteOk_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDeleteOk.Click
    '    'PnlDelete.Visible = False
    '    'ExecuteQuery("UPDATE SupplierFactoryDetails SET FactoryDetails_IsDeleted = '1' WHERE (FactoryDetails_Kid = '" & RemoveLiterals(ddlFactoryName.SelectedItem.Value.ToString.Trim) & "')")
    '    '' update factorydetails_Isdeleted to 1
    '    'ExecuteQuery("UPDATE SupplierFactoryContacts SET SupplierFactoryContacts_IsDeleted = '1' WHERE (SupplierFactoryContacts_SupplierFactoryId = '" & RemoveLiterals(ddlFactoryName.SelectedItem.Value.ToString.Trim) & "')")
    '    ''  update supplierfactorycontacts_isdeleted to 1
    '    'showmessage("Record Deleted Successfully.", lblMsg)
    '    ''CreateMessageAlert(Me, "Your Record is Deleted successfully.", "StrKeyVal")
    '    'DeleteClick(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel, btnSearch)
    '    '' call deleteclick function
    '    'enablecontrol(False)
    '    'ClearFields()
    '    'Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlFactoryName)
    '    '' fill dropdownlist for existing factory
    '    'Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlConFactoryName)
    '    ''  fill dropdownlist for existing contact
    '    ''FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon)
    '    '' fill grid according to existing grid

    'End Sub

    'Protected Sub btnDeleteCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDeleteCancel.Click
    '    'enablecontrol(False)
    '    'ClearFields()
    '    'PnlDelete.Visible = False
    '    'DeleteClick(Me, btnADD, btnSave, btnUpdate, btnDelete, btnCancel, btnSearch)
    'End Sub

    Protected Sub btnAddContact_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddContact.Click
        tabletitle.Visible = False
        tabletitle1.Visible = True
        Div1.Visible = True
        tbl3.Visible = True
        lblConField.Visible = True
        'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
        Fill_Combo("Select FactoryDetails_Kid, FactoryDetails_Name  from SupplierFactoryDetails where FactoryDetails_SupplierID = '" & Session("SupplierID").ToString() & "' and FactoryDetails_IsDeleted = '0'", ddlConFactoryName)
        'btnConAdd.Focus()
        ScriptManager1.SetFocus(btnConAdd)
        'gvCon1.DataSource = Nothing
        'gvCon1.DataBind()
        tbl1.Visible = False
        pnlCon.Visible = True
        ddlConFactoryName.Enabled = True
        btnConAdd.Visible = True
        btnConSave.Visible = False
        btnConCancel.Visible = False
        ddlConFactoryName.Enabled = True
        If ddlFactoryName.SelectedIndex > 0 Then
            '   FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId = '" & RemoveLiterals(ddlFactoryName.SelectedItem.Value.ToString.Trim) & "' ) AND (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
            ddlConFactoryName.SelectedValue = ddlFactoryName.SelectedValue
            ' ddlConFactoryName.Enabled = False
            'FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_KId = '" & RemoveLiterals(ddlFactoryName.SelectedItem.Value.ToString.Trim) & "') AND (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
        Else
            If hf1.Value <> "" Then
                ddlConFactoryName.Items.FindByText(RemoveLiterals(hf1.Value.ToString)).Selected = True
                ddlConFactoryName.Enabled = False
            Else
                ddlConFactoryName.Enabled = True
            End If
        End If
        fillgrid(ddlFactoryName.SelectedItem.Value.ToString)
    End Sub

    Protected Sub gvCon1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvCon1.SelectedIndexChanged
        tabletitle.Visible = False
        tbl1.Visible = False

        tabletitle1.Visible = True
        TABLE1.Visible = True
        pnlCon.Visible = True
        Div1.Visible = True
        tbl3.Visible = True
        Dim dt As DataTable
        dt = ReturnDataTable("Select * From SupplierFactoryContacts where SupplierFactoryContacts_Kid ='" & RemoveLiterals(gvCon1.SelectedDataKey.Value.ToString) & "'and SupplierFactoryContacts_IsDeleted = '0'")
        If dt.Rows.Count > 0 Then
            Try
                ddlkcperson.ClearSelection()
                ddlkcperson.Items.FindByText(dt.Rows(0).Item("SupplierFactoryContacts_Title").ToString()).Selected = True
            Catch ex As Exception
                ddlkcperson.ClearSelection()
            End Try
            'Contacts_Kid = dt.Rows(0).Item("SupplierFactoryContacts_Kid").ToString()
            'Contacts_Code = dt.Rows(0).Item("SupplierFactoryContacts_Code").ToString()
            txtConName.Text = dt.Rows(0).Item("SupplierFactoryContacts_ContactPerson").ToString()
            txtConDesi.Text = dt.Rows(0).Item("SupplierFactoryContacts_PersonDesignation").ToString()
            txtConExtension.Text = dt.Rows(0).Item("SupplierFactoryContacts_PhoneExtn").ToString()
            txtConCountryCode.Text = dt.Rows(0).Item("SupplierFactoryContacts_CCMobileNo").ToString()
            txtConMobileNo.Text = dt.Rows(0).Item("SupplierFactoryContacts_MobileNo").ToString()
            txtConEmailId.Text = dt.Rows(0).Item("SupplierFactoryContacts_EmailId").ToString()
            Try
                ddlConFactoryName.ClearSelection()
                ddlConFactoryName.Items.FindByValue(dt.Rows(0).Item("SupplierFactoryContacts_SupplierFactoryId").ToString).Selected = True
            Catch ex As Exception
                ddlConFactoryName.ClearSelection()
            End Try
            enableconcontrol(True)
            GridClickVisible(Me, btnConAdd, btnConSave, btnConUpdate, btnConDelete, btnConCancel)
        End If
        If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
            enableconcontrol(True)
        Else
            enableconcontrol(False)
        End If
        If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
            'btnAddContact.Visible = False
            ' btnCancel.Visible = True
            btnConDelete.Visible = True
            btnConUpdate.Visible = True
            btnConAdd.Visible = False
            btnConCancel.Visible = True
            '  EnableControls(True)
        Else
            ' btnAddContact.Visible = True
            ' btnCancel.Visible = False
            btnConDelete.Visible = False
            btnConUpdate.Visible = False
            btnConAdd.Visible = True
            '  EnableContactControls(False)
        End If
        ' btnConAdd.Visible = True
        btnConCancel.Visible = False
    End Sub

    Protected Sub btnBack_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Response.Redirect("other-details.aspx")
    End Sub

    Protected Sub gvCon1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvCon1.PageIndexChanging
        gvCon1.PageIndex = e.NewPageIndex

        If ddlConFactoryName.SelectedIndex > 0 Then
            fillgrid(ddlConFactoryName.SelectedItem.Value.ToString)
        ElseIf ddlFactoryName.SelectedIndex > 0 Then
            fillgrid(ddlFactoryName.SelectedItem.Value.ToString)
        Else
            fillgrid(ddlFactoryName.SelectedItem.Value.ToString)
        End If

        'If (ddlFactoryName.SelectedIndex > 0) Then
        '    FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId = '" & RemoveLiterals(ddlFactoryName.SelectedItem.Value.ToString.Trim) & "' ) AND (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
        'Else
        '    FillGrid("SELECT SupplierFactoryContacts.*, SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId AS Expr1, SupplierFactoryDetails.FactoryDetails_SupplierId, SupplierFactoryDetails.FactoryDetails_IsDeleted, SupplierFactoryDetails.FactoryDetails_Name AS [Factory Name], SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted AS Expr2 FROM SupplierFactoryDetails INNER JOIN SupplierFactoryContacts ON SupplierFactoryDetails.FactoryDetails_Kid = SupplierFactoryContacts.SupplierFactoryContacts_SupplierFactoryId WHERE (SupplierFactoryDetails.FactoryDetails_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (SupplierFactoryDetails.FactoryDetails_IsDeleted = '0') AND (SupplierFactoryContacts.SupplierFactoryContacts_IsDeleted = N'0')", gvCon1)
        'End If
        'FillGrid("")
    End Sub
End Class
