Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports Ajax


Partial Class sv_bank_details
    Inherits System.Web.UI.Page
    Shared Search As Boolean
    Shared g_User As String
    Shared g_Company As String
    Shared str As String
    Public strPath As String
    Shared City_Kid As String
    Shared City_Code As String
    Shared Bank_Kid As String
    Shared Bank_Code As String
    Shared Category(10) As String
    Shared i As Integer
    Shared kid As String
    Shared code As String
    'Shared flgbtnsave As Boolean            'used for enable and disable save button
    Dim btnsearch As Button = New Button()  'button is used to call function like cancelclick nothing more

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Ajax.Utility.RegisterTypeForAjax(GetType(sv_bank_details))
        lblError.Visible = False
        Try
            If Session("SupplierID") Is Nothing And Session("AdminID") = Nothing Then
                Response.Redirect("listproduct.aspx?sess=expire")
                Exit Sub
            End If
            If (Not IsPostBack) Then        'If IsPostBack is false then

                btnDelete.Attributes.Add("onclick", "return ConfrmMsg();")
                btnUpdate.Attributes.Add("onclick", "return UpdateMsg();")
                BtnSave.Attributes.Add("onclick", "return SaveConfirm();")


                ' flgbtnsave = True
                If Session("SupplierID") Is Nothing Then ' check whether supplier is loged in or not
                    Response.Redirect("listproduct.aspx")
                    Exit Sub
                End If

                ClearFields()               'Clear the TextFields
                ' UnLockTextBox(False)        'Unlock (Enable) TextFields
                'g_User = "U1"
                'g_Company = "COM1"
                g_User = Session("g_User").ToString
                g_Company = Session("g_Company").ToString
                g_FinYear = Session("g_FinYear").ToString
                txtBankDetails_AccNo.Attributes.Add("onkeypress", "return numbersonly(event);")

                Call CancelClickVisible(Me, btnBankAdd, BtnSave, btnUpdate, btnDelete, btnCancel, btnsearch)


                'Dim catid As String
                'catid = ReturnValue("Select Product_CategoryID from Product_Master where Product_Kid= '" & Session("ProductID").ToString() & "'and Product_IsDeleted='0' and Product_CompanyId ='" & Session("g_Company") & "' ")
                i = 0
                'FillCategoryName(catid)
                'FillCountryBank()
                'Fills Country and Bank DropDownList

                '  getExistingData()
                btnDelete.Attributes.Add("onclick", "return ConfrmMsg();")
                Call CheckRights(Me, Session("g_User"), "Bank Details")



                If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                    '  btnUpdate.Visible = True
                    ' BtnSave.Visible = True
                    ' BtnSave.Enabled = False

                Else
                    btnUpdate.Visible = False
                    btnDelete.Visible = False
                End If
                EnableControls(False)
                fillgrid()
                btnBankAdd.Focus()
                ScriptManager1.SetFocus(btnBankAdd)
                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
            End If
            'BtnAdd.Visible = False
            'txtCity.Visible = False
            '            rwCity.Visible = False

            ' btnAddBank.Visible = False
            'txtBankName.Visible = False
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub

  
    Function fillgrid()
        Try
            Dim con As New SqlConnection()
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            gvBankDetails.Columns(1).Visible = True
            gvBankDetails.Columns(6).Visible = True
            ' Dim str As String = "SELECT  * FROM V_SRMPersonalInfo_Master where PersonalInfo_Kid='" & Session("PersonalId") & "'"
            Dim str As String = "SELECT     BankDetails.BankDetails_Kid, BankDetails.BankDetails_Name, BankDetails.BankDetails_AccNo, BankDetails.BankDetails_IsPaymentBank,City_Master.City_Name + ',' + BankDetails.BankDetails_Address AS Address FROM         BankDetails INNER JOIN     City_Master ON BankDetails.BankDetails_LocationId = City_Master.City_Kid WHERE     (BankDetails.BankDetails_SupplierID = '" & Session("SupplierID") & "') AND (BankDetails.BankDetails_CompanyId ='" & Session("g_Company").ToString & "') AND      (BankDetails.BankDetails_UserId = '" & Session("g_User").ToString & "') AND (BankDetails.BankDetails_IsDeleted = N'0')"
            Dim da As New SqlDataAdapter(str, con)
            Dim ds As New DataSet
            da.Fill(ds)
            If ds.Tables(0).Rows.Count < 1 Then
                'if data is not available
                gvBankDetails.Visible = False
                tablegrid.Visible = False
                Table3.Visible = False
                Exit Function


                'If Session("AdminID") <> Nothing or Session("AdminID") = Nothing Then
                '    flgbtnsave = True
                'End If

            Else
                'If Session("AdminID") <> Nothing or Session("AdminID") = Nothing Then
                '    flgbtnsave = False
                'End If
                Table3.Visible = True
                tablegrid.Visible = True
                gvBankDetails.Visible = True
                gvBankDetails.DataSource = ds.Tables(0)
                gvBankDetails.DataBind()
                gvBankDetails.SelectedIndex = -1
                gvBankDetails.PageIndex = 0

                gvBankDetails.Columns(1).Visible = False
                gvBankDetails.Columns(6).Visible = False
                ds.Dispose()
                da.Dispose()
                con.Dispose()
            End If


        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Function

    Protected Sub GenerateCode()
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "BND" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from BankDetails where BankDetails_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                Else
                    txtBankDetails_Code.Text = code
                    Exit Sub
                End If
            End While
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub
    Private Sub FillCountryBank()
        Try
            'Fill Bank Name,Country
            'FillComboWithOthers("SELECT DISTINCT Bank_Kid, Bank_Name FROM Bank_Master WHERE Bank_CompanyId = '" & Session("g_Company") & "' AND (Bank_IsDeleted = '0') order by Bank_Name", ddlBankDetails_PrimaryBankId)
            Fill_Combo("SELECT Country_Kid,Country_Name FROM Country_Master where Country_IsDeleted='0'and Country_CompanyId='" & Session("g_Company") & "' order by Country_Name", ddlCountry_Name)
            ddlCountry_Name.Items.FindByText("India").Selected = True
            Dim sender As Object = Nothing
            Dim e As System.EventArgs = Nothing
            ddlCountry_Name_SelectedIndexChanged(sender, e)
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub
    Protected Sub ClearFields()
        Try
            txtBankDetails_Code.Text = ""
            'Assign Null to the TextField
            txtBankName.Text = ""
            txtBankDetails_AccNo.Text = ""
            txtBankDetails_Address.Text = ""
            rbPaymentBank.ClearSelection()
            ddlCountry_Name.ClearSelection()             'Assign Null to the DropDownList
            ddlCountry_Name.SelectedIndex = -1
            ddlState_Name.ClearSelection()             'Assign Null to the DropDownList
            ddlState_Name.SelectedIndex = -1
            ddlCity_Name.ClearSelection()             'Assign Null to the DropDownList
            ddlCity_Name.SelectedIndex = -1
            'ddlBankDetails_LocationId.ClearSelection()             'Assign Null to the DropDownList
            'ddlBankDetails_LocationId.SelectedIndex = -1
            'txtBankDetails_Address.Text = ""                        'Assign Null to the TextField
            'ddlBankDetails_PrimaryBankId.ClearSelection()          'Assign Null to the DropDownList
            'ddlBankDetails_PrimaryBankId.SelectedIndex = -1
            txtBankDetails_AccNo.Text = ""
            '            txtCity.Text = ""                'Assign Null to the TextField
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub
    Protected Sub EnableControls(ByVal Action As Boolean)
        Try
            txtBankName.Enabled = Action
            ddlCountry_Name.Enabled = Action                                'Enable / Disable the DropDownList
            ddlState_Name.Enabled = Action                                  'Enable / Disable the DropDownList
            ddlCity_Name.Enabled = Action                                   'Enable / Disable the DropDownList
            ' ddlBankDetails_LocationId.Enabled = Action                      'Enable / Disable the DropDownList
            'txtBankDetails_Address.Enabled = Action                         'Enable / Disable the TextField
            'ddlBankDetails_PrimaryBankId.Enabled = Action                   'Enable / Disable the DropDownList
            txtBankDetails_AccNo.Enabled = Action
            txtBankDetails_AccNo.Enabled = Action
            txtBankDetails_Address.Enabled = Action
            rbPaymentBank.Enabled = Action
            ' txtCity.Enabled = Action
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub

    Private Sub FillCombos()
        Try
            'Fill Country,State,City and Location
            Fill_Combo("SELECT DISTINCT Country_Kid,Country_Name FROM Country_Master where Country_IsDeleted='0'and Country_CompanyId='" & Session("g_Company") & "' order by Country_Name", ddlCountry_Name)
            Fill_Combo("SELECT DISTINCT State_Kid, State_Name FROM State_Master WHERE (State_CompanyId = '" & Session("g_Company") & "') AND (State_IsDeleted = '0') ORDER BY State_Name", ddlState_Name)
            Fill_Combo("SELECT DISTINCT City_Kid, City_Name FROM City_Master WHERE (City_CompanyId = '" & Session("g_Company") & "') AND (City_IsDeleted = '0') ORDER BY City_Name", ddlCity_Name)
            'Fill_Combo("SELECT DISTINCT Location_Kid, Location_Name FROM Location_Master WHERE (Location_CompanyId = '" & Session("g_Company") & "') AND (Location_IsDeleted = '0') ORDER BY Location_Name", ddlBankDetails_LocationId)
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub



    'Protected Sub BtnAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnAdd.Click
    '    Try
    '        'If (txtcity.Text = "") Then
    '        '    CreateMessageAlert(Me, "Please Enter City Name...!!!", "StrKeyVal")
    '        '    txtcity.Focus()
    '        '    Exit Sub
    '        'End If
    '        GenerateCityCode()
    '        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"
    '        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_Name.SelectedValue
    '        cmd.Parameters.Add(New SqlParameter("@City_CompanyID", Data.SqlDbType.NVarChar, 10)).Value = Session("g_Company")
    '        cmd.Parameters.Add(New SqlParameter("@City_FinancialYearId", Data.SqlDbType.NVarChar, 10)).Value = Session("g_FinYear")
    '        cmd.Parameters.Add(New SqlParameter("@City_UserID", Data.SqlDbType.NVarChar, 10)).Value = Session("g_User")
    '        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"
    '        Con.Open()
    '        cmd.ExecuteNonQuery()
    '        ddlCity_Name.Visible = True
    '        Fill_Combo("Select City_KId, City_Name from City_Master where City_Isdeleted='0' and  City_StateId ='" & ddlState_Name.SelectedItem.Value & "' and City_CompanyId ='" & Session("g_Company") & "'  order by City_Name", ddlCity_Name)
    '        ddlCity_Name.Items.FindByText(txtCity.Text).Selected = True
    '        cmd.Dispose()
    '        Con.Dispose()
    '        BtnSave.Enabled = True
    '        btnCancel.Enabled = True
    '        ScriptManager1.SetFocus(txtBankDetails_Address)
    '    Catch ex As Exception
    '        CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
    '    End Try
    'End Sub

    Protected Sub GenerateCityCode()
        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 RadioButtonList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)

    End Sub



    Protected Sub BtnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnSave.Click
        'Save Item in Bank Details
        Try
            Call GenerateCode()
            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "BankDetails_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Kid", SqlDbType.NVarChar, 20)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Code", SqlDbType.NVarChar, 25)).Value = Trim(txtBankDetails_Code.Text)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Name", SqlDbType.NVarChar, 200)).Value = Trim(txtBankName.Text)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_PrimaryBankId", SqlDbType.NVarChar, 25)).Value = ""
            cmd.Parameters.Add(New SqlParameter("@BankDetails_LocationId", SqlDbType.NVarChar, 25)).Value = RemoveLiterals(Trim(ddlCity_Name.SelectedItem.Value))
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Address", SqlDbType.NVarChar, 150)).Value = Trim(txtBankDetails_Address.Text)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_AccNo", SqlDbType.NVarChar, 18)).Value = Trim(txtBankDetails_AccNo.Text)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_IsPaymentBank", SqlDbType.NVarChar, 50)).Value = Trim(rbPaymentBank.SelectedValue.Trim)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_SupplierID", SqlDbType.NVarChar, 20)).Value = Session("SupplierID")
            cmd.Parameters.Add(New SqlParameter("@BankDetails_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Session("g_FinYear")
            cmd.Parameters.Add(New SqlParameter("@BankDetails_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@BankDetails_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Bank Details"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Insert"
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()

            CreateMessageAlert(Me, "Bank Details Saved Successfully.", "StrKeyVal")
            showmessage("Record saved successfully", lblError)
            fillgrid()
            ClearFields()
            EnableControls(False)
            Call SaveClickVisible(Me, btnBankAdd, BtnSave, btnUpdate, btnDelete, btnCancel, btnsearch)
            'Response.Redirect("supplier-keycontacts.aspx")
            con.Dispose()
            cmd.Dispose()
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub
    'Protected Sub showmessage(ByVal msg As String)
    '    lblError.Visible = True
    '    lblError.Text = msg
    'End Sub
    Private Sub getLocation(ByVal strLocID As String)
        Try
            Dim strLocaId, strStateID, strCountry As String
            strLocaId = strLocID
            'strCityID = ReturnValue("select Location_CityId from Location_Master where Location_Kid='" & strLocaId.Trim & "' and Location_IsDeleted='0' and Location_CompanyID='" & g_Company.Trim & "'")
            strStateID = ReturnValue("select City_StateId from City_Master where City_Kid='" & strLocaId.Trim & "'and City_IsDeleted='0' and City_CompanyID='" & Session("g_Company") & "'")
            strCountry = ReturnValue("select State_CountryId from State_Master where State_Kid='" & strStateID.Trim & "'and State_IsDeleted='0' and State_CompanyID='" & Session("g_Company") & "'")
            Fill_Combo("select Country_Kid,Country_Name from Country_Master where Country_IsDeleted='0' and Country_CompanyID='" & Session("g_Company") & "'", ddlCountry_Name)
            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") & "' ", ddlState_Name)
            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") & "'", ddlCity_Name)
            'Fill_Combo("select Location_Kid,Location_Name from Location_Master where Location_CityId='" & strCityID.Trim & "'and Location_IsDeleted='0' and Location_CompanyID='" & g_Company.Trim & "'", ddlASS_LocationId)
            ddlCountry_Name.ClearSelection()
            ddlCountry_Name.Items.FindByValue(strCountry.Trim).Selected = True

            ddlState_Name.ClearSelection()
            ddlState_Name.Items.FindByValue(strStateID.Trim).Selected = True

            ddlCity_Name.ClearSelection()
            ddlCity_Name.Items.FindByValue(strLocaId.Trim).Selected = True

            'ddlASS_LocationId.ClearSelection()
            'ddlASS_LocationId.Items.FindByValue(strLocaId.Trim).Selected = True
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub
    Protected Sub btnUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
        Try
            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "BankDetails_Proc"
            cmd.Connection = con
            Dim ispaymentbank As String = ReturnValue("select BankDetails_IsPaymentBank from bankdetails where bankdetails_isdeleted='0' and bankdetails_supplierid='" & Session("SupplierID") & "' and BankDetails_IsPaymentBank='y'")
            If ispaymentbank = "y" Then
                ispaymentbank = ReturnValue("select BankDetails_IsPaymentBank from bankdetails where bankdetails_isdeleted='0' and bankdetails_supplierid='" & Session("SupplierID") & "'  and BankDetails_Kid='" & gvBankDetails.SelectedRow.Cells(1).Text & "'")
                If ispaymentbank = "n" And rbPaymentBank.SelectedValue = "y" Then
                    showmessage("Already one bank selected as payment bank", lblError)
                    Exit Sub
                End If
            End If
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Kid", SqlDbType.NVarChar, 20)).Value = RemoveLiterals(kid.ToString.Trim)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Code", SqlDbType.NVarChar, 25)).Value = code.ToString.Trim()
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Name", SqlDbType.NVarChar, 200)).Value = Trim(txtBankName.Text)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_PrimaryBankId", SqlDbType.NVarChar, 25)).Value = ""
            cmd.Parameters.Add(New SqlParameter("@BankDetails_LocationId", SqlDbType.NVarChar, 25)).Value = RemoveLiterals(Trim(ddlCity_Name.SelectedItem.Value))
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Address", SqlDbType.NVarChar, 150)).Value = Trim(txtBankDetails_Address.Text)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_AccNo", SqlDbType.NVarChar, 18)).Value = Trim(txtBankDetails_AccNo.Text)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_IsPaymentBank", SqlDbType.NVarChar, 50)).Value = Trim(rbPaymentBank.SelectedValue.Trim)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_SupplierID", SqlDbType.NVarChar, 20)).Value = Session("SupplierID")
            cmd.Parameters.Add(New SqlParameter("@BankDetails_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Session("g_FinYear")
            cmd.Parameters.Add(New SqlParameter("@BankDetails_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@BankDetails_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Bank Details"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Update"
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            ClearFields()
            EnableControls(False)
            fillgrid()
            Call EditClickVisible(Me, btnBankAdd, BtnSave, btnUpdate, btnDelete, btnCancel, btnsearch)
            con.Dispose()
            cmd.Dispose()

            CreateMessageAlert(Me, "Bank Details Updated Successfully.", "StrKeyVal")
            showmessage("Record updated successfully", lblError)
            gvBankDetails.SelectedIndex = -1
            '      CreateMessageAlert(Me, "Record Was Successfully Updated.", "StrKeyVal")
        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
        Try
            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "BankDetails_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Kid", SqlDbType.NVarChar, 20)).Value = RemoveLiterals(kid.ToString.Trim)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Code", SqlDbType.NVarChar, 25)).Value = code.ToString.Trim()
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Name", SqlDbType.NVarChar, 200)).Value = Trim(txtBankName.Text)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_PrimaryBankId", SqlDbType.NVarChar, 25)).Value = ""
            cmd.Parameters.Add(New SqlParameter("@BankDetails_LocationId", SqlDbType.NVarChar, 25)).Value = RemoveLiterals(Trim(ddlCity_Name.SelectedItem.Value))
            cmd.Parameters.Add(New SqlParameter("@BankDetails_Address", SqlDbType.NVarChar, 150)).Value = Trim(txtBankDetails_Address.Text)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_AccNo", SqlDbType.NVarChar, 18)).Value = Trim(txtBankDetails_AccNo.Text)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_IsPaymentBank", SqlDbType.NVarChar, 50)).Value = Trim(rbPaymentBank.SelectedValue.Trim)
            cmd.Parameters.Add(New SqlParameter("@BankDetails_SupplierID", SqlDbType.NVarChar, 20)).Value = Session("SupplierID")
            cmd.Parameters.Add(New SqlParameter("@BankDetails_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Session("g_FinYear")
            cmd.Parameters.Add(New SqlParameter("@BankDetails_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@BankDetails_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Bank Details"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Delete"
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()

            CreateMessageAlert(Me, "Bank Details Deletd Successfully.", "StrKeyVal")
            showmessage("Record deleted successfully", lblError)
            ClearFields()

            EnableControls(False)
            fillgrid()
            Call DeleteClickVisible(Me, btnBankAdd, BtnSave, btnUpdate, btnDelete, btnCancel, btnsearch)
            cmd.Dispose()
            con.Dispose()
            gvBankDetails.SelectedIndex = -1

        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub

    Protected Sub btnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCancel.Click
        Try
            gvBankDetails.SelectedIndex = -1
            ClearFields()
            EnableControls(False)
            Call CancelClickVisible(Me, btnBankAdd, BtnSave, btnUpdate, btnDelete, btnCancel, btnsearch)
            fillgrid()
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub

    Protected Sub ddlCountry_Name_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            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") & "' AND State_Master.State_IsDeleted = '0' AND Country_Master.Country_Kid = '" & ddlCountry_Name.SelectedValue & "'", ddlState_Name)
            ddlCity_Name.Items.Clear()
            ddlCity_Name.Visible = True
            'ddlBankDetails_PrimaryBankId.Visible = True
            'If ddlBankDetails_PrimaryBankId.Items.FindByText("Others").Selected = True Then
            '    ddlBankDetails_PrimaryBankId.ClearSelection()
            'End If
            ScriptManager1.SetFocus(ddlState_Name)
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub

    Protected Sub ddlState_Name_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            Fill_Combo("SELECT 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") & "' AND State_Master.State_Kid = '" & ddlState_Name.SelectedValue & "' order by  City_Master.City_Name", ddlCity_Name)
            ddlCity_Name.Visible = True
            'ddlBankDetails_PrimaryBankId.Visible = True
            'If ddlBankDetails_PrimaryBankId.Items.FindByText("Others").Selected = True Then
            '    ddlBankDetails_PrimaryBankId.ClearSelection()
            'End If
            'ScriptManager1.SetFocus(ddlCity_Name)
            ' ddlCity_Name.Attributes.Add("onchange", "return checkCityddl(this,'" & ddlState_Name.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_Name_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
    '    Try
    '        'ddlBankDetails_PrimaryBankId.Visible = True
    '        'If ddlBankDetails_PrimaryBankId.Items.FindByText("Others").Selected = True Then
    '        '    ddlBankDetails_PrimaryBankId.ClearSelection()
    '        'End If
    '        If ddlCity_Name.SelectedItem.Text = "Others" Then
    '            'txtCity.Visible = True
    '            'btnAdd.Visible = True
    '            '  rwCity.Visible = True
    '            ddlCity_Name.Visible = False
    '            '                txtCity.Focus()
    '            BtnSave.Visible = False
    '            btnCancel.Visible = False
    '            'ScriptManager1.SetFocus(txtCity)
    '        Else
    '            '   rwCity.Visible = False
    '            'txtCity.Visible = False
    '            'btnAdd.Visible = False
    '            ScriptManager1.SetFocus(txtBankDetails_Address)
    '        End If
    '    Catch ex As Exception
    '        CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
    '    End Try
    'End Sub



    Protected Sub rbPaymentBank_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)

    End Sub
    Protected Sub btnBankAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnBankAdd.Click
        Try
            Call GenerateCode()
            EnableControls(True)
            ClearFields()
            'BtnSave.Enabled = True
            FillCountryBank()
            rbPaymentBank.SelectedValue = "n"
            Dim ispaymentbank As String = ReturnValue("select BankDetails_IsPaymentBank from bankdetails where bankdetails_isdeleted='0' and bankdetails_supplierid='" & Session("SupplierID") & "' and BankDetails_IsPaymentBank='y'")
            If ispaymentbank = "y" Then
                'rbPaymentBank.SelectedValue = ispaymentbank
                'rbPaymentBank.ClearSelection()
                rbPaymentBank.Enabled = False
            End If
            Call AddClickVisible(Me, btnBankAdd, BtnSave, btnUpdate, btnDelete, btnCancel, btnsearch)
            'If flgbtnsave = False Then
            ' BtnSave.Visible = False
            ' End If

            'gvBankDetails.Visible = False
            If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                BtnSave.Visible = True
            End If
            'ScriptManager.RegisterClientScriptBlock(sender, sender.GetType(), "MyKey", "WebForm_AutoFocus('" + txtBankName.ClientID + "');", True)
            ScriptManager1.SetFocus(txtBankName)
            gvBankDetails.SelectedIndex = -1
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub

    Protected Sub gvBankDetails_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvBankDetails.SelectedIndexChanged
        Try
            'FillCombos()
            Dim sk As String = "Select * from BankDetails where BankDetails_SupplierID='" & Session.Item("SupplierID").Trim & "' and BankDetails_IsDeleted='0' and BankDetails_CompanyID='" & Session("g_Company").Trim & "' and BankDetails_Kid='" & gvBankDetails.SelectedDataKey.Value.ToString & "'"
            Dim dt As DataTable = getTable(sk, "BD")

            If dt.Rows.Count > 0 Then
                rbPaymentBank.ClearSelection()
                kid = dt.Rows(0).Item("BankDetails_Kid").ToString()
                code = dt.Rows(0).Item("BankDetails_Code").ToString()
                txtBankDetails_Code.Text = dt.Rows(0).Item("BankDetails_Code").ToString
                txtBankDetails_AccNo.Text = dt.Rows(0).Item("BankDetails_AccNo").ToString
                txtBankDetails_Address.Text = dt.Rows(0).Item("BankDetails_Address").ToString
                'ddlBankDetails_PrimaryBankId.ClearSelection()
                txtBankName.Text = dt.Rows(0).Item("BankDetails_Name").ToString
                'ddlCity_Name.Items.FindByValue(dt.Rows(0).Item("BankDetails_LocationID").ToString).Selected = True
                getLocation(dt.Rows(0).Item("BankDetails_LocationID").ToString)
                rbPaymentBank.Items.FindByValue(dt.Rows(0).Item("BankDetails_IsPaymentBank").ToString).Selected = True
                'BtnSave.Visible = False
                EnableControls(True)
                Call GridClickVisible(Me, btnBankAdd, BtnSave, btnUpdate, btnDelete, btnCancel, btnsearch)
                btnCancel.Enabled = True
                dt.Dispose()
                txtBankName.Focus()
            End If

            btnBankAdd.Visible = True
            If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                btnDelete.Visible = True
                btnUpdate.Visible = True
                BtnSave.Visible = False
                btnBankAdd.Visible = False
            Else
                EnableControls(False)
                btnDelete.Visible = False
                btnUpdate.Visible = False
                BtnSave.Visible = False
            End If


        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub

    Protected Sub gvBankDetails_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvBankDetails.PageIndexChanging
        Try
            gvBankDetails.PageIndex = e.NewPageIndex
            fillgrid()
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub

    Protected Sub gvBankDetails_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvBankDetails.RowDataBound
        Try
            If e.Row.RowType = DataControlRowType.DataRow Then
                If e.Row.Cells(6).Text = "y" Then
                    e.Row.Cells(5).Text = "Yes"
                ElseIf e.Row.Cells(6).Text = "n" Then
                    e.Row.Cells(5).Text = "No"
                End If
            End If
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub


    Protected Sub btnBack_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Response.Redirect("other-details.aspx")
    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

End Class

