Imports System.Data.SqlClient
Public Class frm_mismatchData
    Dim da As SqlDataAdapter = Nothing
    Dim conn As New SqlConnection(System.Configuration.ConfigurationSettings.AppSettings("SO_Conn"))
    Dim cmd As SqlCommand = Nothing

    Private Sub btn_submit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_submit.Click
        FillmismatchGrid()
        If txt_startno.Text = "" Or txt_endno.Text = "" Then
            gv_mismatchdat.DataSource = Nothing
            gdv_mismatch.DataSource = Nothing
        ElseIf gdv_mismatch.Rows.Count = 0 Then
            gv_mismatchdat.DataSource = Nothing
        End If
    End Sub
    Private Sub FillmismatchGrid()

        Try
            If conn.State <> ConnectionState.Open Then
                conn.Open()
            End If
            Dim cmdtext As String = "SO_GetUnmatchedFile"
            cmd = Nothing
            cmd = New SqlCommand(cmdtext, conn)
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.AddWithValue("@start", Me.txt_startno.Text.ToString)
            cmd.Parameters.AddWithValue("@end", Me.txt_endno.Text.ToString)
            Dim ds As New DataSet
            Dim da As New SqlDataAdapter(cmd)
            da.Fill(ds)
            Dim dt As DataTable
            Dim dr As DataRow
            dt = ds.Tables(0)
            For Each dr In dt.Rows
                PassSupervisor(dr(0).ToString)
            Next
            gdv_mismatch.DataSource = ds.Tables(0)
            conn.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub PassSupervisor(ByVal file_id As Integer)
        Dim cmdtext As String = "SO_FrmReDataentry_Pass"
        cmd = Nothing
        cmd = New SqlCommand(cmdtext, conn)
        cmd.CommandType = CommandType.StoredProcedure
        cmd.Parameters.AddWithValue("@fileid", file_id)
        If conn.State = 0 Then
            conn.Open()
        End If
        cmd.ExecuteNonQuery()
    End Sub
   
    Private Sub gdv_mismatch_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles gdv_mismatch.CellClick
        Try
            If e.RowIndex <> -1 Then
                Getdata()
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Function GetList() As ArrayList
        Dim fileid As String = gdv_mismatch.Item("file_id", gdv_mismatch.CurrentRow.Index).Value
        If conn.State <> ConnectionState.Open Then
            conn.Open()
        End If
        Dim cmdtext As String = "SO_Getunmatcheddata"
        cmd = Nothing
        cmd = New SqlCommand(cmdtext, conn)
        cmd.CommandType = CommandType.StoredProcedure
        cmd.Parameters.AddWithValue("@fileid", fileid)

        Dim ds As New DataSet
        Dim da As New SqlDataAdapter(cmd)
        da.Fill(ds)
        Dim mismatchlist As New ArrayList

        If ds.Tables(0).Rows(0).Item("add_streetno").ToString.Trim <> ds.Tables(0).Rows(1).Item("add_streetno").ToString.Trim Then
            mismatchlist.Add(New Mismatch("add_streetno", ds.Tables(0).Rows(1).Item("add_streetno").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("file_type").ToString.Trim <> ds.Tables(0).Rows(1).Item("file_type").ToString.Trim Then
            mismatchlist.Add(New Mismatch("file_type", ds.Tables(0).Rows(1).Item("file_type").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("add_prefix").ToString.Trim <> ds.Tables(0).Rows(1).Item("add_prefix").ToString.Trim Then
            mismatchlist.Add(New Mismatch("add_prefix", ds.Tables(0).Rows(1).Item("add_prefix").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("add_prefix_2").ToString.Trim <> ds.Tables(0).Rows(1).Item("add_prefix_2").ToString.Trim Then
            mismatchlist.Add(New Mismatch("add_prefix_2", ds.Tables(0).Rows(1).Item("add_prefix_2").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("add_streetname").ToString.Trim <> ds.Tables(0).Rows(1).Item("add_streetname").ToString.Trim Then
            mismatchlist.Add(New Mismatch("add_streetname", ds.Tables(0).Rows(1).Item("add_streetname").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("add_suffix").ToString.Trim <> ds.Tables(0).Rows(1).Item("add_suffix").ToString.Trim Then
            mismatchlist.Add(New Mismatch("add_suffix", ds.Tables(0).Rows(1).Item("add_suffix").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("street_suffix_cd").ToString.Trim <> ds.Tables(0).Rows(1).Item("street_suffix_cd").ToString.Trim Then
            mismatchlist.Add(New Mismatch("street_suffix_cd", ds.Tables(0).Rows(1).Item("street_suffix_cd").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("name").ToString.Trim <> ds.Tables(0).Rows(1).Item("name").ToString.Trim Then
            mismatchlist.Add(New Mismatch("name", ds.Tables(0).Rows(1).Item("name").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("date_installed").ToString.Trim <> ds.Tables(0).Rows(1).Item("date_installed").ToString.Trim Then
            mismatchlist.Add(New Mismatch("date_installed", ds.Tables(0).Rows(1).Item("date_installed").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("city").ToString.Trim <> ds.Tables(0).Rows(1).Item("city").ToString.Trim Then
            mismatchlist.Add(New Mismatch("city", ds.Tables(0).Rows(1).Item("city").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("subdivision").ToString.Trim <> ds.Tables(0).Rows(1).Item("subdivision").ToString.Trim Then
            mismatchlist.Add(New Mismatch("subdivision", ds.Tables(0).Rows(1).Item("subdivision").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("service_wo_no").ToString.Trim <> ds.Tables(0).Rows(1).Item("service_wo_no").ToString.Trim Then
            mismatchlist.Add(New Mismatch("service_wo_no", ds.Tables(0).Rows(1).Item("service_wo_no").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("pipe_size").ToString.Trim <> ds.Tables(0).Rows(1).Item("pipe_size").ToString.Trim Then
            mismatchlist.Add(New Mismatch("pipe_size", ds.Tables(0).Rows(1).Item("pipe_size").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("pipe_type").ToString.Trim <> ds.Tables(0).Rows(1).Item("pipe_type").ToString.Trim Then
            mismatchlist.Add(New Mismatch("pipe_type", ds.Tables(0).Rows(1).Item("pipe_type").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("pressure").ToString.Trim <> ds.Tables(0).Rows(1).Item("pressure").ToString.Trim Then
            mismatchlist.Add(New Mismatch("pressure", ds.Tables(0).Rows(1).Item("pressure").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("size_of_tap").ToString.Trim <> ds.Tables(0).Rows(1).Item("size_of_tap").ToString.Trim Then
            mismatchlist.Add(New Mismatch("size_of_tap", ds.Tables(0).Rows(1).Item("size_of_tap").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("length_main_to_curb_valve_ft").ToString.Trim <> ds.Tables(0).Rows(1).Item("length_main_to_curb_valve_ft").ToString.Trim Then
            mismatchlist.Add(New Mismatch("length_main_to_curb_valve_ft", ds.Tables(0).Rows(1).Item("length_main_to_curb_valve_ft").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("length_main_to_curb_valve_in").ToString.Trim <> ds.Tables(0).Rows(1).Item("length_main_to_curb_valve_in").ToString.Trim Then
            mismatchlist.Add(New Mismatch("length_main_to_curb_valve_in", ds.Tables(0).Rows(1).Item("length_main_to_curb_valve_in").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("length_curb_valve_to_property_line_ft").ToString.Trim <> ds.Tables(0).Rows(1).Item("length_curb_valve_to_property_line_ft").ToString.Trim Then
            mismatchlist.Add(New Mismatch("length_curb_valve_to_property_line_ft", ds.Tables(0).Rows(1).Item("length_curb_valve_to_property_line_ft").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("length_curb_valve_to_property_line_in").ToString.Trim <> ds.Tables(0).Rows(1).Item("length_curb_valve_to_property_line_in").ToString.Trim Then
            mismatchlist.Add(New Mismatch("length_curb_valve_to_property_line_in", ds.Tables(0).Rows(1).Item("length_curb_valve_to_property_line_in").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("length_main_to_property_line_ft").ToString.Trim <> ds.Tables(0).Rows(1).Item("length_main_to_property_line_ft").ToString.Trim Then
            mismatchlist.Add(New Mismatch("length_main_to_property_line_ft", ds.Tables(0).Rows(1).Item("length_main_to_property_line_ft").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("length_main_to_property_line_in").ToString.Trim <> ds.Tables(0).Rows(1).Item("length_main_to_property_line_in").ToString.Trim Then
            mismatchlist.Add(New Mismatch("length_main_to_property_line_in", ds.Tables(0).Rows(1).Item("length_main_to_property_line_in").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("length_property_line_to_meter_ft").ToString.Trim <> ds.Tables(0).Rows(1).Item("length_property_line_to_meter_ft").ToString.Trim Then
            mismatchlist.Add(New Mismatch("length_property_line_to_meter_ft", ds.Tables(0).Rows(1).Item("length_property_line_to_meter_ft").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("length_property_line_to_meter_in").ToString.Trim <> ds.Tables(0).Rows(1).Item("length_property_line_to_meter_in").ToString.Trim Then
            mismatchlist.Add(New Mismatch("length_property_line_to_meter_in", ds.Tables(0).Rows(1).Item("length_property_line_to_meter_in").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("size_of_main").ToString.Trim <> ds.Tables(0).Rows(1).Item("size_of_main").ToString.Trim Then
            mismatchlist.Add(New Mismatch("size_of_main", ds.Tables(0).Rows(1).Item("size_of_main").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("type_of_main").ToString.Trim <> ds.Tables(0).Rows(1).Item("type_of_main").ToString.Trim Then
            mismatchlist.Add(New Mismatch("type_of_main", ds.Tables(0).Rows(1).Item("type_of_main").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("depth_of_main").ToString.Trim <> ds.Tables(0).Rows(1).Item("depth_of_main").ToString.Trim Then
            mismatchlist.Add(New Mismatch("depth_of_main", ds.Tables(0).Rows(1).Item("depth_of_main").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("tested_with").ToString.Trim <> ds.Tables(0).Rows(1).Item("tested_with").ToString.Trim Then
            mismatchlist.Add(New Mismatch("tested_with", ds.Tables(0).Rows(1).Item("tested_with").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("tested_to").ToString.Trim <> ds.Tables(0).Rows(1).Item("tested_to").ToString.Trim Then
            mismatchlist.Add(New Mismatch("tested_to", ds.Tables(0).Rows(1).Item("tested_to").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("psig_for_minutes").ToString.Trim <> ds.Tables(0).Rows(1).Item("psig_for_minutes").ToString.Trim Then
            mismatchlist.Add(New Mismatch("psig_for_minutes", ds.Tables(0).Rows(1).Item("psig_for_minutes").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("foreman").ToString.Trim <> ds.Tables(0).Rows(1).Item("foreman").ToString.Trim Then
            mismatchlist.Add(New Mismatch("foreman", ds.Tables(0).Rows(1).Item("foreman").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("PREMISE_NO").ToString.Trim <> ds.Tables(0).Rows(1).Item("PREMISE_NO").ToString.Trim Then
            mismatchlist.Add(New Mismatch("PREMISE_NO", ds.Tables(0).Rows(1).Item("PREMISE_NO").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_stub").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_stub").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_stub", ds.Tables(0).Rows(1).Item("f_stub").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_inserted").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_inserted").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_inserted", ds.Tables(0).Rows(1).Item("f_inserted").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_retired").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_retired").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_retired", ds.Tables(0).Rows(1).Item("f_retired").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_leak").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_leak").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_leak", ds.Tables(0).Rows(1).Item("f_leak").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_split").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_split").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_split", ds.Tables(0).Rows(1).Item("f_split").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("pipe_condition").ToString.Trim <> ds.Tables(0).Rows(1).Item("pipe_condition").ToString.Trim Then
            mismatchlist.Add(New Mismatch("pipe_condition", ds.Tables(0).Rows(1).Item("pipe_condition").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("lenmtrtomain").ToString.Trim <> ds.Tables(0).Rows(1).Item("lenmtrtomain").ToString.Trim Then
            mismatchlist.Add(New Mismatch("lenmtrtomain", ds.Tables(0).Rows(1).Item("lenmtrtomain").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("sceginspect").ToString.Trim <> ds.Tables(0).Rows(1).Item("sceginspect").ToString.Trim Then
            mismatchlist.Add(New Mismatch("sceginspect", ds.Tables(0).Rows(1).Item("sceginspect").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("nature_of_work").ToString.Trim <> ds.Tables(0).Rows(1).Item("nature_of_work").ToString.Trim Then
            mismatchlist.Add(New Mismatch("nature_of_work", ds.Tables(0).Rows(1).Item("nature_of_work").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("kind_of_joint").ToString.Trim <> ds.Tables(0).Rows(1).Item("kind_of_joint").ToString.Trim Then
            mismatchlist.Add(New Mismatch("kind_of_joint", ds.Tables(0).Rows(1).Item("kind_of_joint").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("split_sleeve").ToString.Trim <> ds.Tables(0).Rows(1).Item("split_sleeve").ToString.Trim Then
            mismatchlist.Add(New Mismatch("split_sleeve", ds.Tables(0).Rows(1).Item("split_sleeve").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("loc_of_cock").ToString.Trim <> ds.Tables(0).Rows(1).Item("loc_of_cock").ToString.Trim Then
            mismatchlist.Add(New Mismatch("loc_of_cock", ds.Tables(0).Rows(1).Item("loc_of_cock").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("kind_of_box").ToString.Trim <> ds.Tables(0).Rows(1).Item("kind_of_box").ToString.Trim Then
            mismatchlist.Add(New Mismatch("kind_of_box", ds.Tables(0).Rows(1).Item("kind_of_box").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("type_coating").ToString.Trim <> ds.Tables(0).Rows(1).Item("type_coating").ToString.Trim Then
            mismatchlist.Add(New Mismatch("type_coating", ds.Tables(0).Rows(1).Item("type_coating").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("DATE_ABANDON").ToString.Trim <> ds.Tables(0).Rows(1).Item("DATE_ABANDON").ToString.Trim Then
            mismatchlist.Add(New Mismatch("DATE_ABANDON", ds.Tables(0).Rows(1).Item("DATE_ABANDON").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("reason_of_abandon").ToString.Trim <> ds.Tables(0).Rows(1).Item("reason_of_abandon").ToString.Trim Then
            mismatchlist.Add(New Mismatch("reason_of_abandon", ds.Tables(0).Rows(1).Item("reason_of_abandon").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_noblow").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_noblow").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_noblow", ds.Tables(0).Rows(1).Item("f_noblow").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_gassource").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_gassource").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_gassource", ds.Tables(0).Rows(1).Item("f_gassource").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_tappingtee").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_tappingtee").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_tappingtee", ds.Tables(0).Rows(1).Item("f_tappingtee").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_linesealed").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_linesealed").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_linesealed", ds.Tables(0).Rows(1).Item("f_linesealed").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_defcoatcor").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_defcoatcor").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_defcoatcor", ds.Tables(0).Rows(1).Item("f_defcoatcor").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_multimeter").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_multimeter").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_multimeter", ds.Tables(0).Rows(1).Item("f_multimeter").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_serstop").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_serstop").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_serstop", ds.Tables(0).Rows(1).Item("f_serstop").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_cathodpro").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_cathodpro").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_cathodpro", ds.Tables(0).Rows(1).Item("f_cathodpro").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_tee").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_tee").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_tee", ds.Tables(0).Rows(1).Item("f_tee").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_taptee").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_taptee").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_taptee", ds.Tables(0).Rows(1).Item("f_taptee").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_galvanized").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_galvanized").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_galvanized", ds.Tables(0).Rows(1).Item("f_galvanized").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("tap_t_size").ToString.Trim <> ds.Tables(0).Rows(1).Item("tap_t_size").ToString.Trim Then
            mismatchlist.Add(New Mismatch("tap_t_size", ds.Tables(0).Rows(1).Item("tap_t_size").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("tap_t_inlet").ToString.Trim <> ds.Tables(0).Rows(1).Item("tap_t_inlet").ToString.Trim Then
            mismatchlist.Add(New Mismatch("tap_t_inlet", ds.Tables(0).Rows(1).Item("tap_t_inlet").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("tap_t_outlet").ToString.Trim <> ds.Tables(0).Rows(1).Item("tap_t_outlet").ToString.Trim Then
            mismatchlist.Add(New Mismatch("tap_t_outlet", ds.Tables(0).Rows(1).Item("tap_t_outlet").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_insulated").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_insulated").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_insulated", ds.Tables(0).Rows(1).Item("f_insulated").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_anoderiser").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_anoderiser").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_anoderiser", ds.Tables(0).Rows(1).Item("f_anoderiser").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("otheranode_lbs").ToString.Trim <> ds.Tables(0).Rows(1).Item("otheranode_lbs").ToString.Trim Then
            mismatchlist.Add(New Mismatch("otheranode_lbs", ds.Tables(0).Rows(1).Item("otheranode_lbs").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("connection_data").ToString.Trim <> ds.Tables(0).Rows(1).Item("connection_data").ToString.Trim Then
            mismatchlist.Add(New Mismatch("connection_data", ds.Tables(0).Rows(1).Item("connection_data").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("misc_card_type").ToString.Trim <> ds.Tables(0).Rows(1).Item("misc_card_type").ToString.Trim Then
            mismatchlist.Add(New Mismatch("misc_card_type", ds.Tables(0).Rows(1).Item("misc_card_type").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_relocate").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_relocate").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_relocate", ds.Tables(0).Rows(1).Item("f_relocate").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("f_replace").ToString.Trim <> ds.Tables(0).Rows(1).Item("f_replace").ToString.Trim Then
            mismatchlist.Add(New Mismatch("f_replace", ds.Tables(0).Rows(1).Item("f_replace").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("STREET_LOCATION_2_CD").ToString.Trim <> ds.Tables(0).Rows(1).Item("STREET_LOCATION_2_CD").ToString.Trim Then
            mismatchlist.Add(New Mismatch("STREET_LOCATION_2_CD", ds.Tables(0).Rows(1).Item("STREET_LOCATION_2_CD").ToString))
        End If
        If ds.Tables(0).Rows(0).Item("STREET_LOCATION_1_CD").ToString.Trim <> ds.Tables(0).Rows(1).Item("STREET_LOCATION_1_CD").ToString.Trim Then
            mismatchlist.Add(New Mismatch("STREET_LOCATION_1_CD", ds.Tables(0).Rows(1).Item("STREET_LOCATION_1_CD").ToString))
        End If
        Return mismatchlist
        
    End Function
    Private Function Getdata() As ArrayList
        Dim list As ArrayList = GetList()
        gv_mismatchdat.DataSource = list
        Return list
    End Function

    Private Sub btn_reset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_reset.Click
        Me.txt_startno.Text = ""
        Me.txt_endno.Text = ""
    End Sub

    Private Sub txtmismatchfileid_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtmismatchfileid.KeyPress
        e.Handled = commonUser.Common.TrapKey(Asc(e.KeyChar))
    End Sub

    Private Sub txt_startno_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_startno.KeyPress
        e.Handled = commonUser.Common.TrapKey(Asc(e.KeyChar))
    End Sub

    Private Sub txt_endno_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_endno.KeyPress
        e.Handled = commonUser.Common.TrapKey(Asc(e.KeyChar))
    End Sub
    Public Class Mismatch
        Private m_fieldname As String
        Private m_values As String

        Public Sub New(ByVal fieldname As String, ByVal values As String)
            Me.m_fieldname = fieldname
            Me.m_values = values

        End Sub
        Public ReadOnly Property FieldName() As String
            Get
                Return Me.m_fieldname
            End Get
        End Property
        Public ReadOnly Property values() As String
            Get
                Return Me.m_values
            End Get
        End Property
    End Class
End Class
