﻿Imports System
Imports System.Data
Imports System.Data.SqlClient
Partial Class Admin_MentorBackward
    Inherits System.Web.UI.Page
    Dim Category(10) As String
    Dim i As Integer = 0

#Region "Events"

    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
            fillcombo()
        End If
    End Sub

    Protected Sub ddlPE_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlPE.SelectedIndexChanged
        Try
            If ddlPE.SelectedIndex > 0 Then
                ViewState("SelectedUser") = ddlPE.SelectedValue.ToString
                fillgrid(ddlPE.SelectedValue.ToString)
                trProductDetail.Visible = False
            Else
                gvProduct.DataSource = Nothing
                gvProduct.DataBind()
                trProductDetail.Visible = False
            End If
        Catch ex As Exception
        End Try
    End Sub

    'Protected Sub gvProduct_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvProduct.PageIndexChanging
    '    Try
    '        gvProduct.PageIndex = e.NewPageIndex
    '        fillgrid(ViewState("SelectedUser").ToString)
    '        trProductDetail.Visible = False
    '    Catch ex As Exception

    '    End Try
    'End Sub

    Protected Sub BtnForward_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnForward.Click
        Try
            If CheckValidation(ViewState("DetailView")) = False Then
                CreateMessageAlert(Me, "Please Fill All The Details to Approve the Product.", "StrKeyVal")
            Else
                Dim sqlCmd As New SqlCommand
                Dim sqlCon As SqlConnection
                sqlCon = New SqlConnection(ConfigurationManager.AppSettings("ConnectionString"))
                sqlCon.Open()
                With sqlCmd
                    .CommandText = "Sp_QualityCheck"
                    .CommandType = Data.CommandType.StoredProcedure
                    .Connection = sqlCon
                    .Parameters.AddWithValue("@Mode", "Update_ProductMaster")
                    .Parameters.AddWithValue("@FormName", Me.Title)
                    .Parameters.AddWithValue("@Remarks", "")
                    .Parameters.AddWithValue("@Product_Kid", ViewState("ProductID").ToString)
                    .ExecuteNonQuery()
                End With
                fillgrid(ViewState("SelectedUser").ToString)
                txtRemarks.Text = ""
                trProductDetail.Visible = False
            End If

        Catch ex As Exception

        End Try
    End Sub

    Protected Sub BtnBackward_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnBackward.Click
        Try
            Try

                ExecuteQuery("Update Product_Master set Product_Approved='C' where Product_Kid='" & RemoveLiterals(gvProduct.SelectedDataKey.Value.ToString) & "'")

                Dim sqlCmd As New SqlCommand
                Dim sqlCon As SqlConnection
                sqlCon = New SqlConnection(ConfigurationManager.AppSettings("ConnectionString"))
                sqlCon.Open()
                With sqlCmd
                    .CommandText = "Sp_QualityCheck"
                    .CommandType = Data.CommandType.StoredProcedure
                    .Connection = sqlCon
                    .Parameters.AddWithValue("@Mode", "Insert")
                    .Parameters.AddWithValue("@FormName", Me.Title)
                    .Parameters.AddWithValue("@Remarks", "")
                    .Parameters.AddWithValue("@QC_KID", NewPrimaryKey(Me))
                    .Parameters.AddWithValue("@QC_Flag", "B")
                    .Parameters.AddWithValue("@QC_MentorID", Session("g_User").ToString)
                    .Parameters.AddWithValue("@QC_PEID", ddlPE.SelectedValue.ToString)
                    .Parameters.AddWithValue("@QC_ProductId", ViewState("ProductID").ToString)
                    .Parameters.AddWithValue("@QC_Remarks", txtRemarks.Text.Trim.ToString)
                    .Parameters.AddWithValue("@QC_Status", "Pending")
                    .Parameters.AddWithValue("@QC_EntryDate", DateTime.Now)
                    .ExecuteNonQuery()
                End With
                fillgrid(ViewState("SelectedUser").ToString)
                txtRemarks.Text = ""
                trProductDetail.Visible = False
            Catch ex As Exception

            End Try
        Catch ex As Exception

        End Try
    End Sub

    Protected Sub gvProduct_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvProduct.SelectedIndexChanged
        Dim detailviewDs As New DataSet
        con.Open()
        'detailviewDs.Clear()
        txtProdKid.Text = gvProduct.SelectedDataKey.Value
        ViewState("ProductID") = gvProduct.SelectedDataKey.Value

        Dim ProductFlag As String
        ProductFlag = ReturnValue("Select Product_Approved from Product_Master where Product_Kid='" & RemoveLiterals(gvProduct.SelectedDataKey.Value.ToString) & "'")
        If ProductFlag = "N" Then
            'BtnBackward.Visible = False
            BtnForward.Visible = False
        End If

        da = New SqlDataAdapter("sp_ProductDetails", con)
        da.SelectCommand.CommandType = CommandType.StoredProcedure
        da.SelectCommand.Parameters.Add(New SqlParameter("@Product_Kid", SqlDbType.NVarChar))
        da.SelectCommand.Parameters("@Product_Kid").Value = RemoveLiterals(gvProduct.SelectedDataKey.Value)
        'da = New SqlDataAdapter(Str, con)
        da.Fill(detailviewDs)
        tddetail.InnerHtml = "<b>Description:  </b>" + detailviewDs.Tables(0).Rows(0).Item("Product_Description").ToString
        tdRemarks.InnerHtml = "<b>Remarks: </b>" + gvProduct.SelectedRow.Cells(6).Text.ToString
        imgProductImage.ImageUrl = "~/Upload Image/Product Image/UploadImages/" & detailviewDs.Tables(0).Rows(0).Item(1).ToString
        imgProductImage.Attributes.Add("alt", detailviewDs.Tables(0).Rows(0).Item(1).ToString)
        Dim imgpath As String
        imgpath = Server.MapPath(imgProductImage.ImageUrl)
        KeepAspectRatioNew(imgProductImage, imgpath, 200, 200)
        dtViewProductInfo.DataSource = detailviewDs.Tables(0)
        dtViewProductInfo.DataBind()
        colorgrid(detailviewDs)
        ViewState("DetailView") = detailviewDs
        dtViewProductInfo.Rows(0).Visible = False
        dtViewProductInfo.Rows(1).Visible = False
        dtViewProductInfo.Rows(15).Visible = False
        trProductDetail.Visible = True
        FillCategoryNameProduct(RemoveLiterals(ReturnValue("Select Product_CategoryId from Product_Master where Product_KId ='" & RemoveLiterals(gvProduct.SelectedDataKey.Value.ToString) & "' ")))
        If CheckOthers() = True Then
            txtOther.Text = "True"
        Else
            txtOther.Text = "False"
        End If
        lblOtherError.Visible = True
        txtRemarks.Text = ""
        ScriptManager.GetCurrent(Me).SetFocus(txtRemarks)
    End Sub

    Protected Sub gvProduct_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvProduct.RowDataBound
        If e.Row.RowType = DataControlRowType.DataRow Then
            'e.Row.Cells(3).Text = Format$(Convert.ToDateTime(e.Row.Cells(3).Text), "dd/MM/yyyy")
            'If e.Row.Cells(4).Text <> "-" Then
            '    e.Row.Cells(4).Text = Format$(Convert.ToDateTime(e.Row.Cells(4).Text), "dd/MM/yyyy")
            'End If
            If e.Row.Cells(5).Text = "Pending" Then
                'e.Row.Cells(5).Text = "Backward To PE"
                e.Row.Cells(5).ForeColor = Drawing.Color.Red
                e.Row.Enabled = False
                'Else
                '    e.Row.Cells(5).Text = "Solved by PE"
            End If
        End If
    End Sub

