Imports System
Imports System.Data
Imports System.Data.SqlClient
Partial Class productupdatehistory
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Session("AdminID") Is Nothing Then
            Response.Redirect("AdminLogin.aspx?sesn=expire")
            Exit Sub
        End If

        If Not IsPostBack Then
            Call Fill_Combo("SELECT DISTINCT  dbo.Supplier_Master.Supplier_Kid, dbo.Supplier_Master.Supplier_Name FROM dbo.Supplier_Master WHERE dbo.Supplier_Master.Supplier_IsDeleted = '0' AND dbo.Supplier_Master.Supplier_Approved = 'Y' ORDER BY dbo.Supplier_Master.Supplier_Name", ddlSupplierName)

            ddlproduct.Visible = False
            gvDetails.Visible = False
            lblproduct.Visible = False
        End If
    End Sub
    Protected Sub ddlSupplierName_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlSupplierName.SelectedIndexChanged

        If ddlSupplierName.SelectedItem.Text = "Select" Then
            lblError.Visible = False
            lnkSName.Text = ""
            lblAddress.Text = ""
            lblContactPerson.Text = ""
            lblPhoneNo.Text = ""
            Exit Sub
        End If
        fillSupplierInfo(ddlSupplierName.SelectedItem.Value)
        fillproducts(ddlSupplierName.SelectedItem.Value)
        gvDetails.Visible = False

    End Sub
    Private Sub fillSupplierInfo(ByVal supid As String)
        Try

            Dim dt As New DataTable
            dt = ReturnDataTable("SELECT dbo.Supplier_Master.Supplier_Kid, dbo.Supplier_Master.Supplier_Name, dbo.Supplier_Master.Supplier_Address,dbo.Supplier_Master.Supplier_TelCountryCode, dbo.Supplier_Master.Supplier_TelCityCode, dbo.Supplier_Master.Supplier_TelNumber,dbo.SupplierContactPerson_Master.SupplierContactPerson_Name, dbo.SupplierContactPerson_Master.SupplierContactPerson_Designation,dbo.SupplierContactPerson_Master.SupplierContactPerson_Title, City_Master.City_Name + ' - ' + Supplier_Master.Supplier_PinCode + '- (' + State_Master.State_Name + ') - ' + Country_Master.Country_Name AS City  FROM         Supplier_Master INNER JOIN  City_Master ON Supplier_Master.Supplier_CityId = City_Master.City_Kid INNER JOIN  State_Master ON City_Master.City_StateId = State_Master.State_Kid INNER JOIN Country_Master ON State_Master.State_CountryId = Country_Master.Country_Kid LEFT OUTER JOIN  SupplierContactPerson_Master ON Supplier_Master.Supplier_Kid = SupplierContactPerson_Master.SupplierContactPerson_SupplierId  WHERE (dbo.Supplier_Master.Supplier_IsDeleted = '0') AND (dbo.Supplier_Master.Supplier_Kid = '" & RemoveLiterals(supid) & "')")
            If dt.Rows.Count > 0 Then
                lnkSName.Text = IIf(dt.Rows(0).Item("Supplier_Name") <> "", dt.Rows(0).Item("Supplier_Name"), "N.A")
                lblAddress.Text = IIf(dt.Rows(0).Item("Supplier_Address") <> "", dt.Rows(0).Item("Supplier_Address"), "N.A.")
                lblContactPerson.Text = dt.Rows(0).Item("SupplierContactPerson_Title").ToString + dt.Rows(0).Item("SupplierContactPerson_Name").ToString + "," + dt.Rows(0).Item("SupplierContactPerson_Designation").ToString
                lblCity.Text = dt.Rows(0).Item("City").ToString
                If lblContactPerson.Text = "," Then
                    lblContactPerson.Text = ""
                End If
                If dt.Rows(0).Item("Supplier_TelNumber").ToString = Nothing Then
                    lblPhoneNo.Text = ""
                Else
                    If dt.Rows(0).Item("Supplier_TelCountryCode").ToString = Nothing AndAlso dt.Rows(0).Item("Supplier_TelCityCode") = Nothing Then
                        lblPhoneNo.Text = dt.Rows(0).Item("Supplier_TelNumber")
                    ElseIf dt.Rows(0).Item("Supplier_TelCountryCode").ToString = Nothing Then
                        lblPhoneNo.Text = dt.Rows(0).Item("Supplier_TelCityCode") + "-" + dt.Rows(0).Item("Supplier_TelNumber")

                    Else
                        lblPhoneNo.Text = dt.Rows(0).Item("Supplier_TelCountryCode") + "-" + dt.Rows(0).Item("Supplier_TelCityCode") + "-" + dt.Rows(0).Item("Supplier_TelNumber")
                    End If
                End If
           
            End If

        Catch ex As Exception

        End Try
    End Sub
    Private Sub fillproducts(ByVal supid As String)
        Try

            Dim dt As New DataTable
            dt = ReturnDataTable(" SELECT DISTINCT  ProductUpdate_History.ProductUpdate_Id, Product_Master.Product_Name + '  -  ' + ISNULL(Product_Master.Product_Code, N'') As ProductName FROM   ProductUpdate_History INNER JOIN Product_Master ON ProductUpdate_History.ProductUpdate_Id = Product_Master.Product_Kid WHERE    Product_Master.Product_IsDeleted = N'0' AND ProductUpdate_History.ProductUpdate_SupplierId = '" & RemoveLiterals(supid) & "'")
            If dt.Rows.Count = 0 Then
                ddlproduct.Visible = False
                lblproduct.Visible = False
                lblError.Visible = True
                lblError.Text = "No Product Updated for this Supplier"

            Else
                ddlproduct.Visible = True
                lblproduct.Visible = True
                lblError.Visible = False
                lblError.Text = ""
                ddlproduct.DataSource = dt
                ddlproduct.DataTextField = "ProductName"
                ddlproduct.DataValueField = "ProductUpdate_Id"
                ddlproduct.DataBind()
                ddlproduct.Items.Insert(0, "Select Product")
            End If

            
        Catch ex As Exception

        End Try
    End Sub

    Protected Sub ddlproduct_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlproduct.SelectedIndexChanged
        If ddlproduct.SelectedIndex > 0 Then
            gvDetails.Visible = True
            fillgridproductinfo(ddlproduct.SelectedItem.Value)
        Else
            gvDetails.Visible = False
        End If

    End Sub
    Public Sub fillgridproductinfo(ByVal prodid As String)
        Try


            Dim dt As DataTable
            dt = ReturnDataTable("SELECT     ProductUpdate_History.ProductUpdate_FieldName, ProductUpdate_History.ProductUpdate_OldValue, ProductUpdate_History.ProductUpdate_NewValue, ProductUpdate_History.ProductUpdate_RegDate, ProductUpdate_History.ProductUpdate_UpdateDate, AdminUser.AdminUser_Name, ProductUpdate_History.ProductUpdate_UserIP FROM         ProductUpdate_History left outer JOIN AdminUser ON ProductUpdate_History.ProductUpdate_UpdatedBy = AdminUser.AdminUser_Kid  WHERE    ProductUpdate_History.ProductUpdate_SupplierId = '" & RemoveLiterals(ddlSupplierName.SelectedItem.Value) & "' AND ProductUpdate_History.ProductUpdate_Id = '" & RemoveLiterals(prodid) & "' Order by ProductUpdate_FieldName")

            If dt.Rows.Count > 0 Then
                gvDetails.DataSource = dt
                gvDetails.DataBind()

            Else
                gvDetails.DataSource = Nothing
                gvDetails.DataBind()
            End If


        Catch ex As Exception

        End Try
    End Sub

    Protected Sub gvDetails_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs)
        gvDetails.PageIndex = e.NewPageIndex
        If ddlproduct.SelectedIndex > 0 Then
            gvDetails.Visible = True
            fillgridproductinfo(ddlproduct.SelectedItem.Value)
        Else
            gvDetails.Visible = False
        End If
    End Sub

    Protected Sub gvDetails_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvDetails.RowDataBound
        Dim oldvalue As String
        Dim newvalue As String
        Dim dk As String
        Try

            If e.Row.RowType = DataControlRowType.DataRow Then

                oldvalue = e.Row.Cells(1).Text
                newvalue = e.Row.Cells(2).Text
                Dim value1 As String = ReturnValue("select Unit_Name from Unit_Master where Unit_Kid='" & RemoveLiterals(oldvalue) & "' and unit_IsDeleted='0' and unit_CompanyId = '" & Session("g_Company").ToString() & "'")
                Dim value2 As String = ReturnValue("select Unit_Name from Unit_Master where Unit_Kid='" & RemoveLiterals(newvalue) & "' and unit_IsDeleted='0' and unit_CompanyId = '" & Session("g_Company").ToString() & "'")

                If value1 <> "" And value2 <> "" Then
                    e.Row.Cells(1).Text = value1
                    e.Row.Cells(2).Text = value2
                End If

                dk = e.Row.Cells(4).Text
                e.Row.Cells(4).Text = Format$(Convert.ToDateTime(dk), "dd-MMM-yyyy hh:mm:ss tt")

            End If
        Catch ex As Exception

        End Try

    End Sub
End Class