#End Region

#Region "Methods"

    Private Sub colorgrid(ByVal detailviewDs As DataSet)

        If detailviewDs.Tables(0).Rows(0).Item("Product Code").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Product Code").ToString = "" Then
            dtViewProductInfo.Rows(2).Cells(1).ForeColor = Drawing.Color.Red
            dtViewProductInfo.Rows(2).Cells(1).Text = """Will Generate After Approval."""
            dtViewProductInfo.Rows(2).Cells(1).Style.Add("font-size", "8pt")
        End If
        If detailviewDs.Tables(0).Rows(0).Item("Product_Image").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Product_Image").ToString = "" Then
            dtViewProductInfo.Rows(1).Cells(1).Text = "Required"
            dtViewProductInfo.Rows(1).Cells(1).ForeColor = Drawing.Color.Red
        End If
        If detailviewDs.Tables(0).Rows(0).Item("Model No").ToString = Nothing Then
            dtViewProductInfo.Rows(4).Cells(1).Text = "Required"
            dtViewProductInfo.Rows(4).Cells(1).ForeColor = Drawing.Color.Red
        End If
        If detailviewDs.Tables(0).Rows(0).Item("Price").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Price").ToString.Contains(" 0.00") Then
            dtViewProductInfo.Rows(5).Cells(1).Text = "Required"
            dtViewProductInfo.Rows(5).Cells(1).ForeColor = Drawing.Color.Red
        End If

        ''If detailviewDs.Tables(0).Rows(0).Item("Atco Price").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Atco Price").ToString <= "0.00" Then
        ''    dtViewProductInfo.Rows(5).Cells(1).Text = "Required"
        ''    dtViewProductInfo.Rows(5).Cells(0).ForeColor = Drawing.Color.Red
        ''End If

        If detailviewDs.Tables(0).Rows(0).Item("Min Order Qty").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Min Order Qty").ToString.StartsWith("0.00") Then
            dtViewProductInfo.Rows(6).Cells(1).Text = "Required"
            dtViewProductInfo.Rows(6).Cells(1).ForeColor = Drawing.Color.Red
        End If
        If detailviewDs.Tables(0).Rows(0).Item("Shipping Qty").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Shipping Qty").ToString.StartsWith("0.00") Then
            dtViewProductInfo.Rows(7).Cells(1).Text = "Required"
            dtViewProductInfo.Rows(7).Cells(1).ForeColor = Drawing.Color.Red
        End If
        ' ''If detailviewDs.Tables(0).Rows(0).Item("Pcs Per Carton/Pckg").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Pcs Per Carton/Pckg").ToString <= "0.00" Then
        ' ''    dtViewProductInfo.Rows(9).Cells(1).Text = "Required"
        ' ''    dtViewProductInfo.Rows(9).Cells(1).ForeColor = Drawing.Color.Red
        ' ''End If
        If detailviewDs.Tables(0).Rows(0).Item("Shipping Weight").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Shipping Weight").ToString.StartsWith("0.00") Then
            dtViewProductInfo.Rows(8).Cells(1).Text = "Required"
            dtViewProductInfo.Rows(8).Cells(1).ForeColor = Drawing.Color.Red
        End If
        If detailviewDs.Tables(0).Rows(0).Item("Shipping Dimension").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Shipping Dimension").ToString.Contains("0X0X0") OrElse detailviewDs.Tables(0).Rows(0).Item("Shipping Dimension").ToString.Contains("0 X 0 X 0") Then
            dtViewProductInfo.Rows(9).Cells(1).Text = "Required"
            dtViewProductInfo.Rows(9).Cells(1).ForeColor = Drawing.Color.Red
        End If
        If detailviewDs.Tables(0).Rows(0).Item("Dispatch In").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Dispatch In").ToString.StartsWith("0") Then
            dtViewProductInfo.Rows(10).Cells(1).Text = "Required"
            dtViewProductInfo.Rows(10).Cells(1).ForeColor = Drawing.Color.Red
        End If
        'If detailviewDs.Tables(0).Rows(0).Item("Approved Date").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Product Code").ToString = "" Then
        '    dtViewProductInfo.Rows(11).Cells(1).ForeColor = Drawing.Color.Red
        '    dtViewProductInfo.Rows(11).Cells(1).Text = """Will Generate After Approval."""
        '    dtViewProductInfo.Rows(11).Cells(1).Style.Add("font-size", "8pt")
        'End If
    End Sub

    Protected Sub fillcombo()
        Try
            Dim dt As DataTable
            dt = ReturnDataTable("SELECT DISTINCT QC_Master.QC_PEID, AdminUser.AdminUser_Name FROM QC_Master INNER JOIN AdminUser ON QC_Master.QC_PEID = AdminUser.AdminUser_Kid WHERE (QC_Master.QC_Flag = N'B') AND (AdminUser.AdminUser_ReportingTo = N'" + Session("g_User").ToString + "') Order By AdminUser.AdminUser_Name")
            ddlPE.DataSource = dt
            ddlPE.DataTextField = "AdminUser_Name"
            ddlPE.DataValueField = "QC_PEID"
            ddlPE.DataBind()
            ddlPE.Items.Insert(0, New ListItem("Select", "0"))
        Catch ex As Exception
        End Try
    End Sub

    Protected Sub fillgrid(ByVal UserID As String)
        Try
            Dim dt As New DataTable
            Dim sqlCmd As New SqlCommand
            Dim sqlCon As SqlConnection
            Dim adp As SqlDataAdapter
            sqlCon = New SqlConnection(ConfigurationManager.AppSettings("ConnectionString"))
            sqlCon.Open()
            With sqlCmd
                .CommandText = "Sp_QualityCheck"
                .CommandType = Data.CommandType.StoredProcedure
                .Connection = sqlCon
                .Parameters.AddWithValue("@Mode", "Select_BackwardProduct")
                .Parameters.AddWithValue("@CompanyId", Session("g_Company").ToString)
                .Parameters.AddWithValue("@QC_Status", "B")
                .Parameters.AddWithValue("@PEId", UserID.ToString)
            End With
            adp = New SqlDataAdapter(sqlCmd)
            adp.Fill(dt)
            gvProduct.DataSource = dt
            gvProduct.DataBind()
            If dt.Rows.Count = 3 Then
                divProduct.Style.Add("height", "100px")
            ElseIf dt.Rows.Count = 5 Then
                divProduct.Style.Add("height", "150px")
            ElseIf dt.Rows.Count = 7 Then
                divProduct.Style.Add("height", "200px")
            ElseIf dt.Rows.Count = 9 Then
                divProduct.Style.Add("height", "250px")
            ElseIf dt.Rows.Count > 9 Then
                divProduct.Style.Add("height", "280px")
            End If
        Catch ex As Exception
        End Try
    End Sub

    Private Function CheckValidation(ByVal detailviewDs As DataSet) As Boolean

        'If detailviewDs.Tables(0).Rows(0).Item("Price").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Price").ToString.Contains(" 0.00") Then
        '    txtFlag.Text = "False"
        '    Return False
        ''ElseIf detailviewDs.Tables(0).Rows(0).Item("Atco Price").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Atco Price").ToString <= "0.00" Then
        ''    txtFlag.Text = "False"
        ''    Return False
        'Dim Validation_Check As Boolean
        If detailviewDs.Tables(0).Rows(0).Item("Product_Image").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Product_Image").ToString = "" Then
            'Validation_Check = False
            Return False
        ElseIf detailviewDs.Tables(0).Rows(0).Item("Model No").ToString = Nothing Then
            'Validation_Check = False
            Return False
        ElseIf detailviewDs.Tables(0).Rows(0).Item("Min Order Qty").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Min Order Qty").ToString.StartsWith("0.00") Then
            'Validation_Check = False
            Return False
        ElseIf detailviewDs.Tables(0).Rows(0).Item("Shipping Qty").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Shipping Qty").ToString.StartsWith("0.00") Then
            'Validation_Check = False
            Return False
            ' ''ElseIf detailviewDs.Tables(0).Rows(0).Item("Pcs Per Carton/Pckg").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Pcs Per Carton/Pckg").ToString <= "0.00" Then
            ' ''    txtFlag.Text = "False"
            ' ''    Return False
        ElseIf detailviewDs.Tables(0).Rows(0).Item("Shipping Weight").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Shipping Weight").ToString.StartsWith("0.00") Then
            'Validation_Check = False
            Return False
        ElseIf detailviewDs.Tables(0).Rows(0).Item("Shipping Dimension").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Shipping Dimension").ToString.Contains("0X0X0") OrElse detailviewDs.Tables(0).Rows(0).Item("Shipping Dimension").ToString.Contains("0 X 0 X 0") Then
            ' Validation_Check = False
            Return False
        ElseIf detailviewDs.Tables(0).Rows(0).Item("Dispatch In").ToString = Nothing OrElse detailviewDs.Tables(0).Rows(0).Item("Dispatch In").ToString.StartsWith("0") Then
            'Validation_Check = False
            Return False
        Else
            Return True
        End If

    End Function

    Public Sub FillCategoryNameProduct(ByVal Catid As String)
        Try
            tdCategory.InnerHtml = "<b>Category : </b>"
            Dim dt As DataTable
            dt = ReturnDataTable("Select * From Category_Master Where Category_Kid ='" & RemoveLiterals(Catid) & "' and Category_Isdeleted = '0' and Category_CompanyId ='" & Session("g_Company").ToString() & "'")
            If dt.Rows.Count > 0 Then
                Dim ParentId As String
                ParentId = dt.Rows(0).Item("Category_ParentId").ToString()
                If ParentId = "Root Category" Then
                    Dim j As Integer
                    Category(i) += dt.Rows(0).Item("Category_Name").ToString() & "  >  "
                    For j = 0 To i
                        tdCategory.InnerHtml += Category(i)
                        i = i - 1
                    Next
                    Exit Sub
                Else
                    Category(i) = dt.Rows(0).Item("Category_Name").ToString() & "  >  "
                    i = i + 1
                    FillCategoryNameProduct(dt.Rows(0).Item("Category_ParentId").ToString())
                End If
            Else
                tdCategory.InnerHtml = ""
            End If
            dt.Clear()
        Catch ex As Exception
        End Try
    End Sub

    Private Function CheckOthers() As Boolean
        Try
            lblOtherError.Text = "<ul>"
            Dim ProdApp As String
            ProdApp = ReturnValue("SELECT ProdApp_Kid+'-'+ProdApp_Application FROM dbo.ProductApplication WHERE  ProdApp_ProductId = '" & RemoveLiterals(txtProdKid.Text) & "' ")
            If ProdApp.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "Product Application" + "&nbsp;" + "</li>" + "<br />"
                txtOther.Text = "False"
                'lblOtherError.Text = "<img alt='' src='" & Page.ResolveUrl("~/Images/javascripts.gif") & "'  />" + "&nbsp" + "Product Application" + "&nbsp" + "<br />"
            End If

            Dim Feature As String
            Feature = ReturnValue("SELECT ProdFeatures_Kid+'-'+ProdFeatures_Features FROM dbo.ProductFeatures WHERE ProdFeatures_ProductId = '" & RemoveLiterals(txtProdKid.Text) & "' ")
            If Feature.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "Features" + "</li>" + "<br />"
                txtOther.Text = "False"
            End If

            Dim TechSpec As String
            TechSpec = ReturnValue("SELECT TechSpec_Kid +'-'+TechSpec_ParameterID FROM dbo.ProductTechnicalSpecification WHERE TechSpec_ProductId = '" & RemoveLiterals(txtProdKid.Text) & "'")
            If TechSpec.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "Technical Specifaction" + "</li>" + "<br />"
                txtOther.Text = "False"
            End If

            Dim SpecialNotes As String
            SpecialNotes = ReturnValue("SELECT ProdSpecInstr_Kid+'-'+ProdSpecInstr_Filename FROM dbo.ProductSpecialNotesInstruction WHERE ProdSpecInstr_ProductId = '" & RemoveLiterals(txtProdKid.Text) & "'")
            If SpecialNotes.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "SpecialNotes" + "</li>" + "<br />"
                txtOther.Text = "False"
            End If

            Dim ProductMSDS As String
            ProductMSDS = ReturnValue("SELECT MSDS_Kid+'-'+MSDS_UploadedDataSheetName FROM dbo.MaterialSafetyDataSheet WHERE MSDS_ProductId = '" & RemoveLiterals(txtProdKid.Text) & "'")
            If ProductMSDS.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "ProductMSDS" + "</li>" + "<br />"
                txtOther.Text = "False"
            End If

            Dim Consumable As String
            Consumable = ReturnValue("SELECT c_kid+'-'+c_cname FROM dbo.Consumables WHERE c_productid = '" & RemoveLiterals(txtProdKid.Text) & "'")
            If Consumable.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "Consumable" + "</li>" + "<br />"
                txtOther.Text = "False"
            End If

            Dim Catelogue As String
            Catelogue = ReturnValue("SELECT Catalog_kid+'-'+Catalog_upload FROM dbo.Catalog WHERE Catalog_productid = '" & RemoveLiterals(txtProdKid.Text) & "' ")
            If Catelogue.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "Catelogue" + "</li>" + "<br />"

                txtOther.Text = "False"
            End If

            Dim Standards As String
            Standards = ReturnValue("SELECT ProdStdApproval_Kid+'-'+ProdStdApproval_Filename FROM dbo.ProductStandardApproval WHERE ProdStdApproval_ProductId = '" & RemoveLiterals(txtProdKid.Text) & "'")
            If Standards.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "Product Standard Standards" + "</li>" + "<br />"
                txtOther.Text = "False"
            End If

            Dim UserManual As String
            UserManual = ReturnValue("SELECT InstCommManual_Kid FROM dbo.InstallationManual WHERE InstCommManual_ProductId = '" & RemoveLiterals(txtProdKid.Text) & "'")
            If UserManual.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "UserManual" + "</li>" + "<br />"
                txtOther.Text = "False"
            End If

            Dim Gurantee As String
            Gurantee = ReturnValue("SELECT gwd_Kid FROM dbo.Product_GuarantyWarrantydetails WHERE gwd_ProductId = '" & RemoveLiterals(txtProdKid.Text) & "'")
            If Gurantee.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "Gurantee/Warantee" + "</li>" + "<br />"
                txtOther.Text = "False"
            End If

            Dim PackagingDetails As String
            PackagingDetails = ReturnValue("SELECT ProdPackaging_Kid FROM dbo.ProductPackaging WHERE ProdPackaging_ProductId = '" & RemoveLiterals(txtProdKid.Text) & "'")
            If PackagingDetails.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "Packaging Details" + "</li>" + "<br />"
                txtOther.Text = "False"
            End If

            Dim Installation As String
            Installation = ReturnValue("SELECT InstallationComm_Kid FROM dbo.ProductInstallationCommissioning WHERE InstallationComm_ProductId = '" & RemoveLiterals(txtProdKid.Text) & "'")
            If Installation.ToString = "" Then
                lblOtherError.Text += "<li>" + "&nbsp;" + "Installation Commission" + "</li>" + "<br />"
                txtOther.Text = "False"
            End If
            lblOtherError.Style.Add("list-style-type", "circle")

            If txtOther.Text = "False" Then
                lblInfo.Visible = True
                Return False
            Else
                lblInfo.Visible = False
                Return True
            End If
        Catch ex As Exception

        End Try
    End Function

#End Region

End Class
