''-----------------------------------------------------------------
'<copyright file="ProductInformation.aspx">
'   Copyright(c) Atcomaart Ltd. All rights reserved.
'</copyright>
'<Desc>
'   Codebehind file for ProductInformation.aspx 
'</Desc>
'<DateOfCreation>
'   18/10/07
'</DateOfCreation>
'<DateOfModification>
'   1/11/08
'</DateOfModification>
'<Developer>
' Jignesh Jitiya
'</Developer>
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Imports Microsoft.VisualBasic
Imports Ajax
Imports JJ.Controls.Validations.ValidationTextBox

Partial Class Product_TechnicalInformation
    Inherits System.Web.UI.Page
    Shared Product_Kid As String
    Shared FileName As String
    Dim str As String = ""
    Public strPath As String
    Shared CheckFlag As Boolean = False
    Shared Flag As Boolean = False
    Shared gwcode As String
    Shared conn As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))
    Shared Img As String
    Shared Category(10) As String
    Shared i As Integer
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            Ajax.Utility.RegisterTypeForAjax(GetType(Product_TechnicalInformation))
            If Session("SupplierID") Is Nothing And Session("AdminID") = Nothing Then
                Response.Redirect("listproduct.aspx?sess=expire")
                Exit Sub
            End If
            If Not IsPostBack Then
                Img = 0
                i = 0
                'Product_Kid = Session("ProductID")
                'txtc_cquantity.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtLDimensionAO.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtLDimensionAO.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtWDimentionAO.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtWeightAO.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAccessoriesOptional_GuarantyPeriod.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAccessoriesOptional_WarrantyPeriod.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAccessoriesOptional_DeliveryPeriod.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAccessoriesOptional_MarketPrice.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAccessoriesOptional_SpecialPrice.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAccessoriesOptional_UnitPrice.Attributes.Add("onkeypress", "return CheckNumericValue(event)")

                'txtLDimensionAI.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtHDimensionAI.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtWDimentionAI.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtWeightAI.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAIGPer.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAIWPer.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAIDPer.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAIMPrice.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAISPrice.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtAIUprice.Attributes.Add("onkeypress", "return CheckNumericValue(event)")

                'txtSpareMTime.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtSpareMTime.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtSpareSPrice.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtTransferPrice.Attributes.Add("onkeypress", "return CheckNumericValue(event)")

                'txtgurrant1.Attributes.Add("onkeypress", "return CheckNumericValue(event)")
                'txtWarrant.Attributes.Add("onkeypress", "return CheckNumericValue(event)")





                If Session("SupplierID") Is Nothing Then
                    Response.Redirect("listproduct.aspx")
                    Exit Sub
                End If
                If Session("ProductId") Is Nothing Then
                    Response.Redirect("Product_Information.aspx")
                    Exit Sub
                End If
                MultiView1.ActiveViewIndex = 0
                'MultiView2.ActiveViewIndex = 0
                '' '' ''If Session("AdminID") = Nothing Then

                '' '' ''    btnApplicationDelete.Visible = False
                '' '' ''    btnApplicationUpDate.Visible = False
                '' '' ''    btnFeatureUpdate.Visible = False
                '' '' ''    btnFeatureDelete.Visible = False
                '' '' ''    btnProTecSpeUpdate.Visible = False
                '' '' ''    btnProTecSpeDelete.Visible = False
                '' '' ''    btnProdSpecInstrUpdate.Visible = False
                '' '' ''    btnProductMSDSUpdate.Visible = False
                '' '' ''    btnConsumableUpdate.Visible = False
                '' '' ''    btnCatalogUpdate.Visible = False
                '' '' ''    btnProdStdAppUpdate.Visible = False
                '' '' ''    btnUserManUpdate.Visible = False
                '' '' ''    'btnGWUpdate1.Visible = False
                '' '' ''    btnPackingUpdate.Visible = False
                '' '' ''    btnUpdateIC.Visible = False
                '' '' ''    btnApplicaionAddMore.Visible = True
                '' '' ''    'btnApplicaionSave.Visible = True
                '' '' ''    btnFeatureAddMore.Visible = True
                '' '' ''    btnFeatureCancel.Visible = True
                '' '' ''    btnProTecSpeAddMore.Visible = True
                '' '' ''    btnProTecSpeCancel.Visible = True
                '' '' ''    btnProdSpecInstrAddMore.Visible = True
                '' '' ''    btnProdSpecInstrCancel.Visible = True
                '' '' ''    btnProductMSDSSave.Visible = True
                '' '' ''    btnConsumableAddMore.Visible = True
                '' '' ''    btnConsumableCancel.Visible = True
                '' '' ''    'btnAccessoriesOptionalAddMore.Visible = True
                '' '' ''    'btnAccessoriesOptional_Save.Visible = True
                '' '' ''    'btnAccessoriesIncludedAddMore.Visible = True
                '' '' ''    'btnAccessoriesIncluded_Save.Visible = True
                '' '' ''    'btnWearAndTearAddMore.Visible = True
                '' '' ''    'btnWearAndTearSave.Visible = True
                '' '' ''    btnCatalogSubmit.Visible = True
                '' '' ''    btnProdStdAppSave.Visible = True
                '' '' ''    btnUserManSave.Visible = True
                '' '' ''    'btnGWSave1.Visible = True
                '' '' ''    btnPackingSave.Visible = True
                '' '' ''    btnSaveIC.Visible = True
                '' '' ''Else
                '' '' ''    btnAddProd.Visible = False
                '' '' ''    'lblAdminFileName.Visible = True
                '' '' ''    'AdminFileUploadMSDS.Visible = True
                '' '' ''    'AdminhyplnkMSDS.Visible = True
                '' '' ''    'Label95.Visible = True

                '' '' ''    'lblAdminOptionalFileName.Visible = True
                '' '' ''    'AdminFileUploadOptional.Visible = True
                '' '' ''    'AdminhyplnkOptional.Visible = True
                '' '' ''    'Label94.Visible = True
                '' '' ''    'AdminOptionalFileName.Visible = True
                '' '' ''    'btnAccessoriesOptional_Delete.Visible = True
                '' '' ''    'gvAccessoriesOptional.Columns(0).Visible = True

                '' '' ''    'Label96.Visible = True
                '' '' ''    'Label97.Visible = True
                '' '' ''    'AdminFileUploadIncluded.Visible = True
                '' '' ''    'hylnkAdminAI.Visible = True
                '' '' ''    'btnAccessoriesIncluded_Delete.Visible = True
                '' '' ''    'Tr43.Visible = True
                '' '' ''    'gvAccessoriesIncluded.Columns(0).Visible = True

                '' '' ''    'Label99.Visible = True
                '' '' ''    'AdminFileUploadCatalog.Visible = True
                '' '' ''    'Label104.Visible = True
                '' '' ''    'lblAdminCatalogPath.Visible = True

                '' '' ''    'Label105.Visible = True
                '' '' ''    'Label106.Visible = True
                '' '' ''    'AdminProRevwFileUpload.Visible = True
                '' '' ''    'AdminHypStandard.Visible = True

                '' '' ''    'Label112.Visible = True
                '' '' ''    'Label113.Visible = True
                '' '' ''    'AdminUserManUpload.Visible = True
                '' '' ''    'AdminhyplnkUserManual.Visible = True
                '' '' ''    btnApplicationDelete.Visible = True
                '' '' ''    btnApplicationUpDate.Visible = True
                '' '' ''    btnFeatureUpdate.Visible = True
                '' '' ''    btnFeatureDelete.Visible = True
                '' '' ''    btnProTecSpeUpdate.Visible = True
                '' '' ''    btnProTecSpeDelete.Visible = True
                '' '' ''    btnProdSpecInstrUpdate.Visible = True
                '' '' ''    btnProductMSDSUpdate.Visible = True
                '' '' ''    btnConsumableUpdate.Visible = True
                '' '' ''    'btnAccessoriesOptional_Update.Visible = True
                '' '' ''    'btnAccessoriesIncluded_Update.Visible = True
                '' '' ''    'btnWearAndTearUpdate.Visible = True
                '' '' ''    btnCatalogUpdate.Visible = True
                '' '' ''    btnProdStdAppUpdate.Visible = True
                '' '' ''    btnUserManUpdate.Visible = True
                '' '' ''    'btnGWUpdate1.Visible = True
                '' '' ''    btnPackingUpdate.Visible = True
                '' '' ''    btnUpdateIC.Visible = True


                '' '' ''    'btnApplicaionAddMore.Visible = False
                '' '' ''    'btnApplicaionSave.Visible = False
                '' '' ''    'btnFeatureAddMore.Visible = False
                '' '' ''    'btnFeatureSave.Visible = False
                '' '' ''    'btnProTecSpeAddMore.Visible = False
                '' '' ''    'btnProTecSpeSave.Visible = False
                '' '' ''    'btnProdSpecInstrAddMore.Visible = False
                '' '' ''    'btnProdSpecInstrSave.Visible = False
                '' '' ''    'btnProductMSDSSave.Visible = False
                '' '' ''    'btnConsumableAddMore.Visible = False
                '' '' ''    'btnConsumableSubmit.Visible = False
                '' '' ''    'btnAccessoriesOptionalAddMore.Visible = False
                '' '' ''    'btnAccessoriesOptional_Save.Visible = False
                '' '' ''    'btnAccessoriesIncludedAddMore.Visible = False
                '' '' ''    'btnAccessoriesIncluded_Save.Visible = False
                '' '' ''    'btnWearAndTearAddMore.Visible = False
                '' '' ''    'btnWearAndTearSave.Visible = False
                '' '' ''    'btnCatalogSubmit.Visible = False
                '' '' ''    'btnProdStdAppSave.Visible = False
                '' '' ''    'btnUserManSave.Visible = False
                '' '' ''    'BtnSaveGW.Visible = False
                '' '' ''    'btnPackingSave.Visible = False
                '' '' ''    'btnSaveIC.Visible = False
                '' '' ''End If
                displaynone()
                BtnClick()
                CallClick()
            End If
        Catch
        End Try
    End Sub
    Public Sub CallClick()
        btnApplicatin_Click(Nothing, Nothing)
        btncatalogue_Click(Nothing, Nothing)
        btnconsumable_Click(Nothing, Nothing)
        btnfeature_Click(Nothing, Nothing)
        btnGuaranty_Click(Nothing, Nothing)
        btnaccincluded_Click(Nothing, Nothing)
        btnInsttComm_Click(Nothing, Nothing)
        btnproductmsds_Click(Nothing, Nothing)
        btnaccoptional_Click(Nothing, Nothing)
        btnpckdetails_Click(Nothing, Nothing)
        btnstandards_Click(Nothing, Nothing)
        btnspareparts_Click(Nothing, Nothing)
        btnspecialnote_Click(Nothing, Nothing)
        btntechspec_Click(Nothing, Nothing)
        btnUserManual_Click(Nothing, Nothing)
        btnwearntear_Click(Nothing, Nothing)

    End Sub
    Public Sub displaynone()
        tblApplication.Style.Add("display", "none")
        tblCataloge.Style.Add("display", "none")
        tblConsumables.Style.Add("display", "none")
        tblFeature.Style.Add("display", "none")
        tblGuatantyWarranty.Style.Add("display", "none")
        tblInstallationCommissioning.Style.Add("display", "none")
        tblInstallationCommissioning.Style.Add("display", "none")
        tblProductMSDS.Style.Add("display", "none")
        tblPackagingDetails.Style.Add("display", "none")
        tblSpecialNotes.Style.Add("display", "none")
        tblStandards.Style.Add("display", "none")
        tblTechnicalSpecification.Style.Add("display", "none")
        tblAccOptional.Style.Add("display", "none")
        tblAccIncluded.Style.Add("display", "none")
        tblUserManual.Style.Add("display", "none")
        tblWearAndTear.Style.Add("display", "none")
        tblSpareParts.Style.Add("display", "none")

        tblguwarranty.Style.Add("display", "none")
        'blpareParts.Style.Add("display", "none")


    End Sub
    Public Sub displayone(ByVal tbl As HtmlTable)
        tblApplication.Style.Add("display", "none")
        tblCataloge.Style.Add("display", "none")
        tblConsumables.Style.Add("display", "none")
        tblFeature.Style.Add("display", "none")
        tblGuatantyWarranty.Style.Add("display", "none")
        tblInstallationCommissioning.Style.Add("display", "none")
        tblInstallationCommissioning.Style.Add("display", "none")
        tblProductMSDS.Style.Add("display", "none")
        tblPackagingDetails.Style.Add("display", "none")
        tblSpecialNotes.Style.Add("display", "none")
        tblStandards.Style.Add("display", "none")
        tblTechnicalSpecification.Style.Add("display", "none")
        tblAccOptional.Style.Add("display", "none")
        tblAccIncluded.Style.Add("display", "none")
        tblUserManual.Style.Add("display", "none")
        tblWearAndTear.Style.Add("display", "none")
        tblSpareParts.Style.Add("display", "none")
        tblguwarranty.Style.Add("display", "none")

        tbl.Style.Add("display", "inline")
    End Sub
    Public Sub BtnClick()
        btnApplicatin.Attributes.Add("onmouseover", "return mousehand(this);")
        btncatalogue.Attributes.Add("onmouseover", "return mousehand(this);")
        btnconsumable.Attributes.Add("onmouseover", "return mousehand(this);")
        btnfeature.Attributes.Add("onmouseover", "return mousehand(this);")
        btnGuaranty.Attributes.Add("onmouseover", "return mousehand(this);")
        btnaccincluded.Attributes.Add("onmouseover", "return mousehand(this);")
        btnInsttComm.Attributes.Add("onmouseover", "return mousehand(this);")
        btnproductmsds.Attributes.Add("onmouseover", "return mousehand(this);")
        btnaccoptional.Attributes.Add("onmouseover", "return mousehand(this);")
        btnpckdetails.Attributes.Add("onmouseover", "return mousehand(this);")
        btnstandards.Attributes.Add("onmouseover", "return mousehand(this);")
        btnspareparts.Attributes.Add("onmouseover", "return mousehand(this);")
        btnspecialnote.Attributes.Add("onmouseover", "return mousehand(this);")
        btntechspec.Attributes.Add("onmouseover", "return mousehand(this);")
        btnUserManual.Attributes.Add("onmouseover", "return mousehand(this);")
        btnwearntear.Attributes.Add("onmouseover", "return mousehand(this);")


        btnApplicatin.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblApplication.ClientID.ToString & "');")
        btncatalogue.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblCataloge.ClientID.ToString & "');")
        btnconsumable.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblConsumables.ClientID.ToString & "');")
        btnfeature.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblFeature.ClientID.ToString & "');")
        btnGuaranty.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblguwarranty.ClientID.ToString & "');")
        btnaccincluded.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblAccIncluded.ClientID.ToString & "');")
        btnInsttComm.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblInstallationCommissioning.ClientID.ToString & "');")
        btnproductmsds.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblProductMSDS.ClientID.ToString & "');")
        btnaccoptional.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblAccOptional.ClientID.ToString & "');")
        btnpckdetails.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblPackagingDetails.ClientID.ToString & "');")
        btnstandards.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblStandards.ClientID.ToString & "');")
        btnspareparts.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblSpareParts.ClientID.ToString & "');")
        btnspecialnote.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblSpecialNotes.ClientID.ToString & "');")
        btntechspec.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblTechnicalSpecification.ClientID.ToString & "');")
        btnUserManual.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblUserManual.ClientID.ToString & "');")
        btnwearntear.Attributes.Add("onclick", "return TechSpecClick(this,'" & tblWearAndTear.ClientID.ToString & "');")

        'btnApplicatin.Attributes.Add("onclick", "return imgmouseover(this,'" & tblApplication.ClientID.ToString & "');")
        'btncatalogue.Attributes.Add("onclick", "return imgmouseover(this,'" & tblCataloge.ClientID.ToString & "');")
        'btnconsumable.Attributes.Add("onclick", "return imgmouseover(this,'" & tblConsumables.ClientID.ToString & "');")
        'btnfeature.Attributes.Add("onclick", "return imgmouseover(this,'" & tblFeature.ClientID.ToString & "');")
        'btnGuaranty.Attributes.Add("onclick", "return imgmouseover(this,'" & tblGuatantyWarranty.ClientID.ToString & "');")
        'btnaccincluded.Attributes.Add("onclick", "return imgmouseover(this,'" & tblAccIncluded.ClientID.ToString & "');")
        'btnInsttComm.Attributes.Add("onclick", "return imgmouseover(this,'" & tblInstallationCommissioning.ClientID.ToString & "');")
        'btnproductmsds.Attributes.Add("onclick", "return imgmouseover(this,'" & tblProductMSDS.ClientID.ToString & "');")
        'btnaccoptional.Attributes.Add("onclick", "return imgmouseover(this,'" & tblAccOptional.ClientID.ToString & "');")
        'btnpckdetails.Attributes.Add("onclick", "return imgmouseover(this,'" & tblPackagingDetails.ClientID.ToString & "');")
        'btnstandards.Attributes.Add("onclick", "return imgmouseover(this,'" & tblStandards.ClientID.ToString & "');")
        'btnspareparts.Attributes.Add("onclick", "return imgmouseover(this,'" & tblSpareParts.ClientID.ToString & "');")
        'btnspecialnote.Attributes.Add("onclick", "return imgmouseover(this,'" & tblSpecialNotes.ClientID.ToString & "');")
        'btntechspec.Attributes.Add("onclick", "return imgmouseover(this,'" & tblTechnicalSpecification.ClientID.ToString & "');")
        'btnUserManual.Attributes.Add("onclick", "return imgmouseover(this,'" & tblUserManual.ClientID.ToString & "');")
        'btnwearntear.Attributes.Add("onclick", "return imgmouseover(this,'" & tblWearAndTear.ClientID.ToString & "');")


        'ImgApplication.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblApplication.ClientID.ToString & "');")
        'ImgCatalog.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblCatalog.ClientID.ToString & "');")
        'ImgConsumables.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblConsumables.ClientID.ToString & "');")
        'ImgFeatures.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblFeature.ClientID.ToString & "');")
        'ImgGuarantyWarranty.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblGarantyWaranty.ClientID.ToString & "');")
        'ImgIncludedAccess.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblIncludedAccess.ClientID.ToString & "');")
        'ImgInstallationCommissioning.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblInstComm.ClientID.ToString & "');")
        'ImgMSDS.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblMSDS.ClientID.ToString & "');")
        'ImgOptionalAccess.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblOptionalAccess.ClientID.ToString & "');")
        'ImgPackagingDetails.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblPackaging.ClientID.ToString & "');")
        'ImgProductStandardApproval.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblStandardApproval.ClientID.ToString & "');")
        'ImgSpareParts.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblSpareParts.ClientID.ToString & "');")
        'ImgSpecialNotes.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblSpecialNotes.ClientID.ToString & "');")
        'ImgTechSpecification.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblTechSpeci.ClientID.ToString & "');")
        'ImgUserManual.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblUserManual.ClientID.ToString & "');")
        'ImgWearAndTear.Attributes.Add("onmouseout", "return imgmouseout(this,'" & tblWearAndTear.ClientID.ToString & "');")


    End Sub
    Protected Sub btnAddProd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddProd.Click
        Try
            Session("ProductId") = Nothing
            Response.Redirect("Product-Information.aspx")
        Catch
        End Try
    End Sub
    Protected Sub btnNext_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNext.Click
        Try
            Response.Redirect("Product_Review.aspx")
        Catch
        End Try
    End Sub
    Protected Sub View4_Activate(ByVal sender As Object, ByVal e As System.EventArgs) Handles View4.Activate
        Try
            Dim dt As Data.DataTable
            Dim strMarket As String
            If Session("ProductID") Is Nothing AndAlso Session("ProductId") Is Nothing Then
                Response.Redirect("List_Product.aspx")
                Exit Sub
            End If
            Try
                If Session("ProductID") <> Nothing Then
                    '    dt = getTable("select * from product_master where product_kid='" & Session("ProductId") & "'", "PRD")
                    '    LabelV4.Text = createheaderlabel(Session("ProductId"))
                    '    Product_Kid = Session("ProductId")
                    'Else
                    dt = getTable("select Product_Kid, Product_Code, Product_Name, Product_Description, Product_BrandId, Product_SupplierId, Product_CategoryId, Product_ModelNo,Product_Image, Product_MarketPrice, Product_MarketPriceType, Product_AtcoPrice, Product_AtcoPriceType, Product_Dimension, Product_DimensionUnitId, Product_MinOrderQty, Product_MinOrderQtyType, Product_ShippingQty, Product_ShippingQtyType, Product_PcsPerKg,Product_Weight,Product_WeightUnitId ,Product_DeliveryPeriod, Product_DeliveryPeriodType from product_master where product_kid='" & Session("ProductID") & "' and Product_Isdeleted='0'", "PRD")
                    createheaderlabel(dt.Rows(0).Item("Product_CategoryId").ToString)

                    'Product_Kid = Session("ProductID")
                End If
            Catch
            End Try

            Try
                Image3.ImageUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0)("Product_Image").ToString
                Dim imgpath As String
                imgpath = Server.MapPath(Image3.ImageUrl)
                KeepAspectRatioNew(Image3, imgpath, 241, 202)

            Catch
            End Try
            ' KeepAspectRatio(Image3, 228, 150)
            If IsDBNull(dt.Rows(0).Item("Product_Code")) Or dt.Rows(0).Item("Product_Code").ToString = "" Or dt.Rows(0).Item("Product_Code").ToString = "&nbsp;" Then
                lblprodcode.Text = """Will Generate After Approval."""
                lblprodcode.Style.Add("font-size", "8pt")
            Else
                lblprodcode.Text = dt.Rows(0).Item("Product_Code").ToString()
            End If
            'lblprodcode.Text = dt.Rows(0)("Product_Code").ToString
            'txtProductName.Text = dt.Rows(0)("Product_Name").ToString
            lblProductName.InnerText = dt.Rows(0)("Product_Name").ToString
            If IsDBNull(dt.Rows(0)("Product_Description")) Or dt.Rows(0)("Product_Description").ToString = "" Then
                ProdDesc1.Style.Add("height", "0px")
                ProdDesc1.Visible = False
            Else
                ProdDesc1.Visible = True
                ProdDesc1.InnerHtml = dt.Rows(0)("Product_Description").ToString()
                ProdDesc1.NoWrap = False
            End If
            Dim brandid As String = dt.Rows(0)("Product_BrandId").ToString()
            Dim brandname As String = ""
            Try
                If brandid <> "" Then
                    brandname = ReturnValue("select Brand_Name from Brand_Master where Brand_Kid='" & brandid & "'")
                End If
            Catch
            End Try
            LblProductBrand.Text = brandname
            lblProductMfrNo.Text = dt.Rows(0)("Product_ModelNo").ToString

            lblProductMarketPrice.Text = chkDBNull(dt.Rows(0)("Product_MarketPrice").ToString)

            Try
                strMarket = ReturnValue("select unit_name from unit_master where unit_kid='" & dt.Rows(0)("Product_MarketPriceType").ToString & "' and Unit_IsDeleted ='0'")
                lblProductMarketPrice.Text = strMarket & " " & lblProductMarketPrice.Text
            Catch
            End Try

            lblProductAtcoPrice.Text = chkDBNull(dt.Rows(0)("Product_AtcoPrice").ToString)
            Try
                Dim stratco As String = ReturnValue("select unit_name from unit_master where unit_kid='" & dt.Rows(0)("Product_AtcoPriceType").ToString & "'")
                lblProductAtcoPrice.Text = stratco & " " & lblProductAtcoPrice.Text
            Catch
            End Try

            'lblProductSpecialPrice.Text &= " " & dt.Rows(0)("Product_SpecialPriceType").ToString
            lblProductShippingQty.Text = chkNull(dt.Rows(0)("Product_ShippingQty").ToString)
            strMarket = ReturnValue("select unit_name from unit_master where unit_kid='" & dt.Rows(0)("Product_ShippingQtyType").ToString & "' and Unit_IsDeleted ='0'")
            lblProductShippingQty.Text &= " " & strMarket
            lblProductSellQty.Text = chkNull(dt.Rows(0)("Product_MinOrderQty").ToString)
            strMarket = ReturnValue("select unit_name from unit_master where unit_kid='" & dt.Rows(0)("Product_MinOrderQtyType").ToString & "' and Unit_IsDeleted ='0'")
            lblProductSellQty.Text &= " " & strMarket
            lblProductShippingWeight.Text = chkNull(dt.Rows(0)("Product_Weight").ToString)
            strMarket = ReturnValue("select unit_name from unit_master where unit_kid='" & dt.Rows(0)("Product_WeightUnitId").ToString & "' and Unit_IsDeleted ='0' AND Unit_Flag = 'Weight'")
            lblProductShippingWeight.Text &= " " & strMarket
            lblProductShippDimention.Text = chkNull(dt.Rows(0)("Product_Dimension").ToString)
            strMarket = ReturnValue("select unit_name from unit_master where unit_kid='" & dt.Rows(0)("Product_DimensionUnitId").ToString & "'and Unit_IsDeleted ='0' ")
            lblProductShippDimention.Text &= " " & strMarket
            'lblProductPcsPerCarton.Text = ds.Tables(0).Rows(0)("Product_Name").ToString
            lblProductDispatchIn.Text = chkNull(dt.Rows(0)("Product_DeliveryPeriod").ToString)
            strMarket = ReturnValue("select unit_name from unit_master where unit_kid='" & dt.Rows(0)("Product_DeliveryPeriodType").ToString & "' and Unit_IsDeleted ='0'")
            lblProductDispatchIn.Text &= " " & strMarket
            dt.Clear()
        Catch
        End Try
    End Sub
    Protected Sub createheaderlabel(ByVal Catid As String)
        Try

            'lblCatError.Text = ""
            Dim dt As DataTable
            dt = ReturnDataTable("Select * From Category_Master Where Category_Kid ='" & Catid & "' and Category_Isdeleted = '0' ")
            If dt.Rows.Count > 0 Then
                Dim ParentId As String
                ParentId = dt.Rows(0).Item(3).ToString()
                If ParentId = "Root Category" Then

                    Dim j As Integer
                    Category(i) = dt.Rows(0).Item(2).ToString() & "  >  "

                    For j = 0 To i
                        LabelV4.Visible = True
                        LabelV4.Text += Category(i)
                        i = i - 1
                    Next
                    Exit Sub
                Else
                    Category(i) = dt.Rows(0).Item(2).ToString() & "  >  "
                    i = i + 1

                    createheaderlabel(dt.Rows(0).Item(3).ToString())
                End If
            Else
                LabelV4.Text = ""
                LabelV4.Visible = False
            End If
            dt.Clear()
        Catch ex As Exception
            ' Response.Output.Write("Server error: " & ex.Message.ToString.ToUpperInvariant())
        End Try


        'Dim lblhead As String
        ''If ddlProductList.SelectedIndex <> 0 Then
        ''Dim con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("connectionstring"))
        ''Dim str As String = "select category_master.category_kid, category_master.category_name from product_information inner join category_master on product_information.product_categoryid = category_master.category_kid where product_information.product_kid = '" & Session("productid").ToString().Trim() & "' and (category_master.category_isdeleted = n'0')"
        ''Dim ds As New DataSet
        ''Dim sda As New SqlDataAdapter(str, con)
        ''sda.Fill(ds)

        'Dim dt As DataTable
        'dt = ReturnDataTable("select category_master.category_kid, category_master.category_name from product_information inner join category_master on product_information.product_categoryid = category_master.category_kid where product_information.product_kid = '" & Session("productid").ToString().Trim() & "' and (category_master.category_isdeleted = '0')")

        'Dim parent As String = dt.Rows(0).Item("category_kid").ToString
        'lblhead = parent & ">"
        'While parent <> "Root Category"
        '    parent = ReturnValue("SELECT     Category_Master.Category_Name AS Expr2 FROM         Category_Master INNER JOIN                    Category_Master AS Category_Master_1 ON Category_Master.Category_Kid = Category_Master_1.Category_ParentId WHERE     (Category_Master.Category_IsDeleted = N'0') AND (Category_Master.Category_IsDeleted = N'0') AND Category_Master_1.Category_Name = '" & parent & "'")
        '    If parent = "" Then
        '        Exit While
        '    End If
        '    lblhead = parent & ">" & lblhead
        'End While
        ''Else
        ''    lblhead = ""
        ''End If
        'Return lblhead
        'ds.Clear()

        'Catch
        'End Try
    End Sub
    '**************************************** PRODUCT APPLICATION ************************************************
    Protected Sub btnApplicatin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnApplicatin.Click
        Try
            'gvProductApplication.DataSource = Nothing
            'Tr5.Visible = False
            'gvProductApplication.DataBind()

            'txtProductApplication.ControlToCount = lblApptxtCount.ClientID
            'txtProductApplication.MaxLength = 1000
            'txtProductApplication.MaxSizeCount = 1000

            lblResult.Visible = False
            btnApplicaionAddMore.Visible = True
            btnApplicationUpDate.Visible = False
            btnApplicationDelete.Visible = False
            btnApplicationCancel.Visible = False
            'MultiView2.ActiveViewIndex = 0
            ClearApplicationFields()
            getApplicationExistingData()
            txtProductApplication.Focus()
            btnApplicaionAddMore.Attributes.Add("onclick", "return checktxt('" & txtProductApplication.ClientID.ToString & "','Enter application for your products.!');")
            btnApplicationUpDate.Attributes.Add("onclick", "return checktxt('" & txtProductApplication.ClientID.ToString & "','Enter application for your products.!');")
            btnApplicationDelete.Attributes.Add("onclick", "return confirm('Are you sure want to delete.?')")
            'btnApplicationDelete.Attributes.Add("onclick", "return checktxt('" & txtProductApplication.ClientID.ToString & "','Enter application for your products.!');")

        Catch
        End Try
    End Sub
    Protected Sub btnApplicationCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnApplicationCancel.Click
        btnApplicaionAddMore.Visible = True
        btnApplicationCancel.Visible = False
        btnApplicationDelete.Visible = False
        btnApplicationUpDate.Visible = False
        txtProductApplication.Text = ""
        gvProductApplication.SelectedIndex = -1
        displayone(tblApplication)
    End Sub
    Protected Sub btnApplicaionAddMore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnApplicaionAddMore.Click
        Try
            If AddProductApplication() = True Then
                '            tblApplication.Style.Add("display", "inline")
                displayone(tblApplication)

                ClearApplicationFields()
                getApplicationExistingData()
                getPACode()
                CreateMessageAlert(Me, "Application Saved Successfully", "strkeyval")
            End If
        Catch
        End Try
    End Sub
    Protected Sub gvProductApplication_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvProductApplication.SelectedIndexChanged
        Try
            displayone(tblApplication)
            btnApplicaionAddMore.Visible = False
            btnApplicationDelete.Visible = True
            btnApplicationUpDate.Visible = True
            btnApplicationCancel.Visible = True
            Dim Kid As String = gvProductApplication.DataKeys(gvProductApplication.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("Select * from ProductApplication where ProdApp_Kid = '" & Kid & "' AND ProdApp_IsDeleted = '0'", "PA")
            'txtProductAppKid.Text = dt.Rows(0).Item("ProdApp_Kid").ToString
            'txtProductAppCode.Text = dt.Rows(0).Item("ProdApp_Code").ToString
            txtProductApplication.Text = dt.Rows(0).Item("ProdApp_Application").ToString
            dt.Clear()
        Catch
        End Try

    End Sub
    'Protected Sub btnApplicaionSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnApplicaionSave.Click
    '    Try
    '        AddProductApplication()
    '        lblResult.Visible = True
    '        lblResult.Text = "Record Saved Successfully."
    '        getPACode()
    '        MultiView2.ActiveViewIndex = -1
    '    Catch
    '    End Try
    'End Sub
    Protected Sub btnApplicationUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnApplicationUpDate.Click
        Try
            Dim Kid As String = gvProductApplication.DataKeys(gvProductApplication.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("Select * from ProductApplication where ProdApp_Kid = '" & Kid & "' AND ProdApp_IsDeleted = '0' ", "PA")

            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "ProductApplication_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdApp_Kid", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdApp_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdApp_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("ProdApp_Code").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdApp_Application", SqlDbType.NVarChar, 1000)).Value = txtProductApplication.Text
            cmd.Parameters.Add(New SqlParameter("@ProdApp_ProductId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdApp_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdApp_FinancialYearId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdApp_FinancialYearId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdApp_CompanyId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdApp_CompanyId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdApp_UserId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdApp_UserId").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Application"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Update"

            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            dt.Clear()
            getApplicationExistingData()
            '        tblApplication.Style.Add("display", "inline")
            displayone(tblApplication)
            CreateMessageAlert(Me, "Application Updated Successfully", "strkeyval")
            txtProductApplication.Text = ""
            'gvProductApplication.SelectedIndex = -1
            btnApplicaionAddMore.Visible = True
            btnApplicationUpDate.Visible = False
            btnApplicationDelete.Visible = False
            btnApplicationCancel.Visible = False
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
        'FillPAGrid()
    End Sub
    Protected Sub btnApplicationDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnApplicationDelete.Click
        Try
            Dim Kid As String = gvProductApplication.DataKeys(gvProductApplication.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("Select * from ProductApplication where ProdApp_Kid = '" & Kid & "' AND ProdApp_IsDeleted = '0' ", "PA")

            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "ProductApplication_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdApp_Kid", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdApp_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdApp_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("ProdApp_Code").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdApp_Application", SqlDbType.NVarChar, 1000)).Value = txtProductApplication.Text
            cmd.Parameters.Add(New SqlParameter("@ProdApp_ProductId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdApp_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdApp_FinancialYearId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdApp_FinancialYearId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdApp_CompanyId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdApp_CompanyId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdApp_UserId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdApp_UserId").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Application"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "delete"

            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            ClearApplicationFields()

            dt.Clear()
            getApplicationExistingData()
            '        tblApplication.Style.Add("display", "inline")
            displayone(tblApplication)
            CreateMessageAlert(Me, "Application Deleted Successfully", "strkeyval")
            btnApplicaionAddMore.Visible = True
            btnApplicationUpDate.Visible = False
            btnApplicationDelete.Visible = False
            btnApplicationCancel.Visible = False
            gvProductApplication.SelectedIndex = -1
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
        'FillPAGrid()
    End Sub
    Private Sub ClearApplicationFields()
        Try
            'txtProductAppCode.Text = ""
            txtProductApplication.Text = ""
        Catch
        End Try
    End Sub
    Protected Sub EnableControlsPA(ByVal Action As Boolean)
        Try
            txtProductApplication.Enabled = Action
        Catch
        End Try
    End Sub
    'Private Sub FillPAGrid()
    '    Try
    '        Dim dt As DataTable = getTable("SELECT ProdApp_Code,ProdApp_Kid,ProdApp_Application FROM ProductApplication WHERE ProdApp_ProductId = '" & Session("ProductId").Trim & "' AND ProdApp_IsDeleted = '0' AND ProdApp_CompanyID = '" & g_Company.Trim & "'", "PA")
    '        If dt.Rows.Count > 0 Then
    '            gvProductApplication.DataSource = dt
    '            gvProductApplication.DataBind()
    '            If Session("AdminID") <> Nothing Then
    '                EnableControlsPA(True)
    '                If dt.Rows.Count > 0 Then
    '                    btnApplicaionAddMore.Visible = True
    '                    btnApplicaionAddMore.Enabled = True
    '                    btnApplicationDelete.Enabled = True
    '                    btnApplicaionSave.Enabled = False
    '                    btnApplicationUpDate.Enabled = True
    '                Else
    '                    btnApplicationDelete.Enabled = False
    '                    btnApplicaionAddMore.Enabled = True
    '                    btnApplicaionSave.Enabled = True
    '                    btnApplicationUpDate.Enabled = False
    '                End If

    '            Else
    '                btnApplicationUpDate.Enabled = False
    '            End If
    '        End If

    '        dt.Clear()
    '    Catch
    '    End Try
    'End Sub
    Private Sub getPACode()
        Try
            ClearApplicationFields()
            'txtProductAppCode.Text = Generate_Code("Select count(*) from ProductApplication where ProdApp_Code='", "PA")
        Catch
        End Try
    End Sub
    Private Sub getApplicationExistingData()
        Try
            EnableControlsPA(True)
            Dim dt As DataTable = getTable("Select ProdApp_Kid, ProdApp_Application from ProductApplication where ProdApp_ProductId='" & Session("ProductId").Trim & "' and ProdApp_IsDeleted='0' and ProdApp_CompanyID='" & Session("g_Company").Trim & "'", "PA")
            If dt.Rows.Count > 0 Then
                gvProductApplication.DataSource = dt
                gvProductApplication.DataBind()
                '' '' ''If Session("AdminID") = Nothing Then
                '' '' ''    gvProductApplication.Columns(0).Visible = False
                '' '' ''End If
                'getPACode()
                'btnApplicaionAddMore.Enabled = True
                'btnApplicaionSave.Enabled = False
                '  EnableControlsPA(False)
                lblProductApplication.Text = "Product Application :&nbsp;&nbsp;<b>" & dt.Rows.Count + 1 & ".</b>"
            Else
                'getPACode()
                lblProductApplication.Text = "Product Application :&nbsp;&nbsp;<b>" & dt.Rows.Count + 1 & ".</b>"
                gvProductApplication.DataSource = Nothing
                gvProductApplication.DataBind()
                'btnApplicaionAddMore.Visible = True
                'btnApplicaionSave.Visible = True
                'btnApplicaionAddMore.Enabled = True
                'btnApplicaionSave.Enabled = True
                'EnableControlsPA(True)
            End If
            'If Session("AdminID") <> Nothing Then

            '    'If dt.Rows.Count > 0 Then
            '    '    btnApplicaionAddMore.Visible = True
            '    '    btnApplicaionAddMore.Enabled = True
            '    '    btnApplicationDelete.Enabled = True
            '    '    btnApplicaionSave.Enabled = False
            '    '    btnApplicationUpDate.Enabled = True
            '    'Else
            '    '    btnApplicationDelete.Enabled = False
            '    '    btnApplicaionAddMore.Enabled = True
            '    '    btnApplicaionSave.Enabled = True
            '    '    btnApplicationUpDate.Enabled = False
            '    'End If

            'Else
            '    'btnApplicationUpDate.Enabled = False
            'End If
            dt.Clear()
        Catch
        End Try
    End Sub
    Private Function AddProductApplication() As Boolean
        Try
            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "ProductApplication_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdApp_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@ProdApp_Code", SqlDbType.NVarChar, 25)).Value = Generate_Code("Select count(*) from ProductApplication where ProdApp_Code='", "PA").ToString()
            cmd.Parameters.Add(New SqlParameter("@ProdApp_Application", SqlDbType.NVarChar, 1000)).Value = txtProductApplication.Text
            cmd.Parameters.Add(New SqlParameter("@ProdApp_ProductId", SqlDbType.NVarChar, 10)).Value = Session("ProductId")
            cmd.Parameters.Add(New SqlParameter("@ProdApp_FinancialYearId", SqlDbType.NVarChar, 10)).Value = Session("g_FinYear")
            cmd.Parameters.Add(New SqlParameter("@ProdApp_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@ProdApp_UserId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Application"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Insert"

            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function
    '***************************************** Product Feature **************************************************
    Protected Sub btnfeature_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnfeature.Click
        Try
            'gvProductFeature.DataSource = Nothing
            'gvProductFeature.DataBind()
            lblResult.Visible = False
            'MultiView2.ActiveViewIndex = 1
            'Tr8.Visible = False
            ClearFeaturesFields()
            btnFeatureAddMore.Visible = True
            btnFeatureUpdate.Visible = False
            btnFeatureDelete.Visible = False
            btnFeatureCancel.Visible = False
            getFeaturesExistingData()
            btnFeatureCancel.Visible = False
            txtProductFeature.Focus()
            btnFeatureAddMore.Attributes.Add("onclick", "return checktxt('" & txtProductFeature.ClientID.ToString & "','Enter features for your products.!');")
            btnFeatureUpdate.Attributes.Add("onclick", "return checktxt('" & txtProductFeature.ClientID.ToString & "','Enter features for your products.!');")
            btnFeatureDelete.Attributes.Add("onclick", "return confirm('Are you sure want to delete.?')")
        Catch
        End Try
    End Sub
    Protected Sub btnFeatureAddMore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFeatureAddMore.Click
        Try
            If AddProductFeature() = True Then
                '            tblFeature.Style.Add("display", "inline")
                displayone(tblFeature)
                ClearFeaturesFields()
                getFeaturesExistingData()
                getPFCode()
                CreateMessageAlert(Me, "Features saved successfully.!", "strkeyval")
                gvProductFeature.SelectedIndex = -1
            End If
        Catch
        End Try
    End Sub
    Protected Sub gvProductFeature_SelectedIndexChanged1(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvProductFeature.SelectedIndexChanged
        Try
            txtProductFeature.Enabled = True
            '        tblFeature.Style.Add("display", "inline")
            displayone(tblFeature)
            Dim Kid As String = gvProductFeature.DataKeys(gvProductFeature.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("Select * from ProductFeatures where ProdFeatures_Kid = '" & Kid & "' AND ProdFeatures_IsDeleted = '0'", "PF")
            btnFeatureAddMore.Visible = False
            btnFeatureUpdate.Visible = True
            btnFeatureDelete.Visible = True
            btnFeatureCancel.Visible = True
            'txtProductFeaKid.Text = dt.Rows(0).Item("ProdFeatures_Kid").ToString
            'txtProductFeaCode.Text = dt.Rows(0).Item("ProdFeatures_Code").ToString
            txtProductFeature.Text = dt.Rows(0).Item("ProdFeatures_Features").ToString
            dt.Clear()
        Catch
        End Try
    End Sub
    Protected Sub btnFeatureSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFeatureCancel.Click
        Try
            '        tblFeature.Style.Add("display", "inline")
            displayone(tblFeature)
            btnFeatureAddMore.Visible = True
            btnFeatureUpdate.Visible = False
            btnFeatureDelete.Visible = False
            btnFeatureCancel.Visible = False
            txtProductFeature.Text = ""
            gvProductFeature.SelectedIndex = -1
        Catch
        End Try
    End Sub
    Protected Sub btnFeatureDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFeatureDelete.Click
        Try
            Dim Kid As String = gvProductFeature.DataKeys(gvProductFeature.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("Select * from ProductFeatures where ProdFeatures_Kid = '" & Kid & "' AND ProdFeatures_IsDeleted = '0'", "PF")

            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "ProductFeatures_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_Kid", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdFeatures_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("ProdFeatures_Code").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_Features", SqlDbType.NVarChar, 1000)).Value = txtProductFeature.Text.Trim
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_ProductId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdFeatures_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_FinancialYearId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdFeatures_FinancialYearId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_CompanyId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdFeatures_CompanyId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_UserId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdFeatures_UserId").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Product Feature"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Delete"
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            dt.Clear()
            getFeaturesExistingData()
            btnFeatureAddMore.Visible = True
            btnFeatureUpdate.Visible = False
            btnFeatureDelete.Visible = False
            btnFeatureCancel.Visible = False
            '        tblFeature.Style.Add("display", "inline")
            displayone(tblFeature)
            CreateMessageAlert(Me, "Feature deleted successfully.!", "strkeyval")
            gvProductFeature.SelectedIndex = -1
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub
    Protected Sub btnFeatureUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFeatureUpdate.Click
        Try
            Dim Kid As String = gvProductFeature.DataKeys(gvProductFeature.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("Select * from ProductFeatures where ProdFeatures_Kid = '" & Kid & "' AND ProdFeatures_IsDeleted = '0'", "PF")

            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "ProductFeatures_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_Kid", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdFeatures_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("ProdFeatures_Code").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_Features", SqlDbType.NVarChar, 1000)).Value = txtProductFeature.Text.Trim
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_ProductId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdFeatures_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_FinancialYearId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdFeatures_FinancialYearId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_CompanyId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdFeatures_CompanyId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_UserId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdFeatures_UserId").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Product Feature"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Update"
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            dt.Clear()
            getFeaturesExistingData()
            btnFeatureAddMore.Visible = True
            btnFeatureUpdate.Visible = False
            btnFeatureDelete.Visible = False
            btnFeatureCancel.Visible = False
            displayone(tblFeature)
            '        tblFeature.Style.Add("display", "inline")
            CreateMessageAlert(Me, "Features Updated Successfully.!", "strkeyval")
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
    End Sub
    Private Sub ClearFeaturesFields()
        Try
            txtProductFeature.Text = ""
            'txtProductFeaCode.Text = ""
        Catch
        End Try
    End Sub
    Protected Sub EnableControlsPF(ByVal Action As Boolean)
        Try
            txtProductFeature.Enabled = Action
        Catch
        End Try
    End Sub
    'Private Sub FillPFGrid()
    '    Try
    '        Dim dt As DataTable = getTable("SELECT ProdFeatures_Kid,ProdFeatures_Features FROM ProductFeatures WHERE ProdFeatures_ProductId = '" & Session("ProductId").Trim & "' AND ProdFeatures_IsDeleted = '0' AND ProdFeatures_CompanyId = '" & g_Company.Trim & "'", "PF")
    '        gvProductFeature.DataSource = dt
    '        gvProductFeature.DataBind()
    '        dt.Clear()
    '    Catch
    '    End Try
    'End Sub
    Private Sub getPFCode()
        Try
            ClearFeaturesFields()
            'txtProductFeaCode.Text = Generate_Code("Select count(*) from ProductFeatures where ProdFeatures_Code='", "PF")
        Catch
        End Try
    End Sub
    Private Sub getFeaturesExistingData()
        Try

            Dim dt As DataTable = getTable("SELECT ProdFeatures_Kid,ProdFeatures_Features FROM ProductFeatures WHERE ProdFeatures_ProductId = '" & Session("ProductId").Trim & "' AND ProdFeatures_IsDeleted = '0' AND ProdFeatures_CompanyId = '" & Session("g_Company").Trim & "'", "PF")
            If dt.Rows.Count > 0 Then
                gvProductFeature.DataSource = dt
                gvProductFeature.DataBind()
                '' '' ''If Session("AdminID") = Nothing Then
                '' '' ''    gvProductFeature.Columns(0).Visible = False
                '' '' ''End If
                getPFCode()
                'btnFeatureAddMore.Enabled = True
                'btnFeatureCancel.Enabled = False
                'btnFeatureDelete.Visible = False
                'btnFeatureDelete.Enabled = False
                'EnableControlsPF(False)
                lblProductFeature.Text = "Product Features :&nbsp;&nbsp;<b>" & dt.Rows.Count + 1 & ".</b>"
            Else
                'getPFCode()
                lblProductFeature.Text = "Product Features :&nbsp;&nbsp;<b>" & dt.Rows.Count + 1 & ".</b>"
                gvProductFeature.DataSource = Nothing
                gvProductFeature.DataBind()
                'btnFeatureDelete.Visible = False
                'btnFeatureDelete.Enabled = False
                'btnFeatureAddMore.Visible = True
                'btnFeatureAddMore.Enabled = True
                'btnFeatureCancel.Visible = True
                'btnFeatureCancel.Enabled = True
                'EnableControlsPF(True)
            End If
            'If Session("AdminID") <> Nothing Then
            '    EnableControlsPF(True)
            '    If dt.Rows.Count > 0 Then
            '        btnFeatureAddMore.Visible = True
            '        btnFeatureAddMore.Enabled = True
            '        btnFeatureCancel.Visible = True
            '        btnFeatureCancel.Enabled = False
            '        btnFeatureUpdate.Visible = True
            '        btnFeatureUpdate.Enabled = True
            '        btnFeatureDelete.Visible = True
            '        btnFeatureDelete.Enabled = True
            '    Else
            '        btnFeatureDelete.Visible = True
            '        btnFeatureDelete.Enabled = False
            '        btnFeatureAddMore.Visible = True
            '        btnFeatureAddMore.Enabled = True
            '        btnFeatureCancel.Visible = True
            '        btnFeatureCancel.Enabled = True
            '        btnFeatureUpdate.Visible = True
            '        btnFeatureUpdate.Enabled = False
            '    End If
            'Else
            '    btnFeatureUpdate.Visible = False
            'End If
            dt.Clear()
        Catch
        End Try
    End Sub
    Private Function AddProductFeature() As Boolean
        Try
            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "ProductFeatures_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_Code", SqlDbType.NVarChar, 25)).Value = Generate_Code("Select count(*) from ProductFeatures where ProdFeatures_Code='", "PF").ToString()
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_Features", SqlDbType.NVarChar, 1000)).Value = txtProductFeature.Text.Trim
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_ProductId", SqlDbType.NVarChar, 10)).Value = Session("ProductId")
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_FinancialYearId", SqlDbType.NVarChar, 10)).Value = Session("g_FinYear")
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(g_Company)
            cmd.Parameters.Add(New SqlParameter("@ProdFeatures_UserId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Product Feature"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Insert"

            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function
    '********************************** Product Technical Specification  ******************************************
    Protected Sub btntechspec_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btntechspec.Click
        Try
            'gvProTechSpe.DataSource = Nothing
            'gvProTechSpe.DataBind()
            lblResult.Visible = False
            'MultiView2.ActiveViewIndex = 2
            'Tr14.Visible = False
            ClearTechSpecificationFields()                               'Clear the TextFields
            getExistingTechSpecificationData()
            'TrtxtTechSpec.Style.Add("display", "none")
            ddlProTecSpeParameter.Attributes.Add("onchange", "return checkTechSpecddl(this,'" & ReturnValue("Select Product_CategoryId from Product_Master where Product_KID ='" & Session("ProductID").ToString & "'") & "','" & Session("g_Company").ToString & "','" & Session("g_User") & "','" & Session("g_FinYear") & "');")
            'lnkProdTechSpecCancel.Attributes.Add("onclick", "return CancelClick();")
            'lnkProdTechSpecAdd.Attributes.Add("onclick", "return AddClick('" & ReturnValue("Select Product_CategoryId from Product_Master where Product_KID ='" & Session("ProductID").ToString & "'") & "','" & Session("g_Company").ToString & "','" & Session("g_User") & "','" & Session("g_FinYear") & "');")
            filltechspec()
            'btnProTecSpeCancel.Visible = False
            btnProTecSpeAddMore.Attributes.Add("onclick", "return CheckTechSpec('" & Session("ProductID").ToString & "','s');")
            btnProTecSpeUpdate.Attributes.Add("onclick", "return CheckTechSpec('" & Session("ProductID").ToString & "','u');")
            btnProTecSpeDelete.Attributes.Add("onclick", "return confirm('Are you sure want to delete.?')")
            visiblebtntechspec()
            ddlProTecSpeParameter.Focus()
            gvProTechSpe.SelectedIndex = -1
        Catch
        End Try
    End Sub
    <Ajax.AjaxMethod()> _
 Public Function CheckExistingTechSpec(ByVal strTechSpecID As String, ByVal StrProductID As String) As Boolean
        Dim KID As String
        KID = NewPrimaryKey(Me)

        'Dim strMatch As String
        'strMatch = ReturnValue("SELECT     TechSpec_Kid FROM ProductTechnicalSpecification_Master WHERE     TechSpec_CategoryId = '" & strCategoryID.Trim & "' AND TechSpec_IsDeleted = '0' AND (soundex(TechSpec_parameter) = soundex('" & strParameter.Trim & "'))")
        'If strMatch <> "" Then
        '    Return "false"
        'End If
        If IsAlreadyPresent("Select count(*) from ProductTechnicalSpecification where (TechSpec_ParameterId='" & strTechSpecID.ToString.Trim & "') and TechSpec_ProductId ='" & StrProductID.ToString.Trim & "' and TechSpec_Isdeleted ='0'") Then
            Return False
        End If
        Return True


    End Function

    Public Sub visiblebtntechspec()
        btnProTecSpeAddMore.Visible = True
        btnProTecSpeDelete.Visible = False
        btnProTecSpeUpdate.Visible = False
        btnProTecSpeCancel.Visible = False
    End Sub
    Public Sub filltechspec()
        ddlProTecSpeParameter.Items.Clear()
        FillComboWithOthersJJ("Select TechSpec_KID, TechSpec_Parameter from ProductTechnicalSpecification_Master where TechSpec_CategoryId='" & ReturnValue("Select Product_CategoryId from Product_Master where Product_KId ='" & RemoveLiterals(Session("ProductID").ToString) & "'") & "' order by TechSpec_Parameter ", ddlProTecSpeParameter, "Select Parameter")
    End Sub
    <Ajax.AjaxMethod()> _
     Public Function InsertMaster(ByVal strParameter As String, ByVal strCategoryID As String, ByVal strCompanyID As String, ByVal strUserID As String, ByVal strFinancialYearID As String) As String
        Dim KID As String
        KID = NewPrimaryKey(Me)

        'Dim strMatch As String
        'strMatch = ReturnValue("SELECT     TechSpec_Kid FROM ProductTechnicalSpecification_Master WHERE     TechSpec_CategoryId = '" & strCategoryID.Trim & "' AND TechSpec_IsDeleted = '0' AND (soundex(TechSpec_parameter) = soundex('" & strParameter.Trim & "'))")
        'If strMatch <> "" Then
        '    Return "false"
        'End If
        If IsAlreadyPresent("Select count(*) from ProductTechnicalSpecification_Master where (TechSpec_Parameter='" & StrConv(strParameter.Trim, VbStrConv.ProperCase) & "' or TechSpec_Parameter like'" & StrConv(strParameter.Trim, VbStrConv.ProperCase) & "%') and TechSpec_CategoryId ='" & strCategoryID.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 = "ProductTechnicalSpecificationMaster_Proc"
        cmd.Connection = con
        cmd.Parameters.Add(New SqlParameter("@TechSpec_Kid", SqlDbType.NVarChar, 10)).Value = KID
        cmd.Parameters.Add(New SqlParameter("@TechSpec_Code", SqlDbType.NVarChar, 25)).Value = Generate_Code("Select count(*) from ProductTechnicalSpecification_Master where TechSpec_Code='", "TSM").ToString()
        cmd.Parameters.Add(New SqlParameter("@TechSpec_Parameter", SqlDbType.NVarChar, 200)).Value = StrConv(strParameter.Trim, VbStrConv.ProperCase)
        cmd.Parameters.Add(New SqlParameter("@TechSpec_CategoryId", SqlDbType.NVarChar, 10)).Value = strCategoryID
        cmd.Parameters.Add(New SqlParameter("@TechSpec_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(strCompanyID)
        cmd.Parameters.Add(New SqlParameter("@TechSpec_UserId", SqlDbType.NVarChar, 10)).Value = Trim(strUserID)
        cmd.Parameters.Add(New SqlParameter("@TechSpec_FinancialYearId", SqlDbType.NVarChar, 10)).Value = strFinancialYearID.Trim
        cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Technical Specification Master"
        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
    Protected Sub btnProTecSpeAddMore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProTecSpeAddMore.Click
        Try
            If AddTechSpec() = True Then
                'displayone(tblTechnicalSpecification)
                displayone(tblTechnicalSpecification)

                getExistingTechSpecificationData()
                getTSCode()
                filltechspec()
                ClearTechSpecificationFields()
                ScriptManager1.SetFocus(ddlProTecSpeParameter)
                gvProTechSpe.SelectedIndex = -1
                'CreateMessageAlert(Me, "Technical Specification saved successfully.!", "strkeyval")
            End If
        Catch
        End Try
    End Sub
    Protected Sub gvProTechSpe_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvProTechSpe.SelectedIndexChanged
        Try
            'txtProTecSpeParameter.Enabled = True
            displayone(tblTechnicalSpecification)
            txtProTecSpeValue.Enabled = True
            Dim Kid As String = gvProTechSpe.DataKeys(gvProTechSpe.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("SELECT * FROM ProductTechnicalSpecification where TechSpec_Kid = '" & Kid & "' and TechSpec_IsDeleted='0' ", "PTS")
            'txtProTecSpeParameter.Text = dt.Rows(0).Item("TechSpec_parameter").ToString
            txtProTecSpeValue.Text = dt.Rows(0).Item("TechSpec_value").ToString
            ddlProTecSpeParameter.ClearSelection()
            ddlProTecSpeParameter.Items.FindByValue(dt.Rows(0).Item("TechSpec_ParameterId")).Selected = True
            dt.Clear()
            btnProTecSpeAddMore.Visible = False
            btnProTecSpeUpdate.Visible = True
            btnProTecSpeDelete.Visible = True
            btnProTecSpeCancel.Visible = True

        Catch
        End Try

    End Sub
    Protected Sub btnProTecSpeSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProTecSpeCancel.Click
        Try
            'AddTechSpec()
            displayone(tblTechnicalSpecification)        'lblResult.Visible = True
            'lblResult.Text = "Record Saved Successfully."
            visiblebtntechspec()
            gvProTechSpe.SelectedIndex = -1
            ClearTechSpecificationFields()
            'getTSCode()
            'MultiView2.ActiveViewIndex = -1
        Catch
        End Try
    End Sub
    Protected Sub btnProTecSpeDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProTecSpeDelete.Click
        Try
            Dim Kid As String = gvProTechSpe.DataKeys(gvProTechSpe.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("SELECT * FROM ProductTechnicalSpecification where TechSpec_Kid = '" & Kid & "' and TechSpec_IsDeleted='0' ", "PTS")


            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 = "ProductTechnicalSpecification_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@TechSpec_Kid", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("TechSpec_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("TechSpec_Code").ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_value", SqlDbType.NVarChar, 200)).Value = txtProTecSpeValue.Text
            cmd.Parameters.Add(New SqlParameter("@TechSpec_ParameterId", SqlDbType.NVarChar, 10)).Value = ddlProTecSpeParameter.SelectedItem.Value.ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_ProductId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("TechSpec_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_FinancialYearId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("TechSpec_FinancialYearId").ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_CompanyId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("TechSpec_CompanyId").ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_UserId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("TechSpec_UserId").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Technical Specification"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 10)).Value = "Delete"
            Try
                con.Open()
                cmd.ExecuteNonQuery()
                con.Close()
                dt.Clear()
                getExistingTechSpecificationData()
                visiblebtntechspec()
                displayone(tblTechnicalSpecification)
                CreateMessageAlert(Me, "Technical Specification deleted successfully.!", "strkeyval")
                gvProTechSpe.SelectedIndex = -1
                filltechspec()
            Catch ex As Exception
                con.Close()
                'CreateMessageAlert(Me, ex.Message, "StrKeyVal")
            End Try
        Catch
        End Try
    End Sub
    Protected Sub btnProTecSpeUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try

            Dim Kid As String = gvProTechSpe.DataKeys(gvProTechSpe.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("SELECT * FROM ProductTechnicalSpecification where TechSpec_Kid = '" & Kid & "' and TechSpec_IsDeleted='0' ", "PTS")


            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 = "ProductTechnicalSpecification_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@TechSpec_Kid", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("TechSpec_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("TechSpec_Code").ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_value", SqlDbType.NVarChar, 200)).Value = txtProTecSpeValue.Text
            cmd.Parameters.Add(New SqlParameter("@TechSpec_ParameterId", SqlDbType.NVarChar, 10)).Value = ddlProTecSpeParameter.SelectedItem.Value.ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_ProductId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("TechSpec_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_FinancialYearId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("TechSpec_FinancialYearId").ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_CompanyId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("TechSpec_CompanyId").ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_UserId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("TechSpec_UserId").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Technical Specification"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 10)).Value = "Update"
            Try
                con.Open()
                cmd.ExecuteNonQuery()
                con.Close()
                dt.Clear()
                getExistingTechSpecificationData()
                displayone(tblTechnicalSpecification)
                CreateMessageAlert(Me, "Technical Specification updated successfully.!", "strkeyval")
                visiblebtntechspec()
                filltechspec()
            Catch ex As Exception
                con.Close()
                'CreateMessageAlert(Me, ex.Message, "StrKeyVal")
            End Try
        Catch
        End Try
    End Sub
    Private Sub ClearTechSpecificationFields()
        Try
            'txtProTecSpeCode.Text = ""
            'txtProTecSpeParameter.Text = ""
            txtProTecSpeValue.Text = ""
            ddlProTecSpeParameter.ClearSelection()

        Catch
        End Try
    End Sub
    Protected Sub EnableControlsTS(ByVal Action As Boolean)
        Try
            'txtProTecSpeParameter.Enabled = Action
            txtProTecSpeValue.Enabled = Action
        Catch
        End Try
    End Sub
    'Private Sub FillTSGrid()
    '    Try
    '        gvProTechSpe.Visible = True
    '        Dim dt As DataTable = getTable("SELECT ProductTechnicalSpecification.TechSpec_Kid as Kid, ProductTechnicalSpecification.TechSpec_code, ProductTechnicalSpecification.TechSpec_parameter, ProductTechnicalSpecification.TechSpec_value FROM ProductTechnicalSpecification  where ProductTechnicalSpecification.TechSpec_ProductId ='" & Session("ProductId").Trim & "' and TechSpec_IsDeleted='0' and TechSpec_CompanyID='" & Session("g_Company").Trim & "'", "PTS")
    '        gvProTechSpe.DataSource = dt
    '        gvProTechSpe.DataBind()
    '    Catch
    '    End Try
    'End Sub
    Private Sub getExistingTechSpecificationData()
        Try
            ClearTechSpecificationFields()
            Dim dt As DataTable = getTable("SELECT ProductTechnicalSpecification.TechSpec_Kid, ProductTechnicalSpecification.TechSpec_code, ProductTechnicalSpecification.TechSpec_value, ProductTechnicalSpecification_Master.TechSpec_Parameter FROM         ProductTechnicalSpecification_Master INNER JOIN                       ProductTechnicalSpecification ON ProductTechnicalSpecification_Master.TechSpec_KID = ProductTechnicalSpecification.TechSpec_ParameterId where ProductTechnicalSpecification.TechSpec_ProductId ='" & Session("ProductId").Trim & "' and ProductTechnicalSpecification.TechSpec_IsDeleted='0' and ProductTechnicalSpecification.TechSpec_CompanyID='" & Session("g_Company").Trim & "' order by ProductTechnicalSpecification_Master.TechSpec_Parameter", "PTS")
            If dt.Rows.Count > 0 Then
                gvProTechSpe.DataSource = dt
                gvProTechSpe.DataBind()
                '' '' ''If Session("AdminID") = Nothing Then
                '' '' ''    gvProTechSpe.Columns(0).Visible = False
                '' '' ''End If
                'gvProTechSpe.SelectedIndex = -1
                'getTSCode()
                'btnProTecSpeAddMore.Enabled = True
                'btnProTecSpeCancel.Enabled = False
                'EnableControlsTS(False)
            Else
                'getTSCode()
                gvProTechSpe.DataSource = Nothing
                gvProTechSpe.DataBind()
                'btnProTecSpeAddMore.Enabled = True
                'btnProTecSpeCancel.Enabled = True
                'EnableControlsTS(True)
            End If

            'If Session("AdminID") <> Nothing Then
            '    EnableControlsTS(True)
            '    If dt.Rows.Count > 0 Then
            '        btnProTecSpeDelete.Visible = True
            '        btnProTecSpeDelete.Enabled = True
            '        btnProTecSpeAddMore.Visible = True
            '        btnProTecSpeAddMore.Enabled = True
            '        btnProTecSpeCancel.Visible = True
            '        btnProTecSpeCancel.Enabled = False
            '        btnProTecSpeUpdate.Visible = True
            '        btnProTecSpeUpdate.Enabled = True
            '    Else
            '        btnProTecSpeDelete.Visible = True
            '        btnProTecSpeDelete.Enabled = False
            '        btnProTecSpeAddMore.Visible = True
            '        btnProTecSpeAddMore.Enabled = True
            '        btnProTecSpeCancel.Visible = True
            '        btnProTecSpeCancel.Enabled = True
            '        btnProTecSpeUpdate.Visible = True
            '        btnProTecSpeUpdate.Enabled = False

            '    End If
            'Else
            '    btnProTecSpeUpdate.Visible = False
            'End If
            dt.Clear()
        Catch
        End Try
    End Sub
    Private Sub getTSCode()
        Try
            'txtProTecSpeCode.Text = Generate_Code("Select count(*) from ProductTechnicalSpecification where TechSpec_Code='", "TS")
        Catch
        End Try
    End Sub
    Private Function AddTechSpec() As Boolean
        Try

            'If Val(txtProTecSpeValue.Text) <= 0 Then
            '    lblResult.Visible = True
            '    lblResult.Text = "Value must be greater than zero"
            '    Exit Function
            'Else
            '    lblResult.Visible = False
            'End If
            'lblResult.Visible = True
            'If txtProTecSpeParameter.Text.Trim.Length = 0 Then
            '    lblResult.Text = "Parameter cant be blank !!"
            '    Return False
            '    Exit Function
            'End If
            If txtProTecSpeValue.Text.Trim.Length = 0 Then
                lblResult.Visible = True
                lblResult.Text = "Value cant be blank !!"
                Return False
                Exit Function
            End If
            'If ddlProTecSpeUnitName.SelectedIndex = 0 Then
            '    lblResult.Text = "Select Unit Name !!"
            '    Return False
            '    Exit Function
            'End If
            getTSCode()
            lblResult.Visible = False
            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 = "ProductTechnicalSpecification_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@TechSpec_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@TechSpec_Code", SqlDbType.NVarChar, 25)).Value = Generate_Code("Select count(*) from ProductTechnicalSpecification where TechSpec_Code='", "TS").ToString()
            cmd.Parameters.Add(New SqlParameter("@TechSpec_value", SqlDbType.NVarChar, 200)).Value = txtProTecSpeValue.Text
            If ddlProTecSpeParameter.SelectedItem.Value = "Select" Then
                cmd.Parameters.Add(New SqlParameter("@TechSpec_ParameterId", SqlDbType.NVarChar, 10)).Value = HiddenField1.Value
            Else
                cmd.Parameters.Add(New SqlParameter("@TechSpec_ParameterId", SqlDbType.NVarChar, 10)).Value = ddlProTecSpeParameter.SelectedItem.Value
            End If
            'cmd.Parameters.Add(New SqlParameter("@TechSpec_ParameterId", SqlDbType.NVarChar, 10)).Value = ddlProTecSpeParameter.SelectedItem.Value.ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_ProductId", SqlDbType.NVarChar, 10)).Value = Session("ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@TechSpec_FinancialYearId", SqlDbType.NVarChar, 10)).Value = Session("g_FinYear").Trim
            cmd.Parameters.Add(New SqlParameter("@TechSpec_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@TechSpec_UserId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Technical Specification"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 10)).Value = "Insert"
            Try
                con.Open()
                cmd.ExecuteNonQuery()
                con.Close()
            Catch ex As Exception
                con.Close()
                Return False
            End Try
            Return True
        Catch
        End Try
    End Function
    '********************************** Product Special Notes Instruction  ******************************************
    Protected Sub btnspecialnote_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnspecialnote.Click
        Try
            'gvProdSpecInstr.DataSource = Nothing
            'gvProdSpecInstr.DataBind()
            lblResult.Visible = False
            'MultiView2.ActiveViewIndex = 3
            'Tr22.Visible = False
            ClearSpecialNoteFields()
            getExistingSpecialNoteData()
            btnProdSpecInstrCancel.Visible = False
            fuSpecialNotes.Focus()
            btnProdSpecInstrAddMore.Attributes.Add("onclick", "return checkSpecialNotes();")
            btnProdSpecInstrUpdate.Attributes.Add("onclick", "return checkSpecialNotes();")
            btnProdSpecInstrDelete.Attributes.Add("onclick", "return confirm('Are you sure want to delete.?')")
            'btnvisibleSpecInstr()
        Catch
        End Try
    End Sub
    Protected Sub btnProdSpecInstrAddMore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProdSpecInstrAddMore.Click
        Try
            If AddProdSpecInstr() = True Then
                ClearSpecialNoteFields()
                getExistingSpecialNoteData()
                GetSpecialNoteCode()
                displayone(tblSpecialNotes)
                CreateMessageAlert(Me, "Special Notes saved successfully.!", "strkeyval")
            End If
        Catch
        End Try
    End Sub
    Protected Sub gvProdSpecInstr_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvProdSpecInstr.SelectedIndexChanged
        Try
            txtProdSpecInstr_Instruction.Enabled = True
            displayone(tblSpecialNotes)
            Dim Kid As String = gvProdSpecInstr.DataKeys(gvProdSpecInstr.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("SELECT * FROM ProductSpecialNotesInstruction where ProdSpecInstr_Kid = '" & Kid & "' and ProdSpecInstr_IsDeleted='0' ", "PTS")
            txtProdSpecInstr_Instruction.Text = dt.Rows(0).Item("ProdSpecInstr_Instruction").ToString.Trim
            btnProdSpecInstrAddMore.Visible = False
            btnProdSpecInstrCancel.Visible = True
            btnProdSpecInstrDelete.Visible = True
            btnProdSpecInstrUpdate.Visible = True
            dt.Clear()
        Catch
        End Try

    End Sub
    Protected Sub btnProdSpecInstrDelete_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProdSpecInstrDelete.Click
        Try
            Dim Kid As String = gvProdSpecInstr.DataKeys(gvProdSpecInstr.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("SELECT * FROM ProductSpecialNotesInstruction where ProdSpecInstr_Kid = '" & Kid & "' and ProdSpecInstr_IsDeleted='0' ", "PTS")
            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 = "ProductSpecialNotesInstruction_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Kid", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdSpecInstr_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("ProdSpecInstr_Code").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Instruction", SqlDbType.NVarChar, 1000)).Value = txtProdSpecInstr_Instruction.Text
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_ProductId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdSpecInstr_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_FinancialYearId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdSpecInstr_FinancialYearId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_CompanyId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdSpecInstr_CompanyId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_UserId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdSpecInstr_UserId").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Special Notes Instruction"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Delete"
            Try
                con.Open()
                cmd.ExecuteNonQuery()
                con.Close()
                dt.Clear()
                getExistingSpecialNoteData()
                btnvisibleSpecInstr()
                displayone(tblSpecialNotes)
                CreateMessageAlert(Me, "Special Notes deleted successfully.!", "strkeyval")
            Catch ex As Exception
                con.Close()
                'CreateMessageAlert(Me, ex.Message, "StrKeyVal")
            End Try
        Catch
        End Try
    End Sub
    Protected Sub btnProdSpecInstrUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProdSpecInstrUpdate.Click

        Try

            Dim strImageName As String = ""
            '----------------------------------
            'If rblUserManual.SelectedValue = "Yes" Then
            If (fuSpecialNotes.HasFile) Then
                Dim fileType As String = Path.GetExtension(fuSpecialNotes.FileName).ToLower
                If fileType = ".pdf" Then
                    strImageName = Final_FileUpload(fuSpecialNotes, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                Else
                    lblResult.Visible = True
                    lblResult.Text = "Please select .pdf only!"
                    fuSpecialNotes.Focus()
                    Exit Sub
                End If
            Else
                lblResult.Visible = True
                lblResult.Text = "Please select .pdf, .gif, .jpg file ... !!!"
                Exit Sub
            End If

            'Dim Kid As String = gvProdSpecInstr.DataKeys(gvProdSpecInstr.SelectedIndex).Value.ToString
            'Dim dt As DataTable = getTable("SELECT * FROM ProductSpecialNotesInstruction where ProdSpecInstr_Kid = '" & Kid & "' and ProdSpecInstr_IsDeleted='0' ", "PTS")


            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 = "ProductSpecialNotesInstruction_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Kid", SqlDbType.NVarChar, 10)).Value = ReturnValue("Select ProdSpecInstr_kid from ProductSpecialNotesInstruction where ProdSpecInstr_ProductId='" & Session("ProductID").ToString & "'and ProdSpecInstr_Isdeleted ='0'") 'dt.Rows(0).Item("ProdSpecInstr_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Code", SqlDbType.NVarChar, 25)).Value = ReturnValue("Select ProdSpecInstr_Code from ProductSpecialNotesInstruction where ProdSpecInstr_ProductId='" & Session("ProductID").ToString & "'and ProdSpecInstr_Isdeleted ='0'")  'dt.Rows(0).Item("ProdSpecInstr_Code").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Instruction", SqlDbType.NVarChar, 1000)).Value = ""
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_ProductId", SqlDbType.NVarChar, 10)).Value = Session("ProductId").ToString 'dt.Rows(0).Item("ProdSpecInstr_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_FileName", SqlDbType.NVarChar, 50)).Value = strImageName.ToString ' dt.Rows(0).Item("ProdSpecInstr_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_FinancialYearId", SqlDbType.NVarChar, 10)).Value = Session("g_FinYear").ToString  'dt.Rows(0).Item("ProdSpecInstr_FinancialYearId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_CompanyId", SqlDbType.NVarChar, 10)).Value = Session("g_Company").ToString  'dt.Rows(0).Item("ProdSpecInstr_CompanyId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_UserId", SqlDbType.NVarChar, 10)).Value = Session("g_User").ToString  'dt.Rows(0).Item("ProdSpecInstr_UserId").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Special Notes Instruction"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Update"
            Try
                con.Open()
                cmd.ExecuteNonQuery()
                con.Close()
                'dt.Clear()
                getExistingSpecialNoteData()
                ClearSpecialNoteFields()
                btnvisibleSpecInstr()
                displayone(tblSpecialNotes)
                CreateMessageAlert(Me, "Special Notes Updated Successfully.!", "strkeyval")
            Catch ex As Exception
                con.Close()
                'CreateMessageAlert(Me, ex.Message, "StrKeyVal")
            End Try
        Catch
        End Try
    End Sub
    Protected Sub btnProdSpecInstrSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProdSpecInstrCancel.Click
        Try
            ClearSpecialNoteFields()
            btnvisibleSpecInstr()
            displayone(tblSpecialNotes)
            gvProdSpecInstr.SelectedIndex = -1
        Catch
        End Try
    End Sub
    Protected Sub btnProdSpecInstrDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            Dim Kid As String = gvProdSpecInstr.DataKeys(gvProdSpecInstr.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("SELECT * FROM ProductSpecialNotesInstruction where ProdSpecInstr_Kid = '" & Kid & "' and ProdSpecInstr_IsDeleted='0' ", "PTS")


            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 = "ProductSpecialNotesInstruction_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Kid", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdSpecInstr_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("ProdSpecInstr_Code").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Instruction", SqlDbType.NVarChar, 150)).Value = txtProdSpecInstr_Instruction.Text
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_ProductId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdSpecInstr_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_FinancialYearId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdSpecInstr_FinancialYearId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_CompanyId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdSpecInstr_CompanyId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_UserId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("ProdSpecInstr_UserId").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Special Notes Instruction"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Delete"
            Try
                con.Open()
                cmd.ExecuteNonQuery()
                con.Close()
                dt.Clear()
                getExistingSpecialNoteData()
                ClearSpecialNoteFields()
                btnvisibleSpecInstr()
                displayone(tblSpecialNotes)
                CreateMessageAlert(Me, "Special Notes Deleted Sucessfully.!", "strkeyval")
            Catch ex As Exception
                con.Close()
                'CreateMessageAlert(Me, ex.Message, "StrKeyVal")
            End Try
        Catch
        End Try
    End Sub
    Public Sub btnvisibleSpecInstr()
        btnProdSpecInstrAddMore.Visible = True
        btnProdSpecInstrUpdate.Visible = False
        btnProdSpecInstrDelete.Visible = False
        btnProdSpecInstrCancel.Visible = False
    End Sub
    Private Sub getExistingSpecialNoteData()
        Try

            Dim fileName As String
            fileName = ReturnValue("Select ProdSpecInstr_FileName from ProductSpecialNotesInstruction where ProdSpecInstr_ProductId='" & Session("ProductID").ToString & "'and ProdSpecInstr_Isdeleted ='0' AND (ProdSpecInstr_FileName IS NOT NULL)")
            If fileName.ToString <> "" Then
                trSpecialNotesFileName.Style.Add("display", "auto")
                hlSpecialInstruction.Text = fileName.ToString
                hlSpecialInstruction.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & fileName.ToString
                btnProdSpecInstrAddMore.Visible = False
                btnProdSpecInstrUpdate.Visible = True
            Else
                trSpecialNotesFileName.Style.Add("display", "none")
                btnProdSpecInstrAddMore.Visible = True
                btnProdSpecInstrUpdate.Visible = False
            End If

            '' '' ''Dim dt As DataTable = getTable("SELECT ProdSpecInstr_Code,ProdSpecInstr_Kid,ProdSpecInstr_Instruction FROM ProductSpecialNotesInstruction where  ProdSpecInstr_ProductID='" & Session("ProductId").Trim & "' and ProdSpecInstr_IsDeleted='0' and ProdSpecInstr_CompanyID='" & Session("g_Company").Trim & "'", "TS")
            '' '' ''If dt.Rows.Count > 0 Then
            '' '' ''    gvProdSpecInstr.DataSource = dt
            '' '' ''    gvProdSpecInstr.DataBind()
            '' '' ''    '' '' ''If Session("AdminID") = Nothing Then
            '' '' ''    '' '' ''    gvProdSpecInstr.Columns(0).Visible = False
            '' '' ''    '' '' ''End If
            '' '' ''    'GetSpecialNoteCode()
            '' '' ''    'btnProdSpecInstrAddMore.Enabled = True
            '' '' ''    'btnProdSpecInstrCancel.Enabled = False
            '' '' ''    'EnableControlsSN(False)
            '' '' ''    'ClearSpecialNoteFields()
            '' '' ''    lblProductInstruction.Text = "Product Instruction :&nbsp;&nbsp;<b>" & dt.Rows.Count + 1 & ".</b>"
            '' '' ''Else
            '' '' ''    lblProductInstruction.Text = "Product Instruction :&nbsp;&nbsp;<b>" & dt.Rows.Count + 1 & ".</b>"
            '' '' ''    GetSpecialNoteCode()
            '' '' ''    gvProdSpecInstr.DataSource = Nothing
            '' '' ''    'gvProdSpecInstr.DataBind()
            '' '' ''    'btnProdSpecInstrAddMore.Enabled = True
            '' '' ''    'btnProdSpecInstrCancel.Enabled = True
            '' '' ''    'EnableControlsSN(True)
            '' '' ''    'ClearSpecialNoteFields()
            '' '' ''End If

            'If Session("AdminID") <> Nothing Then
            '    EnableControlsSN(True)
            '    If dt.Rows.Count > 0 Then
            '        btnProdSpecInstrDelete.Visible = True
            '        btnProdSpecInstrDelete.Enabled = True
            '        btnProdSpecInstrAddMore.Visible = True
            '        btnProdSpecInstrAddMore.Enabled = True
            '        btnProdSpecInstrCancel.Visible = True
            '        btnProdSpecInstrCancel.Enabled = False
            '        btnProdSpecInstrUpdate.Visible = True
            '        btnProdSpecInstrUpdate.Enabled = True

            '    Else
            '        btnProdSpecInstrDelete.Visible = True
            '        btnProdSpecInstrDelete.Enabled = False
            '        btnProdSpecInstrAddMore.Visible = True
            '        btnProdSpecInstrAddMore.Enabled = True
            '        btnProdSpecInstrCancel.Visible = True
            '        btnProdSpecInstrCancel.Enabled = True
            '        btnProdSpecInstrUpdate.Visible = True
            '        btnProdSpecInstrUpdate.Enabled = False

            '    End If
            'Else
            '    btnProdSpecInstrUpdate.Visible = False
            'End If

            'dt.Clear()
        Catch
        End Try
    End Sub
    Protected Sub EnableControlsSN(ByVal Action As Boolean)
        Try
            txtProdSpecInstr_Instruction.Enabled = Action
        Catch
        End Try
    End Sub
    Private Sub ClearSpecialNoteFields()
        Try
            'txtProdSpecInstr_Code.Text = ""
            txtProdSpecInstr_Instruction.Text = ""
        Catch
        End Try
    End Sub
    Private Sub GetSpecialNoteCode()
        Try
            'txtProdSpecInstr_Code.Text = Generate_Code("Select count(*) from ProductSpecialNotesInstruction where ProdSpecInstr_Code='", "TS")
        Catch
        End Try
    End Sub
    ''Private Sub FillSNGrid()
    ''    Try
    ''        Dim dt As DataTable = getTable("SELECT ProdSpecInstr_Code,ProdSpecInstr_Kid,ProdSpecInstr_Instruction FROM ProductSpecialNotesInstruction where  ProdSpecInstr_ProductID='" & Session("ProductId").Trim & "' and ProdSpecInstr_IsDeleted='0' and ProdSpecInstr_CompanyID='" & Session("g_Company").Trim & "'", "TS")
    ''        gvProdSpecInstr.DataSource = dt
    ''        gvProdSpecInstr.DataBind()
    ''    Catch
    ''    End Try
    ''End Sub
    Private Function AddProdSpecInstr() As Boolean
        Try
            Dim strImageName As String = ""
            '----------------------------------
            'If rblUserManual.SelectedValue = "Yes" Then
            If (fuSpecialNotes.HasFile) Then
                Dim fileType As String = Path.GetExtension(fuSpecialNotes.FileName).ToLower
                If fileType = ".pdf" Then
                    strImageName = Final_FileUpload(fuSpecialNotes, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                Else
                    lblResult.Visible = True
                    lblResult.Text = "Please select .pdf only!"
                    fuSpecialNotes.Focus()
                    Exit Function
                End If
            Else
                lblResult.Visible = True
                lblResult.Text = "Please select .pdf, .gif, .jpg file ... !!!"
                Exit Function
            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 = "ProductSpecialNotesInstruction_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Code", SqlDbType.NVarChar, 25)).Value = Generate_Code("Select count(*) from ProductSpecialNotesInstruction where ProdSpecInstr_Code='", "TS").ToString()
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_Instruction", SqlDbType.NVarChar, 1000)).Value = txtProdSpecInstr_Instruction.Text.Trim
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_ProductId", SqlDbType.NVarChar, 10)).Value = Session("ProductId")
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_FileName", SqlDbType.NVarChar, 50)).Value = strImageName.ToString 'Session("ProductId")
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_FinancialYearId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_FinYear"))
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@ProdSpecInstr_UserId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Special Notes Instruction"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Insert"
            Try
                con.Open()
                cmd.ExecuteNonQuery()
                con.Close()
                Return True
            Catch ex As Exception
                con.Close()
                Return False
            End Try
        Catch
        End Try
    End Function
    '************************************* Material Safety Data Sheet  *********************************************
    Protected Sub btnproductmsds_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnproductmsds.Click
        Try
            lblResult.Visible = False
            'MultiView2.ActiveViewIndex = 4
            'Tr28.Visible = False
            trProductMSDS.Style.Add("display", "none")
            rblProductMSDS.Attributes.Add("onclick", "return rblProductMSDSClick(this);")
            btnProductMSDSSave.Attributes.Add("onclick", "return checkMSDS();")
            btnProductMSDSUpdate.Attributes.Add("onclick", "return checkMSDS();")
            rblProductMSDS.ClearSelection()
            rblProductMSDS.Focus()
            getExistingMSDSData()
            'rbYes.Checked = True
            '            rblProductMSDS.SelectedValue = "Yes"
        Catch
        End Try
    End Sub
    Protected Sub btnProductMSDSSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProductMSDSSave.Click
        Try
            Dim strImageName As String = ""
            Dim AdminstrImageName As String = ""
            If rblProductMSDS.SelectedItem.Value = "Yes" Then
                If (FileUploadMSDS.HasFile) Then
                    Dim fileType As String = Path.GetExtension(FileUploadMSDS.FileName)
                    If fileType.ToLower = ".gif" Or fileType = ".jpg" Or fileType = ".docx" Or fileType = ".doc" Or fileType = ".bmp" Or fileType = ".jpeg" Or fileType = ".pdf" Then
                        strImageName = Final_FileUpload(FileUploadMSDS, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                    Else
                        lblResult.Visible = True
                        lblResult.Text = "Please Select .pdf , .gif , .jpg, .bmp, .doc, .docx File Only!"
                        FileUploadMSDS.Focus()
                        Exit Sub
                    End If
                Else
                    strImageName = ""
                    CreateMessageAlert(Me, "Please Select .pdf , .gif , .jpg, .bmp, .doc, .docx File Only!", "StrKeyVal")
                    Exit Sub
                End If
            End If

            'If Session("AdminID") <> Nothing Then
            '    If (AdminFileUploadMSDS.HasFile) Then
            '        Dim fileType As String = Path.GetExtension(AdminFileUploadMSDS.FileName)
            '        If fileType = ".gif" Or fileType = ".jpg" Or fileType = ".jpeg" Or fileType = ".pdf" Then
            '            AdminstrImageName = Final_FileUpload(AdminFileUploadMSDS, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
            '        Else
            '            lblResult.Visible = True
            '            lblResult.Text = "Please Select .pdf, .gif, .jpg file only!"
            '            AdminFileUploadMSDS.Focus()
            '            Exit Sub
            '        End If
            '    End If
            'End If

            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "MaterialSafetyDataSheet_Proc"
            cmd.Connection = con

            cmd.Parameters.Add(New SqlParameter("@MSDS_Kid", SqlDbType.NVarChar, 20)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@MSDS_Code", SqlDbType.NVarChar, 25)).Value = GenerateMSDSCode().ToString
            Try
                If rblProductMSDS.SelectedItem.Value = "Yes" Then
                    cmd.Parameters.Add(New SqlParameter("@MSDS_IsDataSheetUpload", SqlDbType.NVarChar, 1)).Value = "Y"
                Else
                    cmd.Parameters.Add(New SqlParameter("@MSDS_IsDataSheetUpload", SqlDbType.NVarChar, 1)).Value = "N"
                End If
            Catch
            End Try
            cmd.Parameters.Add(New SqlParameter("@MSDS_UploadedDataSheetName", SqlDbType.NVarChar, 50)).Value = strImageName
            'If (AdminFileUploadMSDS.HasFile) Then
            '    cmd.Parameters.Add(New SqlParameter("@MSDS_AdminUploadedDataSheetName", SqlDbType.NVarChar, 50)).Value = AdminstrImageName
            'ElseIf AdminhyplnkMSDS.Text.Trim.Length > 0 Then
            '    cmd.Parameters.Add(New SqlParameter("@MSDS_AdminUploadedDataSheetName", SqlDbType.NVarChar, 50)).Value = AdminhyplnkMSDS.Text
            'End If
            cmd.Parameters.Add(New SqlParameter("@MSDS_ProductId", SqlDbType.NVarChar, 25)).Value = Session("ProductId")
            cmd.Parameters.Add(New SqlParameter("@MSDS_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_FinYear"))
            cmd.Parameters.Add(New SqlParameter("@MSDS_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@MSDS_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Material Safety Data Sheet"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Insert"
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            'lblResult.Visible = True
            'lblResult.Text = "Record Saved Successfully."
            displayone(tblProductMSDS)
            CreateMessageAlert(Me, "Product MSDS Saved Successfully.!", "strkeyval")
            ClearProductMsdsFields()
            getExistingMSDSData()
            'MultiView2.ActiveViewIndex = -1
        Catch
        End Try
    End Sub
    Protected Sub btnProductMSDSUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProductMSDSUpdate.Click
        Try
            Dim dt As DataTable = getTable("Select * from MaterialSafetyDataSheet where MSDS_ProductId='" & Session.Item("ProductId").Trim & "' and MSDS_IsDeleted='0' and MSDS_CompanyID='" & Session("g_Company").Trim & "'", "MSDS")

            Dim strImageName As String = ""
            Dim AdminstrImageName As String = ""
            If rblProductMSDS.SelectedItem.Value = "Yes" Then
                If (FileUploadMSDS.HasFile) Then
                    Dim fileType As String = Path.GetExtension(FileUploadMSDS.FileName)
                    If fileType = ".gif" Or fileType = ".jpg" Or fileType = ".jpeg" Or fileType = ".pdf" Then
                        strImageName = Final_FileUpload(FileUploadMSDS, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                    Else
                        lblResult.Text = "Please Select .pdf , .gif , .jpg File Only!"
                        strImageName = dt.Rows(0).Item("MSDS_UploadedDataSheetName").ToString
                    End If
                Else
                    strImageName = ""
                    strImageName = dt.Rows(0).Item("MSDS_UploadedDataSheetName").ToString
                End If
            End If

            'If (AdminFileUploadMSDS.HasFile) Then
            '    Dim fileType As String = Path.GetExtension(AdminFileUploadMSDS.FileName)
            '    If fileType = ".gif" Or fileType = ".jpg" Or fileType = ".jpeg" Or fileType = ".pdf" Then
            '        AdminstrImageName = Final_FileUpload(AdminFileUploadMSDS, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
            '    Else
            '        lblResult.Visible = True
            '        lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
            '        AdminFileUploadMSDS.Focus()
            '        Exit Sub
            '    End If
            'ElseIf AdminhyplnkMSDS.Text.Trim.Length > 0 Then
            '    AdminstrImageName = dt.Rows(0).Item("MSDS_AdminUploadedDataSheetName").ToString
            'Else
            '    AdminstrImageName = ""
            '    CreateMessageAlert(Me, "Please select .pdf, .gif, .jpg file first..!!", "StrKeyVal")
            '    Exit Sub
            'End If

            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "MaterialSafetyDataSheet_Proc"
            cmd.Connection = con

            cmd.Parameters.Add(New SqlParameter("@MSDS_Kid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("MSDS_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@MSDS_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("MSDS_Code").ToString
            Try
                If rblProductMSDS.SelectedItem.Value = "Yes" Then
                    cmd.Parameters.Add(New SqlParameter("@MSDS_IsDataSheetUpload", SqlDbType.NVarChar, 1)).Value = "Y"
                    If (FileUploadMSDS.HasFile) Then
                        cmd.Parameters.Add(New SqlParameter("@MSDS_UploadedDataSheetName", SqlDbType.NVarChar, 50)).Value = strImageName
                    ElseIf hyplnkMSDS.Text.Trim.Length <> 0 Then
                        cmd.Parameters.Add(New SqlParameter("@MSDS_UploadedDataSheetName", SqlDbType.NVarChar, 50)).Value = hyplnkMSDS.Text.Trim
                    Else
                        CreateMessageAlert(Me, "PLease Select Pdf File First..!!", "StrKeyVal")
                        Exit Sub
                    End If
                Else
                    cmd.Parameters.Add(New SqlParameter("@MSDS_IsDataSheetUpload", SqlDbType.NVarChar, 1)).Value = "N"
                    strImageName = ""
                    cmd.Parameters.Add(New SqlParameter("@MSDS_UploadedDataSheetName", SqlDbType.NVarChar, 50)).Value = strImageName
                End If
            Catch
            End Try
            'By Pankaj Mishra  10.02.2009
            '' '' '' ''If (FileUploadMSDS.HasFile) Then
            '' '' '' ''    cmd.Parameters.Add(New SqlParameter("@MSDS_UploadedDataSheetName", SqlDbType.NVarChar, 50)).Value = strImageName
            '' '' '' ''ElseIf hyplnkMSDS.Text.Trim.Length <> 0 Then
            '' '' '' ''    cmd.Parameters.Add(New SqlParameter("@MSDS_UploadedDataSheetName", SqlDbType.NVarChar, 50)).Value = hyplnkMSDS.Text.Trim
            '' '' '' ''Else
            '' '' '' ''    CreateMessageAlert(Me, "PLease Select Pdf File First..!!", "StrKeyVal")
            '' '' '' ''    Exit Sub
            '' '' '' ''End If
            '=========================================================================================
            'If (AdminFileUploadMSDS.HasFile) Then
            '    cmd.Parameters.Add(New SqlParameter("@MSDS_AdminUploadedDataSheetName", SqlDbType.NVarChar, 50)).Value = AdminstrImageName
            'ElseIf AdminhyplnkMSDS.Text.Trim.Length > 0 Then
            '    cmd.Parameters.Add(New SqlParameter("@MSDS_AdminUploadedDataSheetName", SqlDbType.NVarChar, 50)).Value = AdminhyplnkMSDS.Text
            'Else
            '    CreateMessageAlert(Me, "PLease Select Pdf File First..!!", "StrKeyVal")
            '    Exit Sub
            'End If
            cmd.Parameters.Add(New SqlParameter("@MSDS_ProductId", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("MSDS_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@MSDS_FinancialYearId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("MSDS_FinancialYearId").ToString
            cmd.Parameters.Add(New SqlParameter("@MSDS_CompanyId", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("MSDS_CompanyId").ToString
            cmd.Parameters.Add(New SqlParameter("@MSDS_UserId", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("MSDS_UserId").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Material Safety Data Sheet"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Update"
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            'lblResult.Visible = True
            'lblResult.Text = "Record Update Successfully."
            displayone(tblProductMSDS)
            CreateMessageAlert(Me, "Product MSDS Updated Successfully.!", "strkeyval")
            ClearProductMsdsFields()
            getExistingMSDSData()
            'MultiView2.ActiveViewIndex = -1
        Catch
        End Try
    End Sub
    Protected Sub EnableControlsMSDS(ByVal Action As Boolean)
        Try
            rblProductMSDS.Enabled = Action
        Catch
        End Try
    End Sub
    Protected Sub ClearProductMsdsFields()
        Try
            'txtMSDS_Code.Text = ""                  'Assign Null to the TextField
            rblProductMSDS.ClearSelection()
            'rbYes.Checked = False                           'Assign unchecked to the Radio Button
            'rbNo.Checked = False                           'Assign unchecked to the Radio Button
        Catch
        End Try
    End Sub
    Private Sub getExistingMSDSData()
        Try
            Dim dt As DataTable = getTable("Select MSDS_Kid,MSDS_Code,MSDS_IsDataSheetUpload,MSDS_UploadedDataSheetName,MSDS_AdminUploadedDataSheetName from MaterialSafetyDataSheet where MSDS_ProductId='" & Session("ProductId").Trim & "' and MSDS_IsDeleted='0' and MSDS_CompanyID='" & Session("g_Company").Trim & "'", "MSDS")
            If dt.Rows.Count > 0 Then
                'txtMSDS_Code.Text = dt.Rows(0).Item("MSDS_Code").ToString
                If dt.Rows(0).Item("MSDS_IsDataSheetUpload").ToString = "Y" Then
                    '' '' ''If Session("AdminID") <> Nothing Then
                    trProductMSDS.Style.Add("display", "auto")
                    '' '' ''End If
                    rblProductMSDS.SelectedValue = "Yes"
                    trProductMSDSFileName.Style.Add("display", "auto")
                    'rblProductMSDS.SelectedValue = "Yes"
                    'lblMSDS_UploadedDataSheetName.Visible = True
                    hyplnkMSDS.Text = dt.Rows(0).Item("MSDS_UploadedDataSheetName").ToString
                    hyplnkMSDS.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("MSDS_UploadedDataSheetName").ToString
                    'FileUploadMSDS.Visible = False
                    ''Label4.Visible = False
                    'AdminFileUploadMSDS.Visible = False
                    'Label95.Visible = False
                    'hyplnkMSDS.Visible = True
                    'If dt.Rows(0).Item("MSDS_AdminUploadedDataSheetName").ToString.Trim.Length > 0 Then
                    '    AdminhyplnkMSDS.Visible = True
                    '    AdminhyplnkMSDS.Text = dt.Rows(0).Item("MSDS_AdminUploadedDataSheetName").ToString
                    '    AdminhyplnkMSDS.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("MSDS_AdminUploadedDataSheetName").ToString
                    'Else
                    '    AdminhyplnkMSDS.Visible = False
                    'End If
                    'EnableControlsMSDS(False)
                Else
                    rblProductMSDS.SelectedValue = "No"
                    trProductMSDSFileName.Style.Add("display", "none")
                    'rblProductMSDS.SelectedValue = "No"
                    'trProductMSDSFileName.Visible = False
                    'lblMSDS_UploadedDataSheetName.Visible = False
                    'FileUploadMSDS.Visible = False
                    ''Label4.Visible = False
                    'AdminFileUploadMSDS.Visible = False
                    'Label95.Visible = False
                    'hyplnkMSDS.Visible = False
                    'AdminhyplnkMSDS.Visible = False
                    'EnableControlsMSDS(False)
                End If
                '' '' ''If Session("AdminID") = Nothing Then
                '' '' ''    btnProductMSDSSave.Visible = False
                '' '' ''    btnProductMSDSUpdate.Visible = False
                '' '' ''    EnableControlsMSDS(False)
                '' '' ''Else
                btnProductMSDSSave.Visible = False
                btnProductMSDSUpdate.Visible = True
                EnableControlsMSDS(True)
                '' '' ''End If
                'btnProductMSDSSave.Visible = False
            Else
                trProductMSDSFileName.Style.Add("display", "none")
                btnProductMSDSSave.Visible = True
                btnProductMSDSUpdate.Visible = False
                EnableControlsMSDS(True)
                'GenerateMSDSCode()
                'btnProductMSDSSave.Enabled = True
                'FileUploadMSDS.Visible = True
                'Label4.Visible = True
                'AdminFileUploadMSDS.Visible = True
                'Label95.Visible = True
                'lblMSDS_UploadedDataSheetName.Visible = True
                'hyplnkMSDS.Visible = False
                'AdminhyplnkMSDS.Visible = False
            End If
            ' ''If Session("AdminID") <> Nothing Then
            ' ''    EnableControlsMSDS(True)
            ' ''    FileUploadMSDS.Visible = True
            ' ''    'Label4.Visible = True
            ' ''    AdminFileUploadMSDS.Visible = True
            ' ''    Label95.Visible = True
            ' ''    If dt.Rows.Count > 0 Then
            ' ''        btnProductMSDSSave.Visible = False
            ' ''        'btnApplicaionSave.Enabled = True
            ' ''        btnProductMSDSUpdate.Visible = True
            ' ''    Else
            ' ''        btnProductMSDSSave.Visible = True
            ' ''        'btnApplicaionSave.Enabled = True
            ' ''        btnProductMSDSUpdate.Visible = False
            ' ''    End If
            ' ''Else
            ' ''    btnProductMSDSUpdate.Visible = False
            ' ''    AdminhyplnkMSDS.Visible = False
            ' ''    AdminFileUploadMSDS.Visible = False
            ' ''    Label95.Visible = False
            ' ''End If
            dt = Nothing
        Catch
        End Try
    End Sub
    Protected Function GenerateMSDSCode() As String
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            'txtMSDS_Code.Text = NewPrimaryKey(Me)
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "MSS" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from MaterialSafetyDataSheet where MSDS_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                    Return code
                    Exit Function
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Function


    '****************************************** Optional Accessories   *********************************************
    Protected Sub btnaccoptional_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnaccoptional.Click
        Try
            'MultiView2.ActiveViewIndex = 6
            FillFactoryCombo("SELECT Product_Master.Product_Kid, Product_Master.Product_Name + ' - ' + Product_Master.Product_Code + ' - ' + isnull(Product_Master.Product_ModelNo,'') AS [Asseccory Name] FROM Product_Master WHERE (Product_Master.Product_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (Product_Master.Product_IsAssc = 'Y') AND (Product_Master.Product_IsDeleted = '0') AND (Product_Master.Product_Kid <> '" & Session("ProductID").ToString.Trim & "')", ddlOptionalAccessories, "A")
            'FillFactoryCombo("SELECT     Product_Kid, Product_Name + ' - ' + Product_Code + ' - ' + ISNULL(Product_ModelNo, N'') AS [Asseccory Name]             FROM(Product_Master) WHERE     (Product_SupplierId = '" & RemoveLiterals(Session("SupplierID").ToString) & "') AND (Product_IsAssc = 'Y') AND (Product_IsDeleted = '0') AND (Product_Kid <> '" & RemoveLiterals(Session("ProductID").ToString) & "') AND                        (Product_Kid NOT IN                           (SELECT     ODTOA_OAccessId             FROM(OtherDetail_OptionalAccessories)                             WHERE      (ODTOA_IsDeleted = '0') AND (ODTOA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString) & "')))", ddlOptionalAccessories, "A")
            FillOptionalGrid()
            btnAccOptAddMore.Attributes.Add("onclick", "return checkAccOpt();")
            btnAccOptUpdate.Attributes.Add("onclick", "return checkAccOpt();")
            btnAccOptDelete.Attributes.Add("onclick", "return confirm('Are you sure want to delete.?')")
            '' '' ''If Session("AdminID") = Nothing Then
            '' '' ''    gvAccOpt.Columns(0).Visible = False
            '' '' ''End If
            visibleAccOpt()

        Catch ex As Exception

        End Try

    End Sub
    Public Sub visibleAccOpt()
        btnAccOptAddMore.Visible = True
        btnAccOptCancel.Visible = False
        btnAccOptDelete.Visible = False
        btnAccOptUpdate.Visible = False
    End Sub
    Public Sub FillFactoryCombo(ByVal strQuery As String, ByVal ddl As DropDownList, ByVal flag As String)
        Try
            Dim SqlCon As New SqlConnection(ConfigurationManager.AppSettings("ConnectionString"))  ' Declare connection Object
            Dim SqlAdapter As New SqlDataAdapter      ' Declare Dataadapter Object
            Dim SqlDataSet As New Data.DataSet        ' Declare Dataset Object
            Dim DT As New Data.DataTable              ' Declare Datatable Oblect
            Dim sqlCmd As New SqlCommand(strQuery, SqlCon) ' Declare Command Object
            Dim i As Integer

            SqlCon.Open()                                 ' Open Connection
            SqlAdapter.SelectCommand = sqlCmd             ' Set command to Adapter
            SqlAdapter.Fill(SqlDataSet, "TableName")      ' Links Adapter with DataSet
            DT = SqlDataSet.Tables("TableName")           ' Get datatable from dataset
            sqlCmd.ExecuteNonQuery()                      ' Executes Command

            If flag = "F" Then
                ddl.Items.Clear()                             ' Clear the Items of DropDownList  
                ddl.Items.Insert(0, New ListItem("Select FactoryName - City", "Select"))     ' Insert Blank Row at index 0  
            ElseIf flag = "W" Then
                ddl.Items.Clear()                             ' Clear the Items of DropDownList  
                ddl.Items.Insert(0, New ListItem("Select WareHouseName - City", "Select"))     ' Insert Blank Row at index 0  
            ElseIf flag = "C" Then
                ddl.Items.Clear()                             ' Clear the Items of DropDownList  
                ddl.Items.Insert(0, New ListItem("Select ClientName - City", "Select"))     ' Insert Blank Row at index 0  
            ElseIf flag = "A" Then
                ddl.Items.Clear()                             ' Clear the Items of DropDownList  
                ddl.Items.Insert(0, New ListItem("Select Asseccory Name - Code - ModelNo", "Select"))     ' Insert Blank Row at index 0  
            ElseIf flag = "S" Then
                ddl.Items.Clear()                             ' Clear the Items of DropDownList  
                ddl.Items.Insert(0, New ListItem("Select SparePart Name - Code - ModelNo", "Select"))     ' Insert Blank Row at index 0              ElseIf flag = "S" Then
            End If

            For i = 0 To DT.Rows.Count - 1
                ddl.Items.Insert(i + 1, New ListItem(DT.Rows(i).Item(1), DT.Rows(i).Item(0)))  '' Add Items(code,Exact Value) into DropDownList
            Next i
            ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(""))     '' Assigning 0 th Index to DropDownList

            If flag = "F" Then
                ddl.Items.Add(New ListItem("Add New Factory", "Add New"))
            ElseIf flag = "W" Then
                ddl.Items.Add(New ListItem("Add New WareHouse", "Add New"))
            ElseIf flag = "C" Then
                ddl.Items.Add(New ListItem("Add New Client", "Add New"))
            End If

            SqlCon.Close()                                '' Close Connection Object
            SqlCon.Dispose()                              '' Dispose Connection Oblect
            sqlCmd.Dispose()                              '' Dispose command object
            SqlAdapter.Dispose()                          '' Dispose adapter Object
            SqlDataSet.Dispose()                          '' Dispose dataset Object
            DT.Dispose()                                  '' Dispose datatable Object
        Catch ex As Exception
            CreateMessageAlert(ddl.Page, ex.Message, "StrKeyVal")     'Display the Error Message
            ddl = Nothing
        End Try
    End Sub
    Protected Sub btnAccOptAddMore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAccOptAddMore.Click
        Try

            If IsAlreadyPresent("SELECT COUNT(*) FROM OtherDetail_OptionalAccessories WHERE (ODTOA_IsDeleted = '0') AND (ODTOA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (ODTOA_OAccessId = '" & RemoveLiterals(ddlOptionalAccessories.SelectedItem.Value.ToString.Trim) & "') and ODTOA_IsDeleted='0'") Then

                'showmessage("Optional Accessory is Already Present.", lblOptionalMsg)
                'ddlOptionalAccessories.ClearSelection()
                ddlOptionalAccessories.ClearSelection()
                ScriptManager1.SetFocus(ddlOptionalAccessories) 'Put the Focus to branchName TextField
                CreateMessageAlert(Me, "Optional Accessories Already Present.!", "strkeyval")
                Exit Sub
            End If

            Dim cmd As New Data.SqlClient.SqlCommand()
            Dim sqlcoll As Data.SqlClient.SqlParameterCollection = cmd.Parameters
            sqlcoll.Clear()
            sqlcoll.Add("@ODTOA_Kid", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(NewPrimaryKey(Me))
            sqlcoll.Add("@ODTOA_Code", Data.SqlDbType.NVarChar, 25).Value = GenerateOptionalAcceCode().ToString
            sqlcoll.Add("@ODTOA_ProductId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(Session("ProductID").ToString.Trim)
            sqlcoll.Add("@ODTOA_OAccessId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(ddlOptionalAccessories.SelectedItem.Value)
            sqlcoll.Add("@ODTOA_FinancialYearId", Data.SqlDbType.NVarChar, 10).Value = Session("g_FinYear").ToString
            sqlcoll.Add("@ODTOA_CompanyID", Data.SqlDbType.NVarChar, 10).Value = Session("g_Company").ToString
            sqlcoll.Add("@ODTOA_UserID", Data.SqlDbType.NVarChar, 10).Value = Session("g_User").ToString
            sqlcoll.Add("@FormName", Data.SqlDbType.NVarChar, 50).Value = Me.Title.ToString
            sqlcoll.Add("@Mode", Data.SqlDbType.NVarChar, 10).Value = "Insert"
            ExecQuery("OtherDetail_OptionalAccessories_Proc", sqlcoll)
            sqlcoll.Clear()
            displayone(tblAccOptional)
            CreateMessageAlert(Me, "Optional Accessories Saved Successfully.!", "strkeyval")
            'showmessage("Record Saved Successfully.", lblOptionalMsg)
            ddlOptionalAccessories.ClearSelection()
            'ddlOptionalAccessories.Enabled = False
            FillOptionalGrid()
            'lblOptDetails.Visible = True
            'Fill_Grid("SELECT OtherDetail_OptionalAccessories.ODTOA_kid, Product_Master.Product_Name, Product_Master.Product_Code, Product_Master.Product_ModelNo, Product_Master.Product_Kid, OtherDetail_OptionalAccessories.ODTOA_IsDeleted, Product_Master.Product_IsDeleted FROM OtherDetail_OptionalAccessories INNER JOIN Product_Master ON OtherDetail_OptionalAccessories.ODTOA_ProductId = Product_Master.Product_Kid WHERE (Product_Master.Product_Kid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (OtherDetail_OptionalAccessories.ODTOA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND(OtherDetail_OptionalAccessories.ODTOA_IsDeleted = N'0') AND (Product_Master.Product_IsDeleted = N'0')", gvOptionalAccesories)
            'CreateMessageAlert(Me, "Record Saved Successfully.", "StrKeyVal")
            'enableconcontrol(False)
            'lblConField.Visible = False
            'clearconfields()
            'Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            ' Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            'SaveClick(Me, btnOptionAccAdd, btnOptionAccSave, btnOptionAccUpdate, btnOptionAccDelete, btnOptionAccCancel, btnOptionAccSearch)
        Catch ex As Exception

        End Try
    End Sub
    Public Sub FillOptionalGrid()
        Try

            'Dim OptDt As DataTable
            'Dim dt1 As DataTable = getTable("Select ODTOA_OAccessId From OtherDetail_OptionalAccessories where ODTOA_ProductId ='" & RemoveLiterals(Session("ProductID").ToString.Trim) & "'and ODTOA_IsDeleted = '0'", "Optional")
            'Dim i As Integer
            'Dim Kid As String
            'Dim KidBool As Boolean = True
            ''ddl.ClearSelection()
            'For i = 0 To dt1.Rows.Count - 1
            '    If KidBool = True Then
            '        Kid = "'" & dt1.Rows(i).Item(0).ToString & "'"
            '        KidBool = False
            '    Else
            '        Kid &= ","
            '        Kid &= "'" & dt1.Rows(i).Item(0).ToString & "'"

            '    End If

            'Next
            'dt1.Clear()
            'dt1.Dispose()
            'dt.Clear()
            'OptDt1 = ReturnDataTable("Select * From OtherDetail_OptionalAccessories where ODTOA_ProductId ='" & RemoveLiterals(Session("ProductID").ToString.Trim) & "'and ODTOA_IsDeleted = '0'")

            'If OptDt1.Rows.Count > 0 Then
            'Dim i As Integer
            'For i = 0 To OptDt1.Rows.Count - 1
            'OptDt = ReturnDataTable("SELECT Product_Master.*, OtherDetail_OptionalAccessories.ODTOA_kid, OtherDetail_OptionalAccessories.ODTOA_OAccessId FROM Product_Master INNER JOIN OtherDetail_OptionalAccessories ON Product_Master.Product_Kid = OtherDetail_OptionalAccessories.ODTOA_OAccessId WHERE Product_Master.Product_Kid IN (" & Kid & ")AND OtherDetail_OptionalAccessories.ODTOA_IsDeleted = '0' AND Product_Master.Product_IsDeleted = '0'")
            'OptDt = ReturnDataTable("Select * From Product_Master where Product_Kid in ( " & Kid & ") and Product_IsDeleted ='0'")
            Dim optdt As DataTable
            optdt = ReturnDataTable("SELECT     OtherDetail_OptionalAccessories.ODTOA_kid, Product_Master.Product_Name, Product_Master.Product_Image, Product_Master.Product_Code, Product_Master.Product_ModelNo FROM         OtherDetail_OptionalAccessories INNER JOIN                       Product_Master ON OtherDetail_OptionalAccessories.ODTOA_OAccessId = Product_Master.Product_Kid WHERE     (OtherDetail_OptionalAccessories.ODTOA_ProductId = N'" & RemoveLiterals(Session("ProductID").ToString) & "') AND (OtherDetail_OptionalAccessories.ODTOA_IsDeleted = N'0') AND                        (Product_Master.Product_IsDeleted = N'0')")
            gvAccOpt.DataSource = OptDt
            gvAccOpt.DataBind()
            'Next
            'Else

            OptDt.Clear()
            OptDt.Dispose()
            'End If
            'Dim Con As New SqlConnection(ConfigurationManager.AppSettings("ConnectionString")) 'Define connection variable for connecting to SQL-Server
            'Con.Open()                                             'Open the Connection
            'Dim cmd As New SqlCommand(StrQry, Con)                 'Define command variable to execute the query
            'Dim dr As SqlDataReader                                'Define DataReader variable for storing the output of the query
            'dr = cmd.ExecuteReader                                 'Assign the output of query to DataReader variable
            'gv.DataSource = dr                                     'Set the DataReader Variable as DataSource for the Grid
            'gv.DataBind()
            'If Con.State = ConnectionState.Open Then Con.Close() ' If Connection Exists Then Close
            'Con = Nothing                                        ' Set Connnection Object as nothing       
            'cmd = Nothing                                        ' Set Command Object as nothing
            'dr = Nothing                                         ' Set DataReader Object as nothing
        Catch ex As Exception
            ' CreateMessageAlert(gv.Page, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub
    Protected Function GenerateOptionalAcceCode() As String
        ' generate supplier factory details code and kid
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "OAC" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from OtherDetail_OptionalAccessories where ODTOA_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Function
    Protected Sub gvAccOpt_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvAccOpt.SelectedIndexChanged
        Try
            displayone(tblAccOptional)
            Dim kid As String
            kid = ReturnValue("Select ODTOA_OAccessId from OtherDetail_OptionalAccessories where ODTOA_KId ='" & RemoveLiterals(gvAccOpt.SelectedDataKey.Value.ToString.Trim) & "'and ODTOA_IsDeleted = '0'")
            'ddlOptionalAccessories.ClearSelection()
            ddlOptionalAccessories.ClearSelection()
            ddlOptionalAccessories.Items.FindByValue(RemoveLiterals(kid.ToString.Trim)).Selected = True
            'GridClick(Me, btnOptionAccAdd, btnOptionAccSave, btnOptionAccUpdate, btnOptionAccDelete, btnOptionAccCancel, btnOptionAccSearch)
            ddlOptionalAccessories.Enabled = True
            btnAccOptAddMore.Visible = False
            btnAccOptCancel.Visible = True
            btnAccOptDelete.Visible = True
            btnAccOptUpdate.Visible = True
            'If Session("AdminID") <> Nothing Then
            '    ddlOptionalAccessories.Enabled = True
            'Else
            '    ddlOptionalAccessories.Enabled = False
            'End If

        Catch ex As Exception
            ddlOptionalAccessories.Enabled = True
            btnAccOptAddMore.Visible = False
            btnAccOptCancel.Visible = True
            btnAccOptDelete.Visible = True
            btnAccOptUpdate.Visible = True
        End Try

    End Sub
    Protected Sub btnAccOptUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAccOptUpdate.Click

        Try

            If IsAlreadyPresent("SELECT COUNT(*) FROM OtherDetail_OptionalAccessories WHERE (ODTOA_IsDeleted = '0') AND (ODTOA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (ODTOA_OAccessId = '" & RemoveLiterals(ddlOptionalAccessories.SelectedItem.Value.ToString.Trim) & "') and ODTOA_IsDeleted='0'") Then

                'showmessage("Optional Accessory is Already Present.", lblOptionalMsg)
                ddlOptionalAccessories.ClearSelection()
                ScriptManager1.SetFocus(ddlOptionalAccessories) 'Put the Focus to branchName TextField
                CreateMessageAlert(Me, "Optional Accessories Already Present.!", "strkeyval")
                Exit Sub
            End If

            Dim cmd As New Data.SqlClient.SqlCommand()
            Dim sqlcoll As Data.SqlClient.SqlParameterCollection = cmd.Parameters
            sqlcoll.Clear()
            sqlcoll.Add("@ODTOA_Kid", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(gvAccOpt.SelectedDataKey.Value.ToString.Trim)
            sqlcoll.Add("@ODTOA_Code", Data.SqlDbType.NVarChar, 25).Value = ReturnValue("Select ODTOA_code from OtherDetails_OptionalAccessories where ODTOA_kid = '" & RemoveLiterals(gvAccOpt.SelectedDataKey.Value.ToString.Trim) & "'and ODTOA_IsDeleted ='0'")
            sqlcoll.Add("@ODTOA_ProductId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(Session("ProductID").ToString.Trim)
            sqlcoll.Add("@ODTOA_OAccessId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(ddlOptionalAccessories.SelectedItem.Value)
            sqlcoll.Add("@ODTOA_FinancialYearId", Data.SqlDbType.NVarChar, 10).Value = Session("g_FinYear").ToString
            sqlcoll.Add("@ODTOA_CompanyID", Data.SqlDbType.NVarChar, 10).Value = Session("g_Company").ToString
            sqlcoll.Add("@ODTOA_UserID", Data.SqlDbType.NVarChar, 10).Value = Session("g_User").ToString
            sqlcoll.Add("@FormName", Data.SqlDbType.NVarChar, 50).Value = Me.Title.ToString
            sqlcoll.Add("@Mode", Data.SqlDbType.NVarChar, 10).Value = "Update"
            ExecQuery("OtherDetail_OptionalAccessories_Proc", sqlcoll)
            sqlcoll.Clear()
            displayone(tblAccOptional)
            CreateMessageAlert(Me, "Optional Accessories Updated Successfully.!", "strkeyval")

            'showmessage("Record Updated Successfully.", lblOptionalMsg)
            ddlOptionalAccessories.ClearSelection()
            visibleAccOpt()
            'ddlOptionalAccessories.Enabled = False
            FillOptionalGrid()
            'lblOptDetails.Visible = True
            'Fill_Grid("SELECT OtherDetail_OptionalAccessories.ODTOA_kid, Product_Master.Product_Name, Product_Master.Product_Code, Product_Master.Product_ModelNo, Product_Master.Product_Kid, OtherDetail_OptionalAccessories.ODTOA_IsDeleted, Product_Master.Product_IsDeleted FROM OtherDetail_OptionalAccessories INNER JOIN Product_Master ON OtherDetail_OptionalAccessories.ODTOA_ProductId = Product_Master.Product_Kid WHERE (Product_Master.Product_Kid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (OtherDetail_OptionalAccessories.ODTOA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND(OtherDetail_OptionalAccessories.ODTOA_IsDeleted = N'0') AND (Product_Master.Product_IsDeleted = N'0')", gvOptionalAccesories)
            'CreateMessageAlert(Me, "Record Updated Successfully.", "StrKeyVal")
            'enableconcontrol(False)
            'lblConField.Visible = False
            'clearconfields()
            'Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            ' Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            'EditClick(Me, btnOptionAccAdd, btnOptionAccSave, btnOptionAccUpdate, btnOptionAccDelete, btnOptionAccCancel, btnOptionAccSearch)
        Catch ex As Exception

        End Try
    End Sub
    Protected Sub btnAccOptDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAccOptDelete.Click
        Try

            'If ddlOptionalAccessories.SelectedIndex > 0 Then
            ExecuteQuery("Update OtherDetail_OptionalAccessories set ODTOA_isdeleted ='1' where ODTOA_kid = '" & RemoveLiterals(gvAccOpt.SelectedDataKey.Value.ToString.Trim) & "'")
            CreateMessageAlert(Me, "Optional Accessories Deleted Successfully.!", "strkeyval")
            'showmessage("Record Deleted Successfully.", lblOptionalMsg)
            ddlOptionalAccessories.ClearSelection()
            'ddlOptionalAccessories.Enabled = False
            'DeleteClick(Me, btnOptionAccAdd, btnOptionAccSave, btnOptionAccUpdate, btnOptionAccDelete, btnOptionAccCancel, btnOptionAccSearch)
            FillOptionalGrid()
            visibleAccOpt()
            displayone(tblAccOptional)
            'If gvOptionalAccesories.Rows.Count = 0 Then
            '    lblOptDetails.Visible = False
            'Else
            '    lblOptDetails.Visible = True
            'End If
            'CreateMessageAlert(Me, "Record Deleted Successfully.", "StrKeyVal")
            'End If
        Catch ex As Exception

        End Try
    End Sub
    Protected Sub btnAccOptCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAccOptCancel.Click
        visibleAccOpt()
        ddlOptionalAccessories.ClearSelection()
        displayone(tblAccOptional)
    End Sub

    '****************************************** Included Accessories  **********************************************
    Protected Sub btnaccincluded_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnaccincluded.Click
        Try
            'MultiView2.ActiveViewIndex = 7
            FillFactoryCombo("SELECT Product_Master.Product_Kid, Product_Master.Product_Name + ' - ' + Product_Master.Product_Code + ' - ' + isnull(Product_Master.Product_ModelNo,'') AS [Asseccory Name] FROM Product_Master WHERE (Product_Master.Product_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (Product_Master.Product_IsAssc = 'Y') AND (Product_Master.Product_IsDeleted = '0') AND (Product_Master.Product_Kid <> '" & Session("ProductID").ToString.Trim & "')", ddlIncAcc, "A")
            'FillFactoryCombo("SELECT     Product_Kid, Product_Name + ' - ' + Product_Code + ' - ' + ISNULL(Product_ModelNo, N'') AS [Asseccory Name]             FROM(Product_Master) WHERE     (Product_SupplierId = '" & RemoveLiterals(Session("SupplierID").ToString) & "') AND (Product_IsAssc = 'Y') AND (Product_IsDeleted = '0') AND (Product_Kid <> '" & RemoveLiterals(Session("ProductID").ToString) & "') AND                        (Product_Kid NOT IN                           (SELECT     ODTOA_OAccessId             FROM(OtherDetail_OptionalAccessories)                             WHERE      (ODTOA_IsDeleted = '0') AND (ODTOA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString) & "')))", ddlOptionalAccessories, "A")
            FillIncludedGrid()
            btnIncAccAddMore.Attributes.Add("onclick", "return checkIncAcc();")
            btnIncAccUpdate.Attributes.Add("onclick", "return checkIncAcc();")
            btnIncAccDelete.Attributes.Add("onclick", "return confirm('Are you sure want to delete.?')")
            '' '' ''If Session("AdminID") = Nothing Then
            '' '' ''    gvIncAcc.Columns(0).Visible = False
            '' '' ''End If
            visibleIncAcc()
        Catch
        End Try
    End Sub
    Public Sub visibleIncAcc()
        btnIncAccAddMore.Visible = True
        btnIncAccCancel.Visible = False
        btnIncAccDelete.Visible = False
        btnIncAccUpdate.Visible = False
    End Sub
    Public Sub FillIncludedGrid()
        Try
            Dim optdt As DataTable
            optdt = ReturnDataTable("SELECT     OtherDetail_IncludedAccessories.ODTIA_kid, Product_Master.Product_Name, Product_Master.Product_Image, Product_Master.Product_Code, Product_Master.Product_ModelNo FROM         OtherDetail_IncludedAccessories INNER JOIN                       Product_Master ON OtherDetail_IncludedAccessories.ODTIA_InAccessId = Product_Master.Product_Kid WHERE     (OtherDetail_IncludedAccessories.ODTIA_ProductId = N'" & RemoveLiterals(Session("ProductID").ToString) & "') AND (OtherDetail_IncludedAccessories.ODTIA_IsDeleted = N'0') AND                        (Product_Master.Product_IsDeleted = N'0')")
            gvIncAcc.DataSource = optdt
            gvIncAcc.DataBind()
            'Next
            'Else

            optdt.Clear()
            optdt.Dispose()
        Catch ex As Exception

        End Try
    End Sub
    Protected Sub btnIncAccAddMore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnIncAccAddMore.Click
        Try

            If IsAlreadyPresent("SELECT COUNT(*) FROM OtherDetail_IncludedAccessories WHERE (ODTIA_IsDeleted = '0') AND (ODTIA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (ODTIA_InAccessId = '" & RemoveLiterals(ddlIncAcc.SelectedItem.Value.ToString.Trim) & "') and ODTIA_IsDeleted='0'") Then
                'showmessage("Included Accessory is Already Present.", lblIncludedMsg)
                ddlOptionalAccessories.ClearSelection()
                ScriptManager1.SetFocus(ddlIncAcc) 'Put the Focus to branchName TextField
                CreateMessageAlert(Me, "Included Accessories Already Presents.!", "strkeyval")

                Exit Sub
            End If

            Dim cmd As New Data.SqlClient.SqlCommand()
            Dim sqlcoll As Data.SqlClient.SqlParameterCollection = cmd.Parameters
            sqlcoll.Clear()
            sqlcoll.Add("@ODTIA_Kid", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(NewPrimaryKey(Me))
            sqlcoll.Add("@ODTIA_Code", Data.SqlDbType.NVarChar, 25).Value = GenerateIncludedAcceCode().ToString
            sqlcoll.Add("@ODTIA_ProductId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(Session("ProductID").ToString.Trim)
            sqlcoll.Add("@ODTIA_InAccessId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(ddlIncAcc.SelectedItem.Value)
            sqlcoll.Add("@ODTIA_FinancialYearId", Data.SqlDbType.NVarChar, 10).Value = Session("g_FinYear").ToString
            sqlcoll.Add("@ODTIA_CompanyID", Data.SqlDbType.NVarChar, 10).Value = Session("g_Company").ToString
            sqlcoll.Add("@ODTIA_UserID", Data.SqlDbType.NVarChar, 10).Value = Session("g_User").ToString
            sqlcoll.Add("@FormName", Data.SqlDbType.NVarChar, 50).Value = Me.Title.ToString
            sqlcoll.Add("@Mode", Data.SqlDbType.NVarChar, 10).Value = "Insert"
            ExecQuery("OtherDetail_IncludedAccessories_Proc", sqlcoll)
            sqlcoll.Clear()

            'showmessage("Record Saved Successfully.", lblIncludedMsg)
            ddlIncAcc.ClearSelection()
            'ddlIncludedAccessories.Enabled = False
            FillIncludedGrid()
            'lblIncDetails.Visible = True
            'Fill_Grid("SELECT OtherDetail_OptionalAccessories.ODTOA_kid, Product_Master.Product_Name, Product_Master.Product_Code, Product_Master.Product_ModelNo, Product_Master.Product_Kid, OtherDetail_OptionalAccessories.ODTOA_IsDeleted, Product_Master.Product_IsDeleted FROM OtherDetail_OptionalAccessories INNER JOIN Product_Master ON OtherDetail_OptionalAccessories.ODTOA_ProductId = Product_Master.Product_Kid WHERE (Product_Master.Product_Kid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (OtherDetail_OptionalAccessories.ODTOA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND(OtherDetail_OptionalAccessories.ODTOA_IsDeleted = N'0') AND (Product_Master.Product_IsDeleted = N'0')", gvOptionalAccesories)
            displayone(tblAccIncluded)
            CreateMessageAlert(Me, "Included Accessories Saved Successfully.", "StrKeyVal")
            'enableconcontrol(False)
            'lblConField.Visible = False
            'clearconfields()
            'Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            ' Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            'SaveClick(Me, btnIncludedAcceAdd, btnIncludedAcceSave, btnIncludedAcceUpdate, btnIncludedAcceDelete, btnIncludedAcceCancel, btnIncludedAcceSearch)
        Catch ex As Exception

        End Try
    End Sub
    Protected Function GenerateIncludedAcceCode() As String
        ' generate supplier factory details code and kid
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "IAC" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from OtherDetail_IncludedAccessories where ODTIA_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Function
    Protected Sub btnIncAccUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnIncAccUpdate.Click
        Try

            If IsAlreadyPresent("SELECT COUNT(*) FROM OtherDetail_IncludedAccessories WHERE (ODTIA_IsDeleted = '0') AND (ODTIA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (ODTIA_InAccessId = '" & RemoveLiterals(ddlIncAcc.SelectedItem.Value.ToString.Trim) & "') and ODTIA_IsDeleted='0'") Then
                'showmessage("Included Accessory is Already Present.", lblIncludedMsg)
                ddlOptionalAccessories.ClearSelection()
                ScriptManager1.SetFocus(ddlIncAcc) 'Put the Focus to branchName TextField
                CreateMessageAlert(Me, "Included Accessories Already Presents.!", "strkeyval")

                Exit Sub
            End If

            Dim cmd As New Data.SqlClient.SqlCommand()
            Dim sqlcoll As Data.SqlClient.SqlParameterCollection = cmd.Parameters
            sqlcoll.Clear()
            sqlcoll.Add("@ODTIA_Kid", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(gvIncAcc.SelectedDataKey.Value.ToString.Trim)
            sqlcoll.Add("@ODTIA_Code", Data.SqlDbType.NVarChar, 25).Value = ReturnValue("Select ODTIA_code from OtherDetail_IncludedAccessories where ODTIA_kid = '" & RemoveLiterals(gvIncAcc.SelectedDataKey.Value.ToString.Trim) & "'and ODTIA_IsDeleted ='0'")
            sqlcoll.Add("@ODTIA_ProductId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(Session("ProductID").ToString.Trim)
            sqlcoll.Add("@ODTIA_InAccessId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(ddlIncAcc.SelectedItem.Value)
            sqlcoll.Add("@ODTIA_FinancialYearId", Data.SqlDbType.NVarChar, 10).Value = Session("g_FinYear").ToString
            sqlcoll.Add("@ODTIA_CompanyID", Data.SqlDbType.NVarChar, 10).Value = Session("g_Company").ToString
            sqlcoll.Add("@ODTIA_UserID", Data.SqlDbType.NVarChar, 10).Value = Session("g_User").ToString
            sqlcoll.Add("@FormName", Data.SqlDbType.NVarChar, 50).Value = Me.Title.ToString
            sqlcoll.Add("@Mode", Data.SqlDbType.NVarChar, 10).Value = "Update"
            ExecQuery("OtherDetail_IncludedAccessories_Proc", sqlcoll)
            sqlcoll.Clear()

            'showmessage("Record Updated Successfully.", lblIncludedMsg)
            ddlIncAcc.ClearSelection()
            'ddlIncludedAccessories.Enabled = False
            FillIncludedGrid()
            'lblIncDetails.Visible = True
            'Fill_Grid("SELECT OtherDetail_OptionalAccessories.ODTOA_kid, Product_Master.Product_Name, Product_Master.Product_Code, Product_Master.Product_ModelNo, Product_Master.Product_Kid, OtherDetail_OptionalAccessories.ODTOA_IsDeleted, Product_Master.Product_IsDeleted FROM OtherDetail_OptionalAccessories INNER JOIN Product_Master ON OtherDetail_OptionalAccessories.ODTOA_ProductId = Product_Master.Product_Kid WHERE (Product_Master.Product_Kid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (OtherDetail_OptionalAccessories.ODTOA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND(OtherDetail_OptionalAccessories.ODTOA_IsDeleted = N'0') AND (Product_Master.Product_IsDeleted = N'0')", gvOptionalAccesories)
            displayone(tblAccIncluded)
            CreateMessageAlert(Me, "Included Accessories Updated Successfully.", "StrKeyVal")
            visibleIncAcc()
            'enableconcontrol(False)
            'lblConField.Visible = False
            'clearconfields()
            'Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            ' Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            'EditClick(Me, btnIncludedAcceAdd, btnIncludedAcceSave, btnIncludedAcceUpdate, btnIncludedAcceDelete, btnIncludedAcceCancel, btnIncludedAcceSearch)
        Catch ex As Exception

        End Try

    End Sub
    Protected Sub btnIncAccDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnIncAccDelete.Click
        Try

            'If ddlIncAcc.SelectedIndex > 0 Then
            ExecuteQuery("Update OtherDetail_IncludedAccessories set ODTIA_isdeleted ='1' where ODTIA_kid = '" & RemoveLiterals(gvIncAcc.SelectedDataKey.Value.ToString.Trim) & "'")
            'showmessage("Record Deleted Successfully.", lblIncludedMsg)
            ddlIncAcc.ClearSelection()
            'ddlIncludedAccessories.Enabled = False
            'DeleteClick(Me, btnIncludedAcceAdd, btnIncludedAcceSave, btnIncludedAcceUpdate, btnIncludedAcceDelete, btnIncludedAcceCancel, btnIncludedAcceSearch)
            FillIncludedGrid()
            visibleIncAcc()
            'If gvIncludedAccessories.Rows.Count = 0 Then
            '    lblIncDetails.Visible = False
            'Else
            '    lblIncDetails.Visible = True
            'End If
            displayone(tblAccIncluded)
            CreateMessageAlert(Me, "Included Accessories Deleted Successfully.", "StrKeyVal")
            'End If
        Catch ex As Exception

        End Try
    End Sub
    Protected Sub btnIncAccCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnIncAccCancel.Click
        visibleIncAcc()
        ddlIncAcc.ClearSelection()
        displayone(tblAccIncluded)
    End Sub
    Protected Sub gvIncAcc_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvIncAcc.SelectedIndexChanged
        Try
            displayone(tblAccIncluded)
            Dim kid As String
            kid = ReturnValue("Select ODTIA_InAccessId from OtherDetail_IncludedAccessories where ODTIA_KId ='" & RemoveLiterals(gvIncAcc.SelectedDataKey.Value.ToString.Trim) & "'and ODTIA_IsDeleted = '0'")
            'ddlOptionalAccessories.ClearSelection()
            ddlIncAcc.ClearSelection()
            ddlIncAcc.Items.FindByValue(RemoveLiterals(kid.ToString.Trim)).Selected = True
            'GridClick(Me, btnOptionAccAdd, btnOptionAccSave, btnOptionAccUpdate, btnOptionAccDelete, btnOptionAccCancel, btnOptionAccSearch)
            ddlIncAcc.Enabled = True
            btnIncAccAddMore.Visible = False
            btnIncAccCancel.Visible = True
            btnIncAccDelete.Visible = True
            btnIncAccUpdate.Visible = True
            'If Session("AdminID") <> Nothing Then
            '    ddlOptionalAccessories.Enabled = True
            'Else
            '    ddlOptionalAccessories.Enabled = False
            'End If

        Catch ex As Exception
            btnIncAccAddMore.Visible = False
            btnIncAccCancel.Visible = True
            btnIncAccDelete.Visible = True
            btnIncAccUpdate.Visible = True
        End Try
    End Sub

    '***************************************** Wear and Tear *****************************************************

    Protected Sub btnwearntear_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnwearntear.Click
        Try
            Dim str As String
            str = Session("SupplierID").ToString
            'MultiView2.ActiveViewIndex = 8
            fillWearAndTearGrid()
        Catch Ex As Exception
            'CreateMessageAlert(Me, Ex.Message, "StrKeyVal")
        End Try

    End Sub
    Public Sub fillWearAndTearGrid()
        Dim dt As DataTable
        dt = ReturnDataTable("SELECT     Product_Master.Product_Name, Product_Master.Product_Kid, Product_Master.Product_Code, Product_Master.Product_ModelNo,         Product_Master.Product_SupplierId, Product_Master.Product_Image FROM         Product_Master INNER JOIN                       OtherDetail_SpareParts ON Product_Master.Product_Kid = OtherDetail_SpareParts.ODTSP_SparePartId WHERE     (Product_Master.Product_SupplierId = '" & Session("SupplierID").ToString & "') AND (OtherDetail_SpareParts.ODTSP_ProductId = '" & Session("ProductID").ToString.Trim & "') AND                        (OtherDetail_SpareParts.ODTSP_IsDeleted = N'0') AND (Product_Master.Product_IsSpareParts = N'y') AND                        (Product_Master.Product_IsWear_Tear = N'y') AND (Product_Master.Product_IsDeleted = N'0')")
        gvWearAndTear.DataSource = dt
        gvWearAndTear.DataBind()
        gvWearAndTear.Columns(0).Visible = False

    End Sub

    '*****************************************   Spare Parts  *****************************************************

    Protected Sub btnspareparts_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnspareparts.Click
        Try
            'MultiView2.ActiveViewIndex = 9
            FillFactoryCombo("SELECT Product_Master.Product_Kid,Product_Master.Product_Name + ' - ' + Product_Master.Product_Code + ' - ' + isnull(Product_Master.Product_ModelNo,'') AS [Asseccory Name] FROM Product_Master WHERE (Product_Master.Product_SupplierId = '" & Session("SupplierID").ToString.Trim & "') AND (Product_Master.Product_IsSpareParts = 'Y') AND (Product_Master.Product_IsDeleted = '0') AND (Product_Master.Product_Kid <> '" & Session("ProductID").ToString.Trim & "')", ddlSpareParts, "S")
            'FillFactoryCombo("SELECT     Product_Kid, Product_Name + ' - ' + Product_Code + ' - ' + ISNULL(Product_ModelNo, N'') AS [Asseccory Name]             FROM(Product_Master) WHERE     (Product_SupplierId = '" & RemoveLiterals(Session("SupplierID").ToString) & "') AND (Product_IsAssc = 'Y') AND (Product_IsDeleted = '0') AND (Product_Kid <> '" & RemoveLiterals(Session("ProductID").ToString) & "') AND                        (Product_Kid NOT IN                           (SELECT     ODTOA_OAccessId             FROM(OtherDetail_OptionalAccessories)                             WHERE      (ODTOA_IsDeleted = '0') AND (ODTOA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString) & "')))", ddlOptionalAccessories, "A")
            FillSparePartsGrid()
            btnSparePartsAddMore.Attributes.Add("onclick", "return checkSpareParts();")
            btnSparePartsUpdate.Attributes.Add("onclick", "return checkSpareParts();")
            btnSparePartsDelete.Attributes.Add("onclick", "return confirm('Are you sure want to delete.?')")
            '' '' ''If Session("AdminID") = Nothing Then
            '' '' ''    gvSpareParts.Columns(0).Visible = False
            '' '' ''End If
            visibleSpareParts()
        Catch ex As Exception

        End Try
    End Sub
    Public Sub visibleSpareParts()
        btnSparePartsAddMore.Visible = True
        btnSparePartsCancel.Visible = False
        btnSparePartsDelete.Visible = False
        btnSparePartsUpdate.Visible = False
    End Sub
    Public Sub FillSparePartsGrid()
        Try
            Dim optdt As DataTable
            optdt = ReturnDataTable("SELECT     OtherDetail_SpareParts.ODTSP_kid, Product_Master.Product_Name, Product_Master.Product_Image, Product_Master.Product_Code, Product_Master.Product_ModelNo FROM         OtherDetail_SpareParts INNER JOIN                       Product_Master ON OtherDetail_SpareParts.ODTSP_SparePartId = Product_Master.Product_Kid WHERE     (OtherDetail_SpareParts.ODTSP_ProductId = N'" & RemoveLiterals(Session("ProductID").ToString) & "') AND (OtherDetail_SpareParts.ODTSP_IsDeleted = N'0') AND                        (Product_Master.Product_IsDeleted = N'0')")
            gvSpareParts.DataSource = optdt
            gvSpareParts.DataBind()
            'Next
            'Else

            optdt.Clear()
            optdt.Dispose()
        Catch ex As Exception

        End Try
    End Sub
    Protected Sub btnSparePartsAddMore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSparePartsAddMore.Click
        Try

            If IsAlreadyPresent("SELECT COUNT(*) FROM OtherDetail_SpareParts WHERE (ODTSP_IsDeleted = '0') AND (ODTSP_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (ODTSP_SparePartId = '" & RemoveLiterals(ddlSpareParts.SelectedItem.Value.ToString.Trim) & "') and ODTSP_IsDeleted='0'") Then
                'showmessage("Spare Parts is Already Present.", lblSparePartsMsg)
                'ddlOptionalAccessories.ClearSelection()
                ddlSpareParts.ClearSelection()
                ScriptManager1.SetFocus(ddlSpareParts) 'Put the Focus to branchName TextField
                CreateMessageAlert(Me, "SpareParts is Already Present.!", "StrKeyVal")

                Exit Sub
            End If

            Dim cmd As New Data.SqlClient.SqlCommand()
            Dim sqlcoll As Data.SqlClient.SqlParameterCollection = cmd.Parameters
            sqlcoll.Clear()
            sqlcoll.Add("@ODTSP_Kid", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(NewPrimaryKey(Me))
            sqlcoll.Add("@ODTSP_Code", Data.SqlDbType.NVarChar, 25).Value = GenerateSparePartsCode().ToString
            sqlcoll.Add("@ODTSP_ProductId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(Session("ProductID").ToString.Trim)
            sqlcoll.Add("@ODTSP_SparePartId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(ddlSpareParts.SelectedItem.Value)
            sqlcoll.Add("@ODTSP_FinancialYearId", Data.SqlDbType.NVarChar, 10).Value = Session("g_FinYear").ToString
            sqlcoll.Add("@ODTSP_CompanyID", Data.SqlDbType.NVarChar, 10).Value = Session("g_Company").ToString
            sqlcoll.Add("@ODTSP_UserID", Data.SqlDbType.NVarChar, 10).Value = Session("g_User").ToString
            sqlcoll.Add("@FormName", Data.SqlDbType.NVarChar, 50).Value = Me.Title.ToString
            sqlcoll.Add("@Mode", Data.SqlDbType.NVarChar, 10).Value = "Insert"
            ExecQuery("OtherDetail_SpareParts_Proc", sqlcoll)
            sqlcoll.Clear()


            'showmessage("Record Saved Successfully.", lblSparePartsMsg)
            ddlSpareParts.ClearSelection()
            'ddlSpareParts.Enabled = False
            FillSparePartsGrid()
            'lblSparePartsDetails.Visible = True
            'Fill_Grid("SELECT OtherDetail_OptionalAccessories.ODTOA_kid, Product_Master.Product_Name, Product_Master.Product_Code, Product_Master.Product_ModelNo, Product_Master.Product_Kid, OtherDetail_OptionalAccessories.ODTOA_IsDeleted, Product_Master.Product_IsDeleted FROM OtherDetail_OptionalAccessories INNER JOIN Product_Master ON OtherDetail_OptionalAccessories.ODTOA_ProductId = Product_Master.Product_Kid WHERE (Product_Master.Product_Kid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (OtherDetail_OptionalAccessories.ODTOA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND(OtherDetail_OptionalAccessories.ODTOA_IsDeleted = N'0') AND (Product_Master.Product_IsDeleted = N'0')", gvOptionalAccesories)
            displayone(tblSpareParts)
            CreateMessageAlert(Me, "SpareParts Saved Successfully.", "StrKeyVal")
            visibleSpareParts()
            fillWearAndTearGrid()
            'enableconcontrol(False)
            'lblConField.Visible = False
            'clearconfields()
            'Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            ' Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            'SaveClick(Me, btnSparePartsAdd, btnSparePartsSave, btnSparePartsUpdate, btnSparePartsDelete, btnSparePartsCancel, btnSparePartsSearch)
        Catch ex As Exception

        End Try
    End Sub
    Protected Function GenerateSparePartsCode() As String
        ' generate supplier factory details code and kid
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "IAC" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from OtherDetail_SpareParts where ODTSP_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Function
    Protected Sub btnSparePartsUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSparePartsUpdate.Click
        Try

            If IsAlreadyPresent("SELECT COUNT(*) FROM OtherDetail_SpareParts WHERE (ODTSP_IsDeleted = '0') AND (ODTSP_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (ODTSP_SparePartId = '" & RemoveLiterals(ddlSpareParts.SelectedItem.Value.ToString.Trim) & "') and ODTSP_IsDeleted='0'") Then
                'showmessage("Spare Parts is Already Present.", lblSparePartsMsg)
                'ddlOptionalAccessories.ClearSelection()
                ddlSpareParts.ClearSelection()
                ScriptManager1.SetFocus(ddlSpareParts) 'Put the Focus to branchName TextField
                CreateMessageAlert(Me, "SpareParts is Already Present.!", "StrKeyVal")

                Exit Sub
            End If

            Dim cmd As New Data.SqlClient.SqlCommand()
            Dim sqlcoll As Data.SqlClient.SqlParameterCollection = cmd.Parameters
            sqlcoll.Clear()
            sqlcoll.Add("@ODTSP_Kid", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(gvSpareParts.SelectedDataKey.Value.ToString.Trim)
            sqlcoll.Add("@ODTSP_Code", Data.SqlDbType.NVarChar, 25).Value = ReturnValue("Select ODTSP_code from OtherDetail_SpareParts where ODTSP_kid = '" & RemoveLiterals(gvSpareParts.SelectedDataKey.Value.ToString.Trim) & "'and ODTSP_IsDeleted ='0'")
            sqlcoll.Add("@ODTSP_ProductId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(Session("ProductID").ToString.Trim)
            sqlcoll.Add("@ODTSP_SparePartId", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(ddlSpareParts.SelectedItem.Value)
            sqlcoll.Add("@ODTSP_FinancialYearId", Data.SqlDbType.NVarChar, 10).Value = Session("g_FinYear").ToString
            sqlcoll.Add("@ODTSP_CompanyID", Data.SqlDbType.NVarChar, 10).Value = Session("g_Company").ToString
            sqlcoll.Add("@ODTSP_UserID", Data.SqlDbType.NVarChar, 10).Value = Session("g_User").ToString
            sqlcoll.Add("@FormName", Data.SqlDbType.NVarChar, 50).Value = Me.Title.ToString
            sqlcoll.Add("@Mode", Data.SqlDbType.NVarChar, 10).Value = "Update"
            ExecQuery("OtherDetail_SpareParts_Proc", sqlcoll)
            sqlcoll.Clear()

            'showmessage("Record Updated Successfully.", lblSparePartsMsg)
            ddlSpareParts.ClearSelection()
            'ddlSpareParts.Enabled = False
            FillSparePartsGrid()
            'lblSparePartsDetails.Visible = True
            'Fill_Grid("SELECT OtherDetail_OptionalAccessories.ODTOA_kid, Product_Master.Product_Name, Product_Master.Product_Code, Product_Master.Product_ModelNo, Product_Master.Product_Kid, OtherDetail_OptionalAccessories.ODTOA_IsDeleted, Product_Master.Product_IsDeleted FROM OtherDetail_OptionalAccessories INNER JOIN Product_Master ON OtherDetail_OptionalAccessories.ODTOA_ProductId = Product_Master.Product_Kid WHERE (Product_Master.Product_Kid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (OtherDetail_OptionalAccessories.ODTOA_ProductId = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND(OtherDetail_OptionalAccessories.ODTOA_IsDeleted = N'0') AND (Product_Master.Product_IsDeleted = N'0')", gvOptionalAccesories)
            displayone(tblSpareParts)
            CreateMessageAlert(Me, "SpareParts Updated Successfully.", "StrKeyVal")
            visibleSpareParts()
            fillWearAndTearGrid()
            'enableconcontrol(False)
            'lblConField.Visible = False
            'clearconfields()
            'Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            ' Fill_Grid("SELECT Client_Master.ctm_Kid, Client_Master.ctm_name + ' - ' + City_Master.City_Name AS [Client Name] FROM Client_Master INNER JOIN City_Master ON Client_Master.ctm_City = City_Master.City_Kid WHERE (Client_Master.ctm_SupplierId = '" & Session("SupplierID").ToString.Trim & "')AND (Client_Master.ctm_productid = '" & RemoveLiterals(Session("ProductID").ToString.Trim) & "') AND (Client_Master.ctm_IsDeleted = '0') AND (City_Master.City_IsDeleted = '0')", gvClient)
            'EditClick(Me, btnSparePartsAdd, btnSparePartsSave, btnSparePartsUpdate, btnSparePartsDelete, btnSparePartsCancel, btnSparePartsSearch)
        Catch ex As Exception

        End Try

    End Sub
    Protected Sub btnSparePartsDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSparePartsDelete.Click
        Try
            displayone(tblSpareParts)
            If ddlSpareParts.SelectedIndex > 0 Then
                ExecuteQuery("Update OtherDetail_SpareParts set ODTSP_isdeleted ='1' where ODTSP_kid = '" & RemoveLiterals(gvSpareParts.SelectedDataKey.Value.ToString.Trim) & "'")
                'showmessage("Record Deleted Successfully.", lblSparePartsMsg)
                CreateMessageAlert(Me, "SpareParts Deleted Successfully.!", "StrKeyVal")
                ddlSpareParts.ClearSelection()
                'ddlSpareParts.Enabled = False
                'DeleteClick(Me, btnSparePartsAdd, btnSparePartsSave, btnSparePartsUpdate, btnSparePartsDelete, btnSparePartsCancel, btnSparePartsSearch)
                FillSparePartsGrid()
                visibleSpareParts()
                fillWearAndTearGrid()
                'If gvSpareParts.Rows.Count = 0 Then
                '    lblSparePartsDetails.Visible = False
                'Else
                '    lblSparePartsDetails.Visible = True
                'End If
                'CreateMessageAlert(Me, "Record Deleted Successfully.", "StrKeyVal")
            End If

        Catch ex As Exception

        End Try

    End Sub
    Protected Sub btnSparePartsCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSparePartsCancel.Click
        ddlSpareParts.ClearSelection()
        visibleSpareParts()
        displayone(tblSpareParts)
    End Sub
    Protected Sub gvSpareParts_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvSpareParts.SelectedIndexChanged
        Try
            displayone(tblSpareParts)
            Dim kid As String
            kid = ReturnValue("Select ODTSP_SparePartId from OtherDetail_SpareParts where ODTSP_KId ='" & RemoveLiterals(gvSpareParts.SelectedDataKey.Value.ToString.Trim) & "'and ODTSP_IsDeleted = '0'")
            'ddlOptionalAccessories.ClearSelection()
            ddlSpareParts.ClearSelection()
            ddlSpareParts.Items.FindByValue(RemoveLiterals(kid.ToString.Trim)).Selected = True
            'GridClick(Me, btnOptionAccAdd, btnOptionAccSave, btnOptionAccUpdate, btnOptionAccDelete, btnOptionAccCancel, btnOptionAccSearch)
            'ddlIncAcc.Enabled = True
            btnSparePartsAddMore.Visible = False
            btnSparePartsCancel.Visible = True
            btnSparePartsDelete.Visible = True
            btnSparePartsUpdate.Visible = True
            'If Session("AdminID") <> Nothing Then
            '    ddlOptionalAccessories.Enabled = True
            'Else
            '    ddlOptionalAccessories.Enabled = False
            'End If

        Catch ex As Exception

        End Try
    End Sub

    '============================================= Product Standard ====================================================
    Protected Sub btnProdStdAppDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProdStdAppDelete.Click
        Try
            displayone(tblStandards)
            If gvStandardApproval.SelectedDataKey.Value.ToString <> "" Then
                ExecuteQuery("Update ProductStandardApproval set ProdStdApproval_IsDeleted ='1' where ProdStdApproval_kid = '" & RemoveLiterals(gvStandardApproval.SelectedDataKey.Value.ToString.Trim) & "'")
                'showmessage("Record Deleted Successfully.", lblSparePartsMsg)
                CreateMessageAlert(Me, "Standards Deleted Successfully.!", "StrKeyVal")
                ddlSpareParts.ClearSelection()
                'ddlSpareParts.Enabled = False
                'DeleteClick(Me, btnSparePartsAdd, btnSparePartsSave, btnSparePartsUpdate, btnSparePartsDelete, btnSparePartsCancel, btnSparePartsSearch)
                getExistingPSAData()
                visibleStandardApproval()
                'If gvSpareParts.Rows.Count = 0 Then
                '    lblSparePartsDetails.Visible = False
                'Else
                '    lblSparePartsDetails.Visible = True
                'End If
                'CreateMessageAlert(Me, "Record Deleted Successfully.", "StrKeyVal")
            End If
        Catch ex As Exception

        End Try
    End Sub
    Protected Sub btnProdStdAppCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProdStdAppCancel.Click
        ddlStandard.ClearSelection()
        visibleStandardApproval()
        displayone(tblStandards)
    End Sub
    Protected Sub gvStandardApproval_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvStandardApproval.SelectedIndexChanged
        Try
            displayone(tblStandards)

            Dim dt As DataTable
            dt = ReturnDataTable("SELECT     ProductStandardsMaster.PSM_Name AS StandardName, ProductStandardApproval.ProdStdApproval_FileName AS FileName,                       ProductStandardApproval.ProdStdApproval_StandardId AS StandardID, ProductStandardApproval.ProdStdApproval_Kid AS KID,                       ProductStandardsMaster.PSM_Logo AS Logo FROM         ProductStandardApproval INNER JOIN                      ProductStandardsMaster ON ProductStandardApproval.ProdStdApproval_StandardId = ProductStandardsMaster.PSM_Kid where ProductStandardApproval.ProdStdApproval_Kid='" & RemoveLiterals(gvStandardApproval.SelectedDataKey.Value.ToString.Trim) & "'  and ProdStdApproval_ProductId='" & Session("ProductId").Trim & "' and ProdStdApproval_IsDeleted='0'")
            ddlStandard.ClearSelection()
            ddlStandard.Items.FindByValue(dt.Rows(0).Item("StandardID").ToString).Selected = True
            TrStandardLogo.Style.Add("display", "auto")
            imgProductStanardLogo.Src = ResolveUrl("~/Upload%20Image/Product%20Standard%20Logo/" & dt.Rows(0).Item("Logo").ToString)
            TrStandardFileName.Style.Add("display", "auto")
            HypStandard.Text = dt.Rows(0).Item("FileName").ToString
            HypStandard.Target = "_blank"
            HypStandard.NavigateUrl = ResolveUrl("~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("FileName").ToString)


            'Dim kid As String
            'kid = ReturnValue("Select ODTSP_SparePartId from OtherDetail_SpareParts where ODTSP_KId ='" & RemoveLiterals(gvSpareParts.SelectedDataKey.Value.ToString.Trim) & "'and ODTSP_IsDeleted = '0'")
            ''ddlOptionalAccessories.ClearSelection()
            'ddlSpareParts.ClearSelection()
            'ddlSpareParts.Items.FindByValue(RemoveLiterals(kid.ToString.Trim)).Selected = True
            'GridClick(Me, btnOptionAccAdd, btnOptionAccSave, btnOptionAccUpdate, btnOptionAccDelete, btnOptionAccCancel, btnOptionAccSearch)
            'ddlIncAcc.Enabled = True
            btnProdStdAppSave.Visible = False
            btnProdStdAppCancel.Visible = True
            btnProdStdAppDelete.Visible = True
            btnProdStdAppUpdate.Visible = True
            'If Session("AdminID") <> Nothing Then
            '    ddlOptionalAccessories.Enabled = True
            'Else
            '    ddlOptionalAccessories.Enabled = False
            'End If

        Catch ex As Exception

        End Try
    End Sub
    Public Sub visibleStandardApproval()
        btnProdStdAppSave.Visible = True
        TrStandardLogo.Style.Add("display", "none")
        TrStandardFileName.Style.Add("display", "none")
        btnProdStdAppCancel.Visible = False
        btnProdStdAppDelete.Visible = False
        btnProdStdAppUpdate.Visible = False
    End Sub
    Protected Sub btnstandards_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnstandards.Click
        Try
            lblResult.Visible = False
            'MultiView2.ActiveViewIndex = 11
            ClearPSAFields()
            'Tr56.Visible = False
            FillComboWithSelectJJ("Select PSM_Kid, PSM_Name from ProductStandardsMaster where PSM_Isdeleted='0'", ddlStandard, "Select Standards")
            TrStandardLogo.Style.Add("display", "none")
            TrStandardFileName.Style.Add("display", "none")
            getExistingPSAData()
            ddlStandard.Attributes.Add("onchange", "ProductStandardDDL(this)")
            btnProdStdAppSave.Attributes.Add("onclick", "return CheckStandard('a','" & RemoveLiterals(Session("ProductID").ToString) & "');")
            btnProdStdAppUpdate.Attributes.Add("onclick", "return CheckStandard('u','" & RemoveLiterals(Session("ProductID").ToString) & "');")
            BtnStandardMasterSave.Attributes.Add("onclick", "return StandardMasterSave();")
            visibleStandardApproval()
            tblStandardMaster.Style.Add("display", "none")
            getExistingPSAData()
            'BtnStandardMasterCancel.Attributes.Add("onclick", "return CancelClickStandardMaster();")
        Catch
        End Try

    End Sub
    <Ajax.AjaxMethod()> _
    Public Function CheckExistingStandards(ByVal ProductID As String, ByVal StandardKID As String) As Boolean
        Return IsAlreadyPresent("Select Count(*) from ProductStandardApproval where ProdStdApproval_ProductId='" & RemoveLiterals(ProductID.ToString) & "' and ProdStdApproval_StandardId ='" & RemoveLiterals(StandardKID.ToString) & "' and ProdStdApproval_Isdeleted='0'")
    End Function
    <Ajax.AjaxMethod()> _
    Public Function GetProductStandard(ByVal ProductstandardKID As String) As DataTable
        Dim dt As DataTable
        dt = ReturnDataTable("Select PSM_Logo, PSM_Desc from ProductStandardsMaster where PSM_KId='" & RemoveLiterals(ProductstandardKID.ToString) & "'")
        Return dt
    End Function
    Protected Sub btnProdStdAppUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProdStdAppUpdate.Click
        ' Try
        ' Dim dt As DataTable = getTable("Select * from ProductStandardApproval where ProdStdApproval_ProductId='" & Session.Item("ProductId").Trim & "' and ProdStdApproval_IsDeleted='0' and ProdStdApproval_CompanyID='" & Session("g_Company").Trim & "'", "PSA")

        Dim con As New SqlConnection                                                    'Define connection variable for connecting to SQL-Server
        con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")    'Read the ConnectionString from web.config File

        Dim cmd As New SqlCommand                                                       'Define command variable to execute the query
        cmd.CommandType = CommandType.StoredProcedure                                   'Set the Command Type to Stored procedure
        cmd.CommandText = "ProductStandardApproval_Proc"                                        'Assign the Name of Stored Procedure, to Execute
        cmd.Connection = con

        Dim strImageName As String = ""
        Dim file_name As String = ""
        If (ProRevwFileUpload.HasFile) Then
            Dim fileType = Path.GetExtension(ProRevwFileUpload.FileName).ToLower
            'If fileType = ".gif" Or fileType = ".jpg" Or fileType = ".jpeg" Or fileType = ".pdf" Then
            strImageName = Final_FileUpload(ProRevwFileUpload, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
            'strImageName = Server.MapPath("~/Upload Image/Product Image/UploadImages/")
            'file_name = Fileupload(ProRevwFileUpload, img, strImageName) 'Replace Final_FileUpload() function to Fileuload() by Pankaj mishra
            'Else
            '    lblResult.Visible = True
            '    lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
            '    'strImageName = dt.Rows(0).Item("ProdStdApproval_FileName").ToString
            'End If
        Else
        'strImageName = dt.Rows(0).Item("ProdStdApproval_FileName").ToString
        End If


        Dim AdminstrImageName As String = ""
        'If (AdminProRevwFileUpload.HasFile) Then
        '    Dim fileType = Path.GetExtension(AdminProRevwFileUpload.FileName).ToLower
        '    If fileType = ".gif" Or fileType = ".jpg" Or fileType = ".jpeg" Or fileType = ".pdf" Then
        '        AdminstrImageName = Final_FileUpload(AdminProRevwFileUpload, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
        '    Else
        '        lblResult.Visible = True
        '        lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
        '        AdminProRevwFileUpload.Focus()
        '        Exit Sub
        '        'AdminstrImageName = dt.Rows(0).Item("ProdStdApproval_AdminFileName").ToString
        '    End If
        'ElseIf AdminHypStandard.Text.Trim.Length > 0 Then
        '    AdminstrImageName = dt.Rows(0).Item("ProdStdApproval_AdminFileName").ToString
        'Else

        '    AdminstrImageName = ""
        '    CreateMessageAlert(Me, "Please select .pdf , .gif, .jpg file first..!!", "StrKeyVal")
        '    Exit Sub
        '    'AdminstrImageName = dt.Rows(0).Item("ProdStdApproval_AdminFileName").ToString
        'End If

        cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_Kid", SqlDbType.NVarChar, 10)).Value = RemoveLiterals(ReturnValue("Select ProdStdApproval_Kid from ProductStandardApproval where ProdStdApproval_ProductId ='" & Session("ProductId").ToString & "' and ProdStdApproval_Isdeleted='0'"))  'RemoveLiterals(gvStandardApproval.SelectedDataKey.Value.ToString.Trim) ' dt.Rows(0).Item("ProdStdApproval_Kid").ToString
        cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_Code", SqlDbType.NVarChar, 25)).Value = RemoveLiterals(ReturnValue("Select ProdStdApproval_Code from ProductStandardApproval where ProdStdApproval_ProductId ='" & Session("ProductId").ToString & "' and ProdStdApproval_Isdeleted='0'"))     'dt.Rows(0).Item("ProdStdApproval_Code").ToString
        cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_StandardName", SqlDbType.NVarChar, 200)).Value = "" 'Trim(txtProdStdAppSName.Text)
        cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_AgencyApproved", SqlDbType.NVarChar, 200)).Value = "" 'Trim(txtProdStdAppAAproved.Text)
        cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_ProductId", SqlDbType.NVarChar, 10)).Value = RemoveLiterals(Session("ProductID").ToString)   ' dt.Rows(0).Item("ProdStdApproval_ProductId").ToString
        If (ProRevwFileUpload.HasFile) Then
            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_FileName", SqlDbType.NVarChar, 20)).Value = strImageName
        Else
            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_FileName", SqlDbType.NVarChar, 20)).Value = HypStandard.Text
        End If

        cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_StandardId", SqlDbType.NVarChar, 10)).Value = ddlStandard.SelectedItem.Value.ToString

        cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_AdminFileName", SqlDbType.NVarChar, 20)).Value = AdminstrImageName
        cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_FinancialYearId", SqlDbType.NVarChar, 10)).Value = Session("g_FinYear")  'dt.Rows(0).Item("ProdStdApproval_FinancialYearId").ToString
        cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_CompanyId", SqlDbType.NVarChar, 10)).Value = Session("g_Comapany") 'dt.Rows(0).Item("ProdStdApproval_CompanyId").ToString
        cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_UserId", SqlDbType.NVarChar, 10)).Value = Session("g_User")  'dt.Rows(0).Item("ProdStdApproval_UserId").ToString
        cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Standard Approval"
        cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 10)).Value = "Update"
        con.Open()
        cmd.ExecuteNonQuery()
        con.Close()
        displayone(tblStandards)
        CreateMessageAlert(Me, "Product Standard Updated Successfully.!", "strkeyval")
        visibleStandardApproval()
        getExistingPSAData()
        'lblResult.Visible = True
        'lblResult.Text = "Record Updated Successfully."
        ClearPSAFields()
        'MultiView2.ActiveViewIndex = -1
        ' Catch
        ' End Try
    End Sub
    Protected Sub btnProdStdAppSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProdStdAppSave.Click
        Try
            Dim con As New SqlConnection                                                    'Define connection variable for connecting to SQL-Server
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")    'Read the ConnectionString from web.config File

            Dim cmd As New SqlCommand                                                       'Define command variable to execute the query
            cmd.CommandType = CommandType.StoredProcedure                                   'Set the Command Type to Stored procedure
            cmd.CommandText = "ProductStandardApproval_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con

            Dim strImageName As String = ""
            Dim file_name As String = ""
            If (ProRevwFileUpload.HasFile) Then
                Dim fileType As String = Path.GetExtension(ProRevwFileUpload.FileName).ToLower
                'If fileType = ".gif" Or fileType = ".jpg" Or fileType = ".jpeg" Or fileType = ".pdf" Then
                strImageName = Final_FileUpload(ProRevwFileUpload, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                'strImageName = Server.MapPath("~/Upload Image/Product Image/UploadImages/")
                'file_name = Fileupload(ProRevwFileUpload, img, strImageName) 'Replace Final_FileUpload() function to Fileuload() by Pankaj mishra
                'Else
                '    lblResult.Visible = True
                '    lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
                '    ProRevwFileUpload.Focus()
                '    Exit Sub
                'End If
            End If

            Dim AdminstrImageName As String = ""
            'If Session("AdminID") <> Nothing Then
            '    If (AdminProRevwFileUpload.HasFile) Then
            '        Dim fileType = Path.GetExtension(AdminProRevwFileUpload.FileName).ToLower
            '        If fileType = ".gif" Or fileType = ".jpg" Or fileType = ".jpeg" Or fileType = ".pdf" Then
            '            AdminstrImageName = Final_FileUpload(AdminProRevwFileUpload, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
            '        Else
            '            lblResult.Visible = True
            '            lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
            '            AdminProRevwFileUpload.Focus()
            '            Exit Sub
            '            'AdminstrImageName = dt.Rows(0).Item("ProdStdApproval_AdminFileName").ToString
            '        End If
            '    End If
            'End If


            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_Code", SqlDbType.NVarChar, 25)).Value = GenerateProdStdAppCode().ToString
            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_StandardName", SqlDbType.NVarChar, 200)).Value = "" 'Trim(txtProdStdAppSName.Text)
            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_AgencyApproved", SqlDbType.NVarChar, 200)).Value = "" ' Trim(txtProdStdAppAAproved.Text)
            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_ProductId", SqlDbType.NVarChar, 10)).Value = Session("ProductId")
            If (ProRevwFileUpload.HasFile) Then
                cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_FileName", SqlDbType.NVarChar, 100)).Value = strImageName
            Else
                cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_FileName", SqlDbType.NVarChar, 100)).Value = HypStandard.Text
            End If
            'If (AdminProRevwFileUpload.HasFile) Then
            '    cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_AdminFileName", SqlDbType.NVarChar, 20)).Value = AdminstrImageName
            'Else
            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_AdminFileName", SqlDbType.NVarChar, 20)).Value = "" ' AdminHypStandard.Text
            'End If

            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_StandardId", SqlDbType.NVarChar, 10)).Value = "" 'ddlStandard.SelectedValue.ToString


            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_FinancialYearId", SqlDbType.NVarChar, 10)).Value = Session("g_FinYear")
            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@ProdStdApproval_UserId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Product Standard Approval"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 10)).Value = "Insert"
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            'lblResult.Visible = True
            'lblResult.Text = "Record Saved Successfully."
            displayone(tblStandards)
            CreateMessageAlert(Me, "Product Standard Saved Successfully.!", "strkeyval")
            ClearPSAFields()
            getExistingPSAData()
            'MultiView2.ActiveViewIndex = -1
        Catch
        End Try
    End Sub
    Private Sub getExistingPSAData()
        Try

            Dim fileName As String
            fileName = ReturnValue("Select ProdStdApproval_FileName from ProductStandardApproval where ProdStdApproval_ProductId='" & Session("ProductID").ToString & "'and ProdStdApproval_Isdeleted ='0' AND (ProdStdApproval_FileName IS NOT NULL)")
            If fileName.ToString <> "" Then
                TrStandardFileName.Style.Add("display", "auto")
                HypStandard.Text = fileName.ToString
                HypStandard.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & fileName.ToString
                btnProdStdAppSave.Visible = False
                btnProdStdAppUpdate.Visible = True
            Else
                TrStandardFileName.Style.Add("display", "none")
                btnProdStdAppSave.Visible = True
                btnProdStdAppUpdate.Visible = False
            End If


            'Dim dt As DataTable = getTable("Select ProdStdApproval_Kid,ProdStdApproval_Code,ProdStdApproval_StandardName,ProdStdApproval_StandardId,ProdStdApproval_AgencyApproved,ProdStdApproval_FileName, ProdStdApproval_AdminFileName from ProductStandardApproval where ProdStdApproval_ProductId='" & Session("ProductId").Trim & "' and ProdStdApproval_IsDeleted='0' and ProdStdApproval_CompanyID='" & Session("g_Company").Trim & "'", "PSA")
            '' ''Dim dt As DataTable = ReturnDataTable("SELECT     ProductStandardApproval.ProdStdApproval_FileName AS FileName,             ProductStandardApproval.ProdStdApproval_StandardId, ProductStandardApproval.ProdStdApproval_Kid FROM         ProductStandardApproval where ProdStdApproval_ProductId='" & Session("ProductId").Trim & "' and ProdStdApproval_IsDeleted='0'")
            '' ''If (dt.Rows.Count > 0) Then
            '' ''    gvStandardApproval.DataSource = dt
            '' ''    gvStandardApproval.DataBind()
            '' ''    gvStandardApproval.Columns(1).Visible = False
            '' ''    gvStandardApproval.Columns(2).Visible = False
            '' ''    TrStandardFileName.Style.Add("display", "none")
            '' ''    'btnProdStdAppUpdate.Visible = False
            '' ''    Dim i As Integer
            '' ''    For i = 0 To dt.Rows.Count - 1
            '' ''        gvStandardApproval.Rows(i).Cells(4).Text = "<a target='_blank' href='" & ResolveUrl("~/Upload Image/Product Image/UploadImages/" & dt.Rows(i).Item("FileName").ToString) & "'>" & dt.Rows(i).Item("FileName").ToString & "</a>"
            '' ''    Next
            '' ''    '' '' ''If Session("AdminID") = Nothing Then
            '' ''    '' '' ''    gvStandardApproval.Columns(0).Visible = False
            '' ''    '' '' ''End If
            '' ''Else
            '' ''    gvStandardApproval.DataSource = Nothing
            '' ''    gvStandardApproval.DataBind()
            '' ''End If


            ' ''If dt.Rows.Count > 0 Then
            ' ''    'ddlStandard.Visible = False
            ' ''    'txtProdStdAppCode.Text = dt.Rows(0).Item("ProdStdApproval_Code").ToString
            ' ''    'txtProdStdAppSName.Text = dt.Rows(0).Item("ProdStdApproval_StandardName").ToString
            ' ''    ' ''ddlStandard.Items.FindByValue(dt.Rows(0).Item("ProdStdApproval_StandardId").ToString).Selected = True
            ' ''    ' ''TrStandardLogo.Style.Add("display", "auto")
            ' ''    ' ''imgProductStanardLogo.Src = Page.ResolveUrl("~/Upload Image/Product Standard Logo/" & ReturnValue("Select PSM_Logo from ProductStandardsMaster where PSM_Kid='" & dt.Rows(0).Item("ProdStdApproval_StandardId").ToString & "'"))
            ' ''    ' ''tdProductStandardDesciption.InnerHtml = ReturnValue("Select PSM_Desc from ProductStandardsMaster where PSM_Kid='" & dt.Rows(0).Item("ProdStdApproval_StandardId").ToString & "'")
            ' ''    ' ''HypStandard.Text = dt.Rows(0).Item("ProdStdApproval_FileName").ToString
            ' ''    ' ''HypStandard.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("ProdStdApproval_FileName").ToString
            ' ''    ' ''TrStandardFileName.Style.Add("display", "auto")
            ' ''    '' ''HypStandard.Enabled = True
            ' ''    '' ''txtProdStdAppAAproved.Text = dt.Rows(0).Item("ProdStdApproval_AgencyApproved").ToString
            ' ''    ' ''If Session("AdminID") <> Nothing Then
            ' ''    ' ''    trStandardFU.Style.Add("display", "auto")
            ' ''    ' ''    btnProdStdAppUpdate.Visible = True
            ' ''    ' ''    btnProdStdAppSave.Visible = False
            ' ''    ' ''    EnableControls(True)
            ' ''    ' ''Else
            ' ''    ' ''    EnableControls(False)
            ' ''    ' ''    btnProdStdAppUpdate.Visible = False
            ' ''    ' ''    btnProdStdAppSave.Visible = False
            ' ''    ' ''    trStandardFU.Style.Add("display", "none")
            ' ''    ' ''End If
            ' ''    'Try
            ' ''    '    If IsDBNull(dt.Rows(0).Item("ProdStdApproval_FileName").ToString) Or dt.Rows(0).Item("ProdStdApproval_FileName").ToString = "" Then
            ' ''    '        Tr63.Visible = True
            ' ''    '        'Tr59.Visible = False
            ' ''    '    Else
            ' ''    '        Tr63.Visible = False
            ' ''    '        'Tr59.Visible = True
            ' ''    '        HypStandard.Visible = True
            ' ''    '        HypStandard.Text = dt.Rows(0).Item("ProdStdApproval_FileName").ToString
            ' ''    '        HypStandard.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("ProdStdApproval_FileName").ToString
            ' ''    '        HypStandard.Enabled = True
            ' ''    '    End If
            ' ''    'Catch
            ' ''    'End Try


            ' ''    ''btnProdStdAppSave.Enabled = False

            ' ''Else

            ' ''    ' ''TrStandardFileName.Style.Add("display", "none")
            ' ''    ' ''btnProdStdAppUpdate.Visible = False

            ' ''    'GenerateProdStdAppCode()
            ' ''    ''btnProdStdAppSave.Enabled = True
            ' ''    'EnableControls(True)
            ' ''End If

            '' ''If Session("AdminID") <> Nothing Then
            '' ''    EnableControls(True)
            '' ''    If dt.Rows.Count > 0 Then
            '' ''        ddlStandard.Visible = True
            '' ''        'If dt.Rows(0).Item("ProdStdApproval_AdminFileName").ToString.Trim.Length > 0 Then
            '' ''        '    Label106.Visible = True
            '' ''        '    AdminProRevwFileUpload.Visible = True
            '' ''        '    AdminHypStandard.Visible = True
            '' ''        '    AdminHypStandard.Text = dt.Rows(0).Item("ProdStdApproval_AdminFileName").ToString
            '' ''        '    AdminHypStandard.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("ProdStdApproval_AdminFileName").ToString
            '' ''        'Else
            '' ''        '    Label106.Visible = True
            '' ''        '    AdminProRevwFileUpload.Visible = True
            '' ''        '    AdminHypStandard.Visible = False
            '' ''        'End If

            '' ''        btnProdStdAppSave.Visible = False
            '' ''        'btnApplicaionSave.Enabled = True
            '' ''        btnProdStdAppUpdate.Visible = True
            '' ''        'Tr59.Visible = True
            '' ''    Else
            '' ''        btnProdStdAppSave.Visible = True
            '' ''        'btnApplicaionSave.Enabled = True
            '' ''        btnProdStdAppUpdate.Visible = False
            '' ''    End If
            '' ''Else
            '' ''    'Label106.Visible = False
            '' ''    'AdminProRevwFileUpload.Visible = False
            '' ''    'AdminHypStandard.Visible = False
            '' ''    btnProdStdAppUpdate.Visible = False
            '' ''End If
            '' ''dt = Nothing
        Catch
        End Try
    End Sub
    Protected Sub EnableControls(ByVal Action As Boolean)
        Try
            ddlStandard.Enabled = Action
            'txtProdStdAppSName.Enabled = Action
            'txtProdStdAppAAproved.Enabled = Action
            'Tr63.Visible = Action
        Catch
        End Try
    End Sub
    Protected Sub ClearPSAFields()
        Try
            '' ''ddlStandard.ClearSelection()
            ' '' ''txtProdStdAppCode.Text = ""
            ' '' ''txtProdStdAppSName.Text = ""
            ' '' ''txtProdStdAppAAproved.Text = ""
            '' ''HypStandard.Text = ""
        Catch
        End Try
    End Sub
    Protected Function GenerateProdStdAppCode() As String
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "PSA" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from ProductStandardApproval where ProdStdApproval_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                    Return code
                    Exit Function
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try

    End Function

    '********************************************** User Manual  ***************************************************
    Protected Sub btnUserManual_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUserManual.Click
        Try
            lblResult.Visible = False
            'MultiView2.ActiveViewIndex = 12
            'RUserM.Visible = False
            ClearUserManualFields()
            GenerateUMCode()
            trUserManual.Style.Add("display", "none")
            rblUserManual.Attributes.Add("onclick", "return rblUserManualClick(this);")
            btnUserManSave.Attributes.Add("onclick", "return checkUserManual();")
            btnUserManUpdate.Attributes.Add("onclick", "return checkUserManual();")
            rblUserManual.ClearSelection()
            rblUserManual.Focus()
            getExistingUMData()
        Catch
        End Try
    End Sub
    Protected Sub btnUserManUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUserManUpdate.Click
        Try

            Dim dt As DataTable = getTable("Select * from InstallationManual where InstCommManual_ProductId='" & Session.Item("ProductId").Trim & "' and InstCommManual_IsDeleted='0' and InstCommManual_CompanyID='" & Session("g_Company").Trim & "'", "ICM")


            Dim strImageName As String = ""
            '----------------------------------
            If rblUserManual.SelectedValue = "Yes" Then
                If (UserManUpload.HasFile) Then
                    Dim fileType As String = Path.GetExtension(UserManUpload.FileName).ToLower
                    'If fileType = ".gif" Or fileType = ".jpg" Or fileType = ".jpeg" Or fileType = ".pdf" Then
                    strImageName = Final_FileUpload(UserManUpload, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                    'Else
                    '    lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
                    '    strImageName = dt.Rows(0).Item("InstCommManual_UploadedManualFileName").ToString
                    'End If
                Else
                    strImageName = dt.Rows(0).Item("InstCommManual_UploadedManualFileName").ToString
                End If
            ElseIf rblUserManual.SelectedValue = "No" Then
                strImageName = ""
            Else
                'lblCatError.Visible = True
                'lblCatError.Text = "Please Select Yes Or No..!!"
                Exit Sub
            End If

            Dim AdminstrImageName As String = ""
            'If (AdminUserManUpload.HasFile) Then
            '    Dim fileType As String = Path.GetExtension(AdminUserManUpload.FileName).ToLower
            '    If fileType = ".gif" Or fileType = ".jpg" Or fileType = ".jpeg" Or fileType = ".pdf" Then
            '        AdminstrImageName = Final_FileUpload(AdminUserManUpload, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
            '    Else
            '        lblResult.Visible = True
            '        lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
            '        AdminUserManUpload.Focus()
            '        Exit Sub
            '        'AdminstrImageName = dt.Rows(0).Item("InstCommManual_AdminUploadedManualFileName").ToString
            '    End If
            'ElseIf AdminhyplnkUserManual.Text.Trim.Length > 0 Then
            '    AdminstrImageName = dt.Rows(0).Item("InstCommManual_AdminUploadedManualFileName").ToString
            'End If


            Dim con As New SqlConnection                                                    'Define connection variable for connecting to SQL-Server
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")    'Read the ConnectionString from web.config File

            'Open the Connection
            Dim cmd As New SqlCommand                                                       'Define command variable to execute the query
            cmd.CommandType = CommandType.StoredProcedure                                   'Set the Command Type to Stored procedure
            cmd.CommandText = "InstallationManual_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con                                                            'Assign the connection

            cmd.Parameters.Add(New SqlParameter("@InstCommManual_Kid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("InstCommManual_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@InstCommManual_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("InstCommManual_Code").ToString
            If rblUserManual.SelectedValue = "Yes" Then
                cmd.Parameters.Add(New SqlParameter("@InstCommManual_IsManualUpload", SqlDbType.NVarChar, 1)).Value = "Y"
            Else
                cmd.Parameters.Add(New SqlParameter("@InstCommManual_IsManualUpload", SqlDbType.NVarChar, 1)).Value = "N"
            End If

            cmd.Parameters.Add(New SqlParameter("@InstCommManual_UploadedManualFileName", SqlDbType.NVarChar, 50)).Value = strImageName 'Trim(Session("PDF_File"))
            cmd.Parameters.Add(New SqlParameter("@InstCommManual_AdminUploadedManualFileName", SqlDbType.NVarChar, 50)).Value = AdminstrImageName 'Trim(Session("PDF_File"))
            cmd.Parameters.Add(New SqlParameter("@InstCommManual_ProductId", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("InstCommManual_ProductId").ToString
            cmd.Parameters.Add(New SqlParameter("@InstCommManual_CompanyId", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("InstCommManual_CompanyId").ToString       'Add Parameter Company_Code and assign the value of Session("Session("g_Company")") to it
            cmd.Parameters.Add(New SqlParameter("@InstCommManual_UserId", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("InstCommManual_UserId").ToString             'Add Parameter UserCode and assign the value of Session("Session("g_User")").toString to it
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Installation Manual"                           'Add Parameter FormName and assign the name of form to it
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Update"                                   'Add Parameter Mode and assign the DML Operation to Execute (Insert)
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            ClearUserManualFields()                                                                  'Clear the TextFields
            'lblResult.Visible = True
            'lblResult.Text = "Record Updated Successfully."
            displayone(tblUserManual)
            CreateMessageAlert(Me, "Product User Manual updated successfully.!", "strkeyval")
            ClearUserManualFields()
            getExistingUMData()
            'MultiView2.ActiveViewIndex = -1

        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
        End Try
    End Sub
    Protected Sub btnUserManSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUserManSave.Click
        Try
            Dim strImageName As String = ""
            '----------------------------------
            If rblUserManual.SelectedValue = "Yes" Then
                If (UserManUpload.HasFile) Then
                    Dim fileType As String = Path.GetExtension(UserManUpload.FileName).ToLower
                    'If fileType = ".gif" Or fileType = ".jpg" Or fileType = ".jpeg" Or fileType = ".pdf" Then
                    strImageName = Final_FileUpload(UserManUpload, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                    'Else
                    '    lblResult.Visible = True
                    '    lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
                    '    UserManUpload.Focus()
                    '    Exit Sub
                    'End If
                Else
                    'lblResult.Visible = True
                    'lblResult.Text = "Please select .pdf, .gif, .jpg file ... !!!"
                    'Exit Sub
                End If
            ElseIf rblUserManual.SelectedValue = "No" Then
                strImageName = ""
            Else
                'lblCatError.Visible = True
                'lblCatError.Text = "Please Select Yes Or No..!!"
                Exit Sub
            End If

            Dim AdminstrImageName As String = ""
            'If Session("AdminID") <> Nothing Then
            '    If rblUserManual.SelectedValue = "Yes" Then
            '        If (AdminUserManUpload.HasFile) Then
            '            Dim fileType As String = Path.GetExtension(AdminUserManUpload.FileName).ToLower
            '            If fileType = ".gif" Or fileType = ".jpg" Or fileType = ".jpeg" Or fileType = ".pdf" Then
            '                AdminstrImageName = Final_FileUpload(AdminUserManUpload, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
            '            Else
            '                lblResult.Visible = True
            '                lblResult.Text = "Please select .pdf, .gif, .jpg  file only!"
            '                AdminUserManUpload.Focus()
            '                Exit Sub
            '                'AdminstrImageName = dt.Rows(0).Item("InstCommManual_AdminUploadedManualFileName").ToString
            '            End If
            '        End If
            '    End If
            'End If



            Dim con As New SqlConnection                                                    'Define connection variable for connecting to SQL-Server
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")    'Read the ConnectionString from web.config File

            'Open the Connection
            Dim cmd As New SqlCommand                                                       'Define command variable to execute the query
            cmd.CommandType = CommandType.StoredProcedure                                   'Set the Command Type to Stored procedure
            cmd.CommandText = "InstallationManual_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con                                                            'Assign the connection

            cmd.Parameters.Add(New SqlParameter("@InstCommManual_Kid", SqlDbType.NVarChar, 20)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@InstCommManual_Code", SqlDbType.NVarChar, 25)).Value = GenerateUMCode().ToString()        'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it
            If rblUserManual.SelectedValue = "Yes" Then
                cmd.Parameters.Add(New SqlParameter("@InstCommManual_IsManualUpload", SqlDbType.NVarChar, 1)).Value = "Y"
            Else
                cmd.Parameters.Add(New SqlParameter("@InstCommManual_IsManualUpload", SqlDbType.NVarChar, 1)).Value = "N"
            End If

            cmd.Parameters.Add(New SqlParameter("@InstCommManual_UploadedManualFileName", SqlDbType.NVarChar, 50)).Value = strImageName 'Trim(Session("PDF_File"))
            cmd.Parameters.Add(New SqlParameter("@InstCommManual_AdminUploadedManualFileName", SqlDbType.NVarChar, 50)).Value = AdminstrImageName 'Trim(Session("PDF_File"))
            cmd.Parameters.Add(New SqlParameter("@InstCommManual_ProductId", SqlDbType.NVarChar, 25)).Value = Session("ProductId")
            cmd.Parameters.Add(New SqlParameter("@InstCommManual_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_FinYear"))
            cmd.Parameters.Add(New SqlParameter("@InstCommManual_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company"))       'Add Parameter Company_Code and assign the value of Session("Session("g_Company")") to it
            cmd.Parameters.Add(New SqlParameter("@InstCommManual_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_User"))             'Add Parameter UserCode and assign the value of Session("Session("g_User")").toString to it
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Installation Manual"                           'Add Parameter FormName and assign the name of form to it
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Insert"                                   'Add Parameter Mode and assign the DML Operation to Execute (Insert)
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            ClearUserManualFields()                                                                  'Clear the TextFields
            'lblResult.Visible = True
            'lblResult.Text = "Record Saved Successfully."
            displayone(tblUserManual)
            CreateMessageAlert(Me, "Product User Manual saved successfully.!", "strkeyval")
            ClearUserManualFields()
            getExistingUMData()
            'MultiView2.ActiveViewIndex = -1

        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
        End Try
    End Sub
    Private Sub ClearUserManualFields()
        Try
            'txtUserManCode.Text = ""
            rblUserManual.ClearSelection()
        Catch
        End Try
    End Sub
    Private Sub getExistingUMData()
        Try
            Dim dt As DataTable = getTable("Select InstCommManual_Kid,InstCommManual_Code,InstCommManual_IsManualUpload,InstCommManual_UploadedManualFileName, InstCommManual_AdminUploadedManualFileName from InstallationManual where InstCommManual_ProductId='" & Session("ProductId").Trim & "' and InstCommManual_IsDeleted='0' and InstCommManual_CompanyID='" & Session("g_Company").Trim & "'", "ICM")
            If dt.Rows.Count > 0 Then
                'txtUserManCode.Text = dt.Rows(0).Item("InstCommManual_Code").ToString
                If dt.Rows(0).Item("InstCommManual_IsManualUpload").ToString = "Y" Then
                    '' '' ''If Session("AdminID") <> Nothing Then
                    trUserManual.Style.Add("display", "auto")
                    '' '' ''End If
                    rblUserManual.SelectedValue = "Yes"
                    trUserManualFileName.Style.Add("display", "auto")
                    'rblProductMSDS.SelectedValue = "Yes"
                    'lblMSDS_UploadedDataSheetName.Visible = True
                    hyplnkUserManual.Text = dt.Rows(0).Item("InstCommManual_UploadedManualFileName").ToString
                    hyplnkUserManual.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("InstCommManual_UploadedManualFileName").ToString
                    'FileUpl
                    rblProductMSDS.SelectedValue = "No"
                    trProductMSDSFileName.Style.Add("display", "none")
                    'rblProductMSDS.SelectedValue = "No"
                    'trProductMSDSFileName.Visible = False
                    'lblMSDS_UploadedDataSheetName.Visible = False
                    'FileUploadMSDS.Visible = False
                    ''Label4.Visible = False
                    'AdminFileUploadMSDS.Visible = False
                    'Label95.Visible = False
                    'hyplnkMSDS.Visible = False
                    'AdminhyplnkMSDS.Visible = False
                    'EnableControlsMSDS(False).
                    'EnableControlsMSDS(False)
                Else
                    rblUserManual.SelectedValue = "No"
                    trUserManualFileName.Style.Add("display", "none")
                End If
                '' '' ''If Session("AdminID") = Nothing Then
                '' '' ''    btnUserManSave.Visible = False
                '' '' ''    btnUserManUpdate.Visible = False
                '' '' ''    EnableUMControls(False)
                '' '' ''Else
                btnUserManSave.Visible = False
                btnUserManUpdate.Visible = True
                EnableUMControls(True)
                '' '' ''End If
            Else

            trUserManualFileName.Style.Add("display", "none")
            btnUserManSave.Visible = True
            btnUserManUpdate.Visible = False
            EnableUMControls(True)

            'GenerateUMCode()
            'hyplnkUserManual.Visible = False
            'lblInstCommManual_UploadedManualFileName.Visible = True
            'UserManUpload.Visible = True
            'btnUserManSave.Enabled = True
            'EnableUMControls(True)
            End If

            'If Session("AdminID") <> Nothing Then
            '    EnableUMControls(True)
            '    UserManUpload.Visible = True
            '    If dt.Rows.Count > 0 Then


            '        'If dt.Rows(0).Item("InstCommManual_AdminUploadedManualFileName").ToString.Trim.Length > 0 Then
            '        '    Label113.Visible = True
            '        '    AdminUserManUpload.Visible = True
            '        '    AdminhyplnkUserManual.Visible = True
            '        '    AdminhyplnkUserManual.Text = dt.Rows(0).Item("InstCommManual_AdminUploadedManualFileName").ToString
            '        '    AdminhyplnkUserManual.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("InstCommManual_AdminUploadedManualFileName").ToString
            '        'Else
            '        '    Label113.Visible = True
            '        '    AdminUserManUpload.Visible = True
            '        '    AdminhyplnkUserManual.Visible = False
            '        'End If



            '        btnUserManSave.Visible = False
            '        btnUserManUpdate.Visible = True
            '    Else
            '        'Label113.Visible = True
            '        'AdminUserManUpload.Visible = True
            '        'AdminhyplnkUserManual.Visible = False

            '        btnUserManSave.Visible = True
            '        btnUserManUpdate.Visible = False
            '    End If
            'Else
            '    btnUserManUpdate.Visible = False
            'End If
            dt = Nothing
        Catch
        End Try
    End Sub
    Private Sub EnableUMControls(ByVal bool As Boolean)
        Try
            rblUserManual.Enabled = bool
        Catch
        End Try
    End Sub
    Protected Function GenerateUMCode() As String
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            'txtUserManCode.Text = NewPrimaryKey(Me)
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "ICM" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from InstallationManual where InstCommManual_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                    Return code
                    Exit Function
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Function
    '******************************************** Guaranty  ****************************************************
    Protected Sub btnGuaranty_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGuaranty.Click

        Try

            'MultiView2.ActiveViewIndex = 13
            trGuaranty.Style.Add("display", "none")
            TrWarranty.Style.Add("display", "none")
            rblGW.Attributes.Add("onclick", "return rblGW(this);")
            txtGPeriod.Attributes.Add("onkeypress", "return blockNonNumbers(this,event,true,false);")
            txtWPeriod.Attributes.Add("onkeypress", "return blockNonNumbers(this,event,true,false);")
            FillComboWithSelectJJ("SELECT Unit_Kid, Unit_Name, Unit_Flag FROM Unit_Master WHERE Unit_Flag = N'Days' AND Unit_CompanyId = '" & Session("g_Company") & "' AND Unit_IsDeleted = N'0'", ddlGPeriodType, "Select Type")
            FillComboWithSelectJJ("SELECT Unit_Kid, Unit_Name, Unit_Flag FROM Unit_Master WHERE Unit_Flag = N'Days' AND Unit_CompanyId = '" & Session("g_Company") & "' AND Unit_IsDeleted = N'0'", ddlWPeriodType, "Select Type")
            '' '' ''trCarryIn.Style.Add("display", "none")
            '' '' ''rblWWarrantyType.Attributes.Add("onclick", "return rblWWarrantyType(this);")
            '' '' ''trSpecificParts.Style.Add("display", "none")
            '' '' ''rblWWarrantyFor.Attributes.Add("onclick", "return rblWWarrantyFor(this)")
            '' '' ''gvWSpecificParts.DataSource = Nothing
            '' '' ''gvWSpecificParts.DataBind()
            '' '' ''fillGWSparePartsGrid()
            '' '' ''btnGWSave.Attributes.Add("onclick", "return ckeckGW();")
            '' '' ''btnGWUpdate.Attributes.Add("onclick", "return ckeckGW();")
            '' '' ''rblGW.Focus()
            '' '' ''rblGW.ClearSelection()
            '' '' ''rblWWarrantyFor.SelectedValue = "Complete Unit"

            '' '' ''getexistingGW()

            trGWFileName.Style.Add("display", "none")
            btnguwarrantySubmit.Attributes.Add("onclick", "return GWClick();")
            btnguwarrantyUpdate.Attributes.Add("onclick", "return GWClick();")
            getexistingGWNew()

            'Fill_Combo("SELECT Unit_Kid, Unit_Name, Unit_Flag FROM Unit_Master WHERE Unit_Flag = N'Days' AND Unit_CompanyId = '" & Session("g_Company") & "' AND Unit_IsDeleted = N'0'", ddlWarrantType)
            'Fill_ComboNoName("SELECT Spares_Kid, Spares_PartNumber, Spares_PartName FROM Spare_Parts WHERE Spares_CompanyId = '" & Session("g_Company") & "' AND Spares_IsDeleted = N'0'", ddlGWPartNoPartName)
            'rdoOnSite.Checked = True
            'rdoCarryIn.Checked = False
            'rwCarryIn.Visible = False
            'rdoCompleteUnit.Checked = True
            'rdoSpecificParts.Checked = False
            'rwWarrantyFor.Visible = False
            'ddlgaurntType.ClearSelection()
            'Try
            '    ddlgaurntType.Items.FindByText("Months").Selected = True
            'Catch
            'End Try
            'ddlWarrantType.ClearSelection()
            'Try
            '    ddlWarrantType.Items.FindByText("Months").Selected = True
            'Catch
            'End Try
            'ddlGWPartNoPartName.ClearSelection()
            'Try
            '    ddlGWPartNoPartName.Items.FindByText("Select").Selected = True
            'Catch
            'End Try
            'txtgurrant1.Text = ""
            'txtWarrant.Text = ""
            'txtWDesc.Text = ""
            'txtGDesc.Text = ""
            'Fill_Grid("Select * From Product_GuarantyWarrantydetails Where gwd_CompanyId = '" & Session("g_Company").ToString & "' and gwd_IsDeleted='0' and gwd_ProductId= '" & Session("ProductId").ToString.Trim & "'", gvWarranty)
            'GetGWDataTable()

            'If Session("AdminID") <> Nothing Then
            '    'EnableControlsGW(True)
            '    If gvWarranty.Rows.Count > 0 Then
            '        btnGWSave.Enabled = False
            '        btnGWAddMore.Enabled = True
            '        btnGWUpdate.Visible = True
            '        btnGWUpdate.Enabled = True
            '        btnGWDelete.Visible = True
            '        btnGWDelete.Enabled = True
            '    Else
            '        btnGWSave.Enabled = True
            '        btnGWAddMore.Enabled = True
            '        btnGWUpdate.Visible = True
            '        btnGWUpdate.Enabled = False
            '        btnGWDelete.Visible = True
            '        btnGWDelete.Enabled = False
            '    End If

            '    gvWarranty.Columns(0).Visible = True
            'Else
            '    If gvWarranty.Rows.Count > 0 Then
            '        btnGWSave.Enabled = False
            '        btnGWDelete.Visible = False
            '        btnGWAddMore.Enabled = True
            '    Else
            '        btnGWSave.Visible = True
            '        btnGWDelete.Visible = True
            '        btnGWAddMore.Visible = True
            '    End If
            '    btnGWUpdate.Visible = False
            '    btnGWDelete.Visible = False
            '    gvWarranty.Columns(0).Visible = False
            'End If

        Catch
        End Try

    End Sub
    Public Sub GetExistingGWNew()
        Try

        
            Dim dt As DataTable
            dt = ReturnDataTable("Select * from Product_GuarantyWarrantyDetails where gwd_ProductId='" & RemoveLiterals(Session("ProductID").ToString) & "'")
            If dt.Rows.Count > 0 Then
                If (dt.Rows(0).Item("gwd_Type").ToString = "Guaranty") Then
                    rblGW.SelectedValue = "Guaranty"
                    trGuaranty.Style.Add("display", "auto")
                    txtGPeriod.Text = dt.Rows(0).Item("gwd_pguarentee1").ToString
                    ddlGPeriodType.Items.FindByValue(RemoveLiterals(dt.Rows(0).Item("gwd_pguarentee2").ToString)).Selected = True
                    txtWPeriod.Text = ""
                    ddlWPeriodType.ClearSelection()
                ElseIf (dt.Rows(0).Item("gwd_Type").ToString = "Warranty") Then
                    rblGW.SelectedValue = "Warranty"
                    TrWarranty.Style.Add("display", "auto")
                    txtGPeriod.Text = ""
                    ddlGPeriodType.ClearSelection()
                    txtWPeriod.Text = dt.Rows(0).Item("gwd_pwarranty1").ToString
                    ddlWPeriodType.Items.FindByValue(RemoveLiterals(dt.Rows(0).Item("gwd_pwarranty2").ToString)).Selected = True
                End If
                If (dt.Rows(0).Item("gwd_FileName").ToString <> "") Then
                    trGWFileName.Style.Add("display", "auto")
                    lblguwarrantyPath.Text = dt.Rows(0).Item("gwd_FileName").ToString.ToString
                    lblguwarrantyPath.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("gwd_FileName").ToString.ToString
                Else
                    trGWFileName.Style.Add("display", "none")
                End If
                btnguwarrantySubmit.Visible = False
                btnguwarrantyUpdate.Visible = True
            Else
                btnguwarrantySubmit.Visible = True
                btnguwarrantyUpdate.Visible = False
            End If
        Catch ex As Exception
            rblGW.ClearSelection()
            TrWarranty.Style.Add("display", "none")
            trGuaranty.Style.Add("display", "none")
            btnguwarrantySubmit.Visible = True
            btnguwarrantyUpdate.Visible = False
        End Try
    End Sub
    Public Sub EnableControlsGW(ByVal action As Boolean)
        rblGW.Enabled = action
        txtGDescription.Enabled = action
        txtGPeriod.Enabled = action
        ddlGPeriodType.Enabled = action
        rblWCarryIn.Enabled = action
        rblWWarrantyFor.Enabled = action
        rblWWarrantyType.Enabled = action
    End Sub
    'Public Sub getexistingGW()
    '    Dim dt As DataTable
    '    Dim i, j As Integer
    '    dt = ReturnDataTable("Select * from Product_GuarantyWarrantyDetails where gwd_ProductId='" & RemoveLiterals(Session("ProductID").ToString) & "'")
    '    If dt.Rows.Count > 0 Then
    '        '' '' ''If Session("AdminID") <> Nothing Then
    '        btnGWSave.Visible = False
    '        btnGWUpdate.Visible = True

    '        btnguwarrantySubmit.Visible = False
    '        btnguwarrantyUpdate.Visible = True
    '        EnableControlsGW(True)
    '        '' '' ''Else
    '        '' '' ''    EnableControlsGW(False)
    '        '' '' ''    btnGWSave.Visible = False
    '        '' '' ''    btnGWUpdate.Visible = False

    '        '' '' ''End If
    '        rblGW.Enabled = False
    '        If (dt.Rows(0).Item("gwd_Type").ToString = "Guaranty") Then
    '            rblGW.SelectedValue = "Guaranty"
    '            trGuaranty1.Style.Add("display", "auto")
    '            txtGPeriod.Text = dt.Rows(0).Item("gwd_pguarentee1").ToString
    '            ddlGPeriodType.Items.FindByValue(RemoveLiterals(dt.Rows(0).Item("gwd_pguarentee2").ToString)).Selected = True
    '            txtGDescription.Text = dt.Rows(0).Item("gwd_Gdesc").ToString
    '        Else
    '            rblGW.SelectedValue = "Warranty"
    '            TrWarranty1.Style.Add("display", "auto")
    '            If dt.Rows(0).Item("gwd_wtype").ToString = "On Site" Then
    '                rblWWarrantyType.SelectedValue = "On Site"
    '            Else
    '                rblWWarrantyType.SelectedValue = "Carry In"
    '                trCarryIn.Style.Add("display", "auto")
    '                rblWCarryIn.SelectedValue = dt.Rows(0).Item("gwd_CarryIn").ToString
    '            End If
    '            If (dt.Rows(0).Item("gwd_wfor").ToString = "Complete Unit") Then
    '                trSpecificParts.Style.Add("display", "none")
    '                rblWWarrantyFor.SelectedValue = "Complete Unit"
    '                TrCompleteUnit.Style.Add("display", "auto")
    '                txtWCompletePeriod.Text = dt.Rows(0).Item("gwd_pwarranty1").ToString
    '                ddlWCompletePeriodType.Items.FindByValue(RemoveLiterals(dt.Rows(0).Item("gwd_pwarranty2").ToString)).Selected = True
    '                txtWCompleteDescription.Text = dt.Rows(0).Item("gwd_Wdesc").ToString
    '                '' '' ''If Session("AdminID") <> Nothing Then
    '                txtWCompletePeriod.Enabled = True
    '                ddlWCompletePeriodType.Enabled = True
    '                txtWCompleteDescription.Enabled = True
    '                '' '' ''Else
    '                '' '' ''    txtWCompletePeriod.Enabled = False
    '                '' '' ''    ddlWCompletePeriodType.Enabled = False
    '                '' '' ''    txtWCompleteDescription.Enabled = False
    '                '' '' ''End If

    '            Else
    '                TrCompleteUnit.Style.Add("display", "none")
    '                rblWWarrantyFor.SelectedValue = "Specific Parts"
    '                trSpecificParts.Style.Add("display", "auto")

    '                If (Session("AdminID")) = Nothing Then
    '                    CType(gvWSpecificParts.HeaderRow.Cells(0).FindControl("CheckBox1"), CheckBox).Enabled = False
    '                    For j = 0 To gvWSpecificParts.Rows.Count - 1
    '                        CType(gvWSpecificParts.Rows(j).Cells(0).FindControl("CheckBox2"), CheckBox).Enabled = False
    '                        CType(gvWSpecificParts.Rows(j).Cells(3).FindControl("txtWWarrantyPeriod"), TextBox).Enabled = False
    '                        CType(gvWSpecificParts.Rows(j).Cells(3).FindControl("ddlWWarrantyPeriodType"), DropDownList).Enabled = False
    '                        CType(gvWSpecificParts.Rows(j).Cells(3).FindControl("txtWWarrantyDescription"), TextBox).Enabled = False

    '                    Next
    '                End If


    '                For i = 0 To dt.Rows.Count - 1
    '                    Dim kid As String
    '                    kid = dt.Rows(i).Item("gwd_PartNo").ToString
    '                    For j = 0 To gvWSpecificParts.Rows.Count - 1
    '                        If (RemoveLiterals(kid) = RemoveLiterals(gvWSpecificParts.Rows(j).Cells(1).Text)) Then
    '                            CType(gvWSpecificParts.Rows(j).Cells(0).FindControl("CheckBox2"), CheckBox).Checked = True
    '                            CType(gvWSpecificParts.Rows(j).Cells(3).FindControl("txtWWarrantyPeriod"), TextBox).Style.Add("display", "auto")
    '                            CType(gvWSpecificParts.Rows(j).Cells(3).FindControl("txtWWarrantyPeriod"), TextBox).Text = dt.Rows(i).Item("gwd_pwarranty1").ToString
    '                            CType(gvWSpecificParts.Rows(j).Cells(3).FindControl("ddlWWarrantyPeriodType"), DropDownList).Style.Add("display", "auto")
    '                            CType(gvWSpecificParts.Rows(j).Cells(3).FindControl("ddlWWarrantyPeriodType"), DropDownList).Items.FindByValue(RemoveLiterals(RemoveLiterals(dt.Rows(i).Item("gwd_pwarranty2").ToString))).Selected = True
    '                            CType(gvWSpecificParts.Rows(j).Cells(3).FindControl("txtWWarrantyDescription"), TextBox).Style.Add("display", "auto")
    '                            CType(gvWSpecificParts.Rows(j).Cells(3).FindControl("txtWWarrantyDescription"), TextBox).Text = dt.Rows(i).Item("gwd_wdesc").ToString
    '                        End If
    '                    Next
    '                Next

    '                If dt.Rows.Count = gvWSpecificParts.Rows.Count Then
    '                    CType(gvWSpecificParts.HeaderRow.Cells(0).FindControl("CheckBox1"), CheckBox).Checked = True
    '                End If

    '            End If


    '        End If
    '    Else
    '        btnGWSave.Visible = True
    '        btnGWUpdate.Visible = False
    '        btnguwarrantySubmit.Visible = True
    '        btnguwarrantyUpdate.Visible = False
    '    End If
    'End Sub
    Public Sub fillGWSparePartsGrid()
        Dim dt As DataTable
        dt = ReturnDataTable("SELECT     Product_Master.Product_Name, OtherDetail_SpareParts.ODTSP_SparePartId FROM         OtherDetail_SpareParts INNER JOIN                       Product_Master ON OtherDetail_SpareParts.ODTSP_SparePartId = Product_Master.Product_Kid WHERE     (OtherDetail_SpareParts.ODTSP_ProductId = '" & RemoveLiterals(Session("ProductID").ToString) & "') AND (OtherDetail_SpareParts.ODTSP_IsDeleted = N'0')")
        gvWSpecificParts.Columns(1).Visible = True
        gvWSpecificParts.DataSource = dt
        gvWSpecificParts.DataBind()
        gvWSpecificParts.Columns(1).Visible = False
        dt.Clear()
    End Sub
    Protected Sub gvWSpecificParts_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvWSpecificParts.RowDataBound
        If e.Row.RowType = DataControlRowType.DataRow Then
            Dim txtPeriod As TextBox
            Dim ddlPeriodType As DropDownList
            Dim txtDescription As TextBox
            Dim chk2 As CheckBox
            Dim kid As String
            kid = e.Row.Cells(1).Text
            chk2 = CType(e.Row.Cells(0).FindControl("CheckBox2"), CheckBox)
            txtPeriod = CType(e.Row.Cells(3).FindControl("txtWWarrantyPeriod"), TextBox)
            ddlPeriodType = CType(e.Row.Cells(4).FindControl("ddlWWarrantyPeriodType"), DropDownList)
            txtDescription = CType(e.Row.Cells(5).FindControl("txtWWarrantyDescription"), TextBox)
            CType(e.Row.Cells(3).FindControl("txtWWarrantyPeriod"), TextBox).Style.Add("display", "none")
            CType(e.Row.Cells(4).FindControl("ddlWWarrantyPeriodType"), DropDownList).Style.Add("display", "none")
            CType(e.Row.Cells(5).FindControl("txtWWarrantyDescription"), TextBox).Style.Add("display", "none")
            CType(e.Row.Cells(0).FindControl("CheckBox2"), CheckBox).Attributes.Add("onclick", "return chkrow(this," & e.Row.RowIndex & ")")
            FillComboWithSelectJJ("SELECT Unit_Kid, Unit_Name, Unit_Flag FROM Unit_Master WHERE Unit_Flag = N'Days' AND Unit_CompanyId = '" & Session("g_Company") & "' AND Unit_IsDeleted = N'0'", CType(e.Row.Cells(4).FindControl("ddlWWarrantyPeriodType"), DropDownList), "Select Type")
            Dim str As String
            str = ""
        ElseIf e.Row.RowType = DataControlRowType.Header Then
            Dim chk1 As CheckBox
            chk1 = CType(e.Row.Cells(0).FindControl("CheckBox1"), CheckBox)
            CType(e.Row.Cells(0).FindControl("CheckBox1"), CheckBox).Attributes.Add("onclick", "return chkHeader(this)")
        End If
    End Sub
    'Protected Sub btnGWSave_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGWSave.Click
    '    Try

    '        Dim count As Integer
    '        Dim i As Integer
    '        count = 1
    '        Dim ProductKID(10), Period(10), PeriodType(10), Description(10) As String
    '        If rblWWarrantyFor.SelectedItem.Value = "Specific Parts" And gvWSpecificParts.Rows.Count > 0 Then
    '            For i = 0 To gvWSpecificParts.Rows.Count - 1
    '                If (CType(gvWSpecificParts.Rows(i).Cells(0).FindControl("CheckBox2"), CheckBox).Checked = True) Then
    '                    count = count + 1
    '                    ProductKID(i) = gvWSpecificParts.Rows(i).Cells(1).Text
    '                    Period(i) = CType(gvWSpecificParts.Rows(i).Cells(3).FindControl("txtWWarrantyPeriod"), TextBox).Text
    '                    PeriodType(i) = CType(gvWSpecificParts.Rows(i).Cells(4).FindControl("ddlWWarrantyPeriodType"), DropDownList).SelectedItem.Value.ToString
    '                    Description(i) = CType(gvWSpecificParts.Rows(i).Cells(5).FindControl("txtWWarrantyDescription"), TextBox).Text
    '                End If
    '            Next
    '            count = count - 1
    '        End If

    '        For i = 0 To count - 1

    '            Dim con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))
    '            Dim strproc As String = "Product_GuarantyWarrantyDetails_Proc"
    '            Dim cmd As New SqlCommand(strproc, con)
    '            cmd.CommandType = CommandType.StoredProcedure
    '            cmd.Parameters.Add(New SqlParameter("@gwd_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me).Trim
    '            cmd.Parameters.Add(New SqlParameter("@gwd_Code", SqlDbType.NVarChar, 25)).Value = GenerateCodeGW(gwcode).ToString()
    '            cmd.Parameters.Add(New SqlParameter("@gwd_Type", SqlDbType.NVarChar, 20)).Value = rblGW.SelectedItem.Value.ToString
    '            cmd.Parameters.Add(New SqlParameter("@gwd_ProductId", SqlDbType.NVarChar, 18)).Value = Session("ProductId").ToString.Trim

    '            If rblGW.SelectedItem.Value = "Guaranty" Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee1", SqlDbType.NVarChar, 18)).Value = txtGPeriod.Text.Trim
    '                cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee2", SqlDbType.NVarChar, 18)).Value = ddlGPeriodType.SelectedValue.Trim
    '                cmd.Parameters.Add(New SqlParameter("@gwd_Gdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtGDescription.Text)
    '            Else

    '                cmd.Parameters.Add(New SqlParameter("@gwd_wtype", SqlDbType.NVarChar, 50)).Value = rblWWarrantyType.SelectedItem.Value.ToString

    '                If (rblWWarrantyType.SelectedValue = "Carry In") Then
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rblWCarryIn.SelectedItem.Value.ToString
    '                End If
    '                cmd.Parameters.Add(New SqlParameter("@gwd_wfor", SqlDbType.NVarChar, 50)).Value = rblWWarrantyFor.SelectedItem.Value.ToString
    '                If (rblWWarrantyFor.SelectedValue = "Specific Parts") Then
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = ProductKID(i).ToString
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = Period(i).ToString
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = PeriodType(i).ToString()
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = Description(i).ToString
    '                Else
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = Session("ProductID").ToString
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = txtWCompletePeriod.Text.ToString
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = ddlWCompletePeriodType.SelectedItem.Value.ToString
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = txtWCompleteDescription.Text.ToString
    '                End If
    '            End If
    '            cmd.Parameters.Add(New SqlParameter("@gwd_FinancialYearId", SqlDbType.NVarChar, 25)).Value = Session("g_FinYear").ToString.Trim
    '            cmd.Parameters.Add(New SqlParameter("@gwd_CompanyId", SqlDbType.NVarChar, 10)).Value = Session("g_Company").Trim
    '            cmd.Parameters.Add(New SqlParameter("@gwd_UserId", SqlDbType.NVarChar, 10)).Value = Session("g_User").Trim
    '            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 10)).Value = Me.Title.ToString.Trim
    '            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 10)).Value = "Insert"

    '            con.Open()
    '            cmd.ExecuteNonQuery()
    '            con.Close()
    '            'Fill_Grid("Select * From Product_GuarantyWarrantydetails Where gwd_CompanyId = '" & Session("g_Company").ToString & "' and gwd_IsDeleted='0' and gwd_ProductId= '" & Session("ProductId").ToString.Trim & "'", gvWarranty)
    '            'GetGWDataTable()
    '            'EnableControlsGW(True)

    '        Next
    '        getexistingGW()
    '        displayone(tblGuatantyWarranty)
    '        CreateMessageAlert(Me, "Guaranty / Warranty Saved successfully.!", "strkeyval")
    '        'MultiView2.ActiveViewIndex = -1
    '    Catch ex As Exception
    '    End Try
    'End Sub
    'Protected Sub btnGWUpdate_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGWUpdate.Click
    '    Try

    '        ExecuteQuery("delete from Product_GuarantyWarrantydetails where gwd_ProductId ='" & RemoveLiterals(Session("ProductID").ToString) & "'")

    '        Dim count As Integer
    '        Dim i As Integer
    '        count = 1
    '        Dim ProductKID(10), Period(10), PeriodType(10), Description(10) As String
    '        'Dim ExistingKID(10), ExistingCode(10) As String

    '        'Dim dt As DataTable
    '        'dt = ReturnDataTable("Select gwd_Kid, gwd_Code  from Product_GuarantyWarrantyDetails where gwd_ProductId='" & RemoveLiterals(Session("ProductID").ToString) & "'")
    '        'If dt.Rows.Count > 1 Then

    '        'Else
    '        '    ExistingKID(0) = dt.Rows(0).Item("gwd_Kid").ToString
    '        '    ExistingCode(0) = dt.Rows(0).Item("gwd_Code").ToString

    '        'End If

    '        If rblWWarrantyFor.SelectedItem.Value = "Specific Parts" And gvWSpecificParts.Rows.Count > 0 Then
    '            For i = 0 To gvWSpecificParts.Rows.Count - 1
    '                If (CType(gvWSpecificParts.Rows(i).Cells(0).FindControl("CheckBox2"), CheckBox).Checked = True) Then
    '                    count = count + 1
    '                    ProductKID(i) = gvWSpecificParts.Rows(i).Cells(1).Text
    '                    Period(i) = CType(gvWSpecificParts.Rows(i).Cells(3).FindControl("txtWWarrantyPeriod"), TextBox).Text
    '                    PeriodType(i) = CType(gvWSpecificParts.Rows(i).Cells(4).FindControl("ddlWWarrantyPeriodType"), DropDownList).SelectedItem.Value.ToString
    '                    Description(i) = CType(gvWSpecificParts.Rows(i).Cells(5).FindControl("txtWWarrantyDescription"), TextBox).Text
    '                End If
    '            Next
    '            count = count - 1
    '        End If

    '        For i = 0 To count - 1

    '            Dim con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))
    '            Dim strproc As String = "Product_GuarantyWarrantyDetails_Proc"
    '            Dim cmd As New SqlCommand(strproc, con)
    '            cmd.CommandType = CommandType.StoredProcedure
    '            cmd.Parameters.Add(New SqlParameter("@gwd_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me).Trim
    '            cmd.Parameters.Add(New SqlParameter("@gwd_Code", SqlDbType.NVarChar, 25)).Value = GenerateCodeGW(gwcode).ToString()
    '            cmd.Parameters.Add(New SqlParameter("@gwd_Type", SqlDbType.NVarChar, 20)).Value = rblGW.SelectedItem.Value.ToString
    '            cmd.Parameters.Add(New SqlParameter("@gwd_ProductId", SqlDbType.NVarChar, 18)).Value = Session("ProductId").ToString.Trim

    '            If rblGW.SelectedItem.Value = "Guaranty" Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee1", SqlDbType.NVarChar, 18)).Value = txtGPeriod.Text.Trim
    '                cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee2", SqlDbType.NVarChar, 18)).Value = ddlGPeriodType.SelectedValue.Trim
    '                cmd.Parameters.Add(New SqlParameter("@gwd_Gdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtGDescription.Text)
    '            Else

    '                cmd.Parameters.Add(New SqlParameter("@gwd_wtype", SqlDbType.NVarChar, 50)).Value = rblWWarrantyType.SelectedItem.Value.ToString

    '                If (rblWWarrantyType.SelectedValue = "Carry In") Then
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rblWCarryIn.SelectedItem.Value.ToString
    '                End If
    '                cmd.Parameters.Add(New SqlParameter("@gwd_wfor", SqlDbType.NVarChar, 50)).Value = rblWWarrantyFor.SelectedItem.Value.ToString
    '                If (rblWWarrantyFor.SelectedValue = "Specific Parts") Then
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = ProductKID(i).ToString
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = Period(i).ToString
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = PeriodType(i).ToString()
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = Description(i).ToString
    '                Else
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = Session("ProductID").ToString
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = txtWCompletePeriod.Text.ToString
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = ddlWCompletePeriodType.SelectedItem.Value.ToString
    '                    cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = txtWCompleteDescription.Text.ToString
    '                End If
    '            End If
    '            cmd.Parameters.Add(New SqlParameter("@gwd_FinancialYearId", SqlDbType.NVarChar, 25)).Value = Session("g_FinYear").ToString.Trim
    '            cmd.Parameters.Add(New SqlParameter("@gwd_CompanyId", SqlDbType.NVarChar, 10)).Value = Session("g_Company").Trim
    '            cmd.Parameters.Add(New SqlParameter("@gwd_UserId", SqlDbType.NVarChar, 10)).Value = Session("g_User").Trim
    '            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 10)).Value = Me.Title.ToString.Trim
    '            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 10)).Value = "Insert"

    '            con.Open()
    '            cmd.ExecuteNonQuery()
    '            con.Close()
    '            'Fill_Grid("Select * From Product_GuarantyWarrantydetails Where gwd_CompanyId = '" & Session("g_Company").ToString & "' and gwd_IsDeleted='0' and gwd_ProductId= '" & Session("ProductId").ToString.Trim & "'", gvWarranty)
    '            'GetGWDataTable()
    '            'EnableControlsGW(True)

    '        Next
    '        getexistingGW()
    '        displayone(tblGuatantyWarranty)
    '        CreateMessageAlert(Me, "Guaranty / Warranty Updated successfully.!", "strkeyval")
    '        'MultiView2.ActiveViewIndex = -1
    '    Catch ex As Exception
    '    End Try
    'End Sub

    Protected Sub btnguwarrantySubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnguwarrantySubmit.Click

        Dim strImageName As String = ""
        '----------------------------------
        'If rblUserManual.SelectedValue = "Yes" Then
        If (FileUploadguwarranty.HasFile) Then
            Dim fileType As String = Path.GetExtension(FileUploadguwarranty.FileName).ToLower
            'If fileType = ".pdf" Then
            strImageName = Final_FileUpload(FileUploadguwarranty, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
            'Else
            '    lblResult.Visible = True
            '    lblResult.Text = "Please select .pdf only!"
            '    UserManUpload.Focus()
            '    Exit Sub
            'End If
        Else
        'lblResult.Visible = True
        'lblResult.Text = "Please select .pdf, .gif, .jpg file ... !!!"
        'Exit Sub
        End If
        'ElseIf rblUserManual.SelectedValue = "No" Then
        'strImageName = ""
        'Else
        ''lblCatError.Visible = True
        ''lblCatError.Text = "Please Select Yes Or No..!!"
        'Exit Sub
        'End If

        Dim con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))
        Dim strproc As String = "Product_GuarantyWarrantyDetails_Proc"
        Dim cmd As New SqlCommand(strproc, con)
        cmd.CommandType = CommandType.StoredProcedure
        cmd.Parameters.Add(New SqlParameter("@gwd_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me).Trim
        cmd.Parameters.Add(New SqlParameter("@gwd_Code", SqlDbType.NVarChar, 25)).Value = GenerateCodeGW(gwcode).ToString()
        cmd.Parameters.Add(New SqlParameter("@gwd_Type", SqlDbType.NVarChar, 20)).Value = rblGW.SelectedItem.Value.ToString
        cmd.Parameters.Add(New SqlParameter("@gwd_ProductId", SqlDbType.NVarChar, 18)).Value = Session("ProductId").ToString.Trim
        cmd.Parameters.Add(New SqlParameter("@gwd_FileName", SqlDbType.NVarChar, 50)).Value = strImageName.ToString 'Session("ProductId").ToString.Trim

        If rblGW.SelectedItem.Value = "Guaranty" Then
            cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee1", SqlDbType.NVarChar, 18)).Value = txtGPeriod.Text.Trim
            cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee2", SqlDbType.NVarChar, 18)).Value = ddlGPeriodType.SelectedValue.Trim
            'cmd.Parameters.Add(New SqlParameter("@gwd_Gdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtGDescription.Text)
        Else
            cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = txtWPeriod.Text.ToString
            cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = ddlWPeriodType.SelectedItem.Value.ToString
            'cmd.Parameters.Add(New SqlParameter("@gwd_wtype", SqlDbType.NVarChar, 50)).Value = rblWWarrantyType.SelectedItem.Value.ToString

            'If (rblWWarrantyType.SelectedValue = "Carry In") Then
            '    cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rblWCarryIn.SelectedItem.Value.ToString
            'End If
            'cmd.Parameters.Add(New SqlParameter("@gwd_wfor", SqlDbType.NVarChar, 50)).Value = rblWWarrantyFor.SelectedItem.Value.ToString
            'If (rblWWarrantyFor.SelectedValue = "Specific Parts") Then
            '    'cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = ProductKID(i).ToString
            '    'cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = Period(i).ToString
            '    'cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = PeriodType(i).ToString()
            '    'cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = Description(i).ToString
            'Else
            '    cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = Session("ProductID").ToString
            '    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = txtWCompletePeriod.Text.ToString
            '    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = ddlWCompletePeriodType.SelectedItem.Value.ToString
            '    cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = txtWCompleteDescription.Text.ToString
            'End If
        End If
        cmd.Parameters.Add(New SqlParameter("@gwd_OMT", SqlDbType.NVarChar, 25)).Value = rblGWIsTraining.SelectedValue.ToString
        cmd.Parameters.Add(New SqlParameter("@gwd_AMC", SqlDbType.NVarChar, 25)).Value = rblGWIsContract.SelectedValue.ToString 'Session("g_FinYear").ToString.Trim
        cmd.Parameters.Add(New SqlParameter("@gwd_FinancialYearId", SqlDbType.NVarChar, 25)).Value = Session("g_FinYear").ToString.Trim
        cmd.Parameters.Add(New SqlParameter("@gwd_CompanyId", SqlDbType.NVarChar, 10)).Value = Session("g_Company").Trim
        cmd.Parameters.Add(New SqlParameter("@gwd_UserId", SqlDbType.NVarChar, 10)).Value = Session("g_User").Trim
        cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 10)).Value = Me.Title.ToString.Trim
        cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 10)).Value = "Insert"

        con.Open()
        cmd.ExecuteNonQuery()
        con.Close()
        GetExistingGWNew()
        displayone(tblguwarranty)
        CreateMessageAlert(Me, "Guaranty / Warranty Saved successfully.!", "strkeyval")
    End Sub

    Protected Sub btnguwarrantyUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnguwarrantyUpdate.Click
        Dim strImageName As String = ""
        Dim kid As String = ReturnValue("Select gwd_kid from Product_GuarantyWarrantydetails where gwd_ProductId='" & Session("ProductID").ToString & "'and gwd_Isdeleted ='0'")
        '----------------------------------
        'If rblUserManual.SelectedValue = "Yes" Then
        If (FileUploadguwarranty.HasFile) Then
            'Dim fileType As String = Path.GetExtension(FileUploadguwarranty.FileName).ToLower
            'If fileType = ".pdf" Then
            strImageName = Final_FileUpload(FileUploadguwarranty, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
            'Else
            '    lblResult.Visible = True
            '    lblResult.Text = "Please select .pdf only!"
            '    UserManUpload.Focus()
            '    Exit Sub
            'End If
        Else
            'lblResult.Visible = True
            'lblResult.Text = "Please select .pdf, .gif, .jpg file ... !!!"
            'Exit Sub

            strImageName = ReturnValue("select gwd_FileName from  Product_GuarantyWarrantydetails where gwd_kid='" & RemoveLiterals(kid) & "' and gwd_ProductId='" & RemoveLiterals(Session("ProductId").ToString.Trim & "'"))
        End If
        'ElseIf rblUserManual.SelectedValue = "No" Then
        'strImageName = ""
        'Else
        ''lblCatError.Visible = True
        ''lblCatError.Text = "Please Select Yes Or No..!!"
        'Exit Sub
        'End If

        Dim con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))
        Dim strproc As String = "Product_GuarantyWarrantyDetails_Proc"
        Dim cmd As New SqlCommand(strproc, con)
        cmd.CommandType = CommandType.StoredProcedure
        cmd.Parameters.Add(New SqlParameter("@gwd_Kid", SqlDbType.NVarChar, 10)).Value = RemoveLiterals(kid)
        cmd.Parameters.Add(New SqlParameter("@gwd_Code", SqlDbType.NVarChar, 25)).Value = ReturnValue("Select gwd_Code from Product_GuarantyWarrantydetails where gwd_ProductId='" & Session("ProductID").ToString & "'and gwd_Isdeleted ='0'")
        cmd.Parameters.Add(New SqlParameter("@gwd_Type", SqlDbType.NVarChar, 20)).Value = rblGW.SelectedItem.Value.ToString
        cmd.Parameters.Add(New SqlParameter("@gwd_ProductId", SqlDbType.NVarChar, 18)).Value = Session("ProductId").ToString.Trim
        cmd.Parameters.Add(New SqlParameter("@gwd_FileName", SqlDbType.NVarChar, 50)).Value = strImageName.ToString 'Session("ProductId").ToString.Trim
        If rblGW.SelectedItem.Value = "Guaranty" Then
            cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee1", SqlDbType.NVarChar, 18)).Value = txtGPeriod.Text.Trim
            cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee2", SqlDbType.NVarChar, 18)).Value = ddlGPeriodType.SelectedValue.Trim
            ExecuteQuery("Update Product_GuarantyWarrantydetails set gwd_Type = N'Guaranty', gwd_pwarranty1=NULL,gwd_pwarranty2=NULL  WHERE     (gwd_Kid = N'" & RemoveLiterals(kid) & "') AND (gwd_Type = N'Warranty') AND (gwd_ProductId = N'" & Session("ProductId").ToString.Trim & "')")  'By Pankaj Mishra 09.02.2009
            'cmd.Parameters.Add(New SqlParameter("@gwd_Gdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtGDescription.Text)
        Else
            cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = txtWPeriod.Text.ToString
            cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = ddlWPeriodType.SelectedItem.Value.ToString
            ExecuteQuery("Update Product_GuarantyWarrantydetails set gwd_Type = N'Warranty', gwd_pguarentee1=NULL,gwd_pguarentee2=NULL WHERE     (gwd_Kid = N'" & RemoveLiterals(kid) & "') AND (gwd_Type = N'Guaranty') AND (gwd_ProductId = N'" & Session("ProductId").ToString.Trim & "')")  'By Pankaj Mishra 09.02.2009
            'cmd.Parameters.Add(New SqlParameter("@gwd_wtype", SqlDbType.NVarChar, 50)).Value = rblWWarrantyType.SelectedItem.Value.ToString

            'If (rblWWarrantyType.SelectedValue = "Carry In") Then
            '    cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rblWCarryIn.SelectedItem.Value.ToString
            'End If
            'cmd.Parameters.Add(New SqlParameter("@gwd_wfor", SqlDbType.NVarChar, 50)).Value = rblWWarrantyFor.SelectedItem.Value.ToString
            'If (rblWWarrantyFor.SelectedValue = "Specific Parts") Then
            '    'cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = ProductKID(i).ToString
            '    'cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = Period(i).ToString
            '    'cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = PeriodType(i).ToString()
            '    'cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = Description(i).ToString
            'Else
            '    cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = Session("ProductID").ToString
            '    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = txtWCompletePeriod.Text.ToString
            '    cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = ddlWCompletePeriodType.SelectedItem.Value.ToString
            '    cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = txtWCompleteDescription.Text.ToString
            'End If
        End If
        cmd.Parameters.Add(New SqlParameter("@gwd_OMT", SqlDbType.NVarChar, 25)).Value = rblGWIsTraining.SelectedValue.ToString
        cmd.Parameters.Add(New SqlParameter("@gwd_AMC", SqlDbType.NVarChar, 25)).Value = rblGWIsContract.SelectedValue.ToString 'Session("g_FinYear").ToString.Trim
        cmd.Parameters.Add(New SqlParameter("@gwd_FinancialYearId", SqlDbType.NVarChar, 25)).Value = Session("g_FinYear").ToString.Trim
        cmd.Parameters.Add(New SqlParameter("@gwd_CompanyId", SqlDbType.NVarChar, 10)).Value = Session("g_Company").Trim
        cmd.Parameters.Add(New SqlParameter("@gwd_UserId", SqlDbType.NVarChar, 10)).Value = Session("g_User").Trim
        cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 10)).Value = Me.Title.ToString.Trim
        cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 10)).Value = "Update"

        con.Open()
        cmd.ExecuteNonQuery()
        con.Close()
        GetExistingGWNew()
        displayone(tblguwarranty)
        CreateMessageAlert(Me, "Guaranty / Warranty Updated successfully.!", "strkeyval")
    End Sub

    '=================== That must be removed =============================
    Public Function GenerateCodeGW(ByRef code As String) As String
        Try
            Dim i As String
            Dim qry As String
            'txtProductFeaKid.Text = NewPrimaryKey(Me)
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "GWC" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from Product_GuarantyWarrantyDetails where gwd_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                    Return code
                    Exit Function
                Else
                    Return code
                    Exit Function
                End If
            End While
            Return code
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Function
    Public Sub Fill_ComboNoName(ByVal strQuery As String, ByVal ddl As DropDownList)
        Try
            Dim SqlCon As New SqlConnection(ConfigurationManager.AppSettings("ConnectionString"))  ' Declare connection Object
            Dim SqlAdapter As New SqlDataAdapter      ' Declare Dataadapter Object
            Dim SqlDataSet As New Data.DataSet        ' Declare Dataset Object
            Dim DT As New Data.DataTable              ' Declare Datatable Oblect
            Dim sqlCmd As New SqlCommand(strQuery, SqlCon) ' Declare Command Object
            Dim i As Integer

            SqlCon.Open()                                 ' Open Connection
            SqlAdapter.SelectCommand = sqlCmd             ' Set command to Adapter
            SqlAdapter.Fill(SqlDataSet, "TableName")      ' Links Adapter with DataSet
            DT = SqlDataSet.Tables("TableName")           ' Get datatable from dataset
            sqlCmd.ExecuteNonQuery()                      ' Executes Command

            ddl.Items.Clear()                             ' Clear the Items of DropDownList  
            ddl.Items.Insert(0, New ListItem("Select", "Select"))     ' Insert Blank Row at index 0  

            For i = 0 To DT.Rows.Count - 1
                ddl.Items.Insert(i + 1, New ListItem(DT.Rows(i).Item(1).ToString & "-" & DT.Rows(i).Item(2).ToString, DT.Rows(i).Item(0).ToString))  '' Add Items(code,Exact Value) into DropDownList
            Next i
            ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(""))     '' Assigning 0 th Index to DropDownList

            SqlCon.Close()                                '' Close Connection Object
            SqlCon.Dispose()                              '' Dispose Connection Oblect
            sqlCmd.Dispose()                              '' Dispose command object
            SqlAdapter.Dispose()                          '' Dispose adapter Object
            SqlDataSet.Dispose()                          '' Dispose dataset Object
            DT.Dispose()                                  '' Dispose datatable Object
        Catch ex As Exception
            CreateMessageAlert(ddl.Page, ex.Message, "StrKeyVal")     'Display the Error Message
            ddl = Nothing
        End Try
    End Sub
    'Public Sub GetGWDataTable()
    '    Dim dt As DataTable = ReturnDataTable("Select * From Product_GuarantyWarrantydetails Where gwd_CompanyId = '" & Session("g_Company").ToString & "' and gwd_IsDeleted='0' and gwd_ProductId= '" & Session("ProductId").ToString.Trim & "' ")
    '    Dim i As Integer
    '    If dt.Rows.Count > 0 Then
    '        For i = 0 To dt.Rows.Count - 1
    '            Dim lbl1 As Label = CType(gvWarranty.Rows(i).Cells(1).FindControl("lblGuaranteee"), Label)
    '            lbl1.Text = dt.Rows(i).Item("gwd_pguarentee1").ToString
    '            lbl1.Text &= " " & ReturnValue("SELECT Unit_Name FROM Unit_Master WHERE Unit_Kid='" & dt.Rows(i).Item("gwd_pguarentee2").ToString & "' and  Unit_IsDeleted = N'0'")

    '            Dim lbl2 As Label = CType(gvWarranty.Rows(i).Cells(1).FindControl("lblWarranty"), Label)
    '            lbl2.Text = dt.Rows(i).Item("gwd_pwarranty1").ToString
    '            lbl2.Text &= " " & ReturnValue("SELECT Unit_Name FROM Unit_Master WHERE Unit_Kid='" & dt.Rows(i).Item("gwd_pwarranty2").ToString & "' and  Unit_IsDeleted = N'0'")

    '            Dim lbl3 As Label = CType(gvWarranty.Rows(i).Cells(1).FindControl("lblWarrantyType"), Label)
    '            If dt.Rows(i).Item("gwd_wtype").ToString = "On Site" Then
    '                lbl3.Text = "On Site"
    '            Else
    '                lbl3.Text = "Carry In"
    '            End If

    '            Dim lbl4 As Label = CType(gvWarranty.Rows(i).Cells(1).FindControl("lblCarryIn"), Label)
    '            lbl4.Text = dt.Rows(i).Item("gwd_CarryIn").ToString

    '            Dim lbl5 As Label = CType(gvWarranty.Rows(i).Cells(1).FindControl("lblWarrantyFor"), Label)
    '            If dt.Rows(i).Item("gwd_wfor").ToString = "Complete Unit" Then
    '                lbl5.Text = "Complete Unit"
    '            Else
    '                lbl5.Text = "Specific Parts"
    '            End If


    '            Dim lbl6 As Label = CType(gvWarranty.Rows(i).Cells(1).FindControl("lblListOfParts"), Label)
    '            lbl6.Text = dt.Rows(i).Item("gwd_PartNo").ToString & "-" & dt.Rows(i).Item("gwd_PartName").ToString

    '            'Dim lbl7 As Label = CType(gvWarranty.Rows(i).Cells(1).FindControl("lblListOfParts"), Label)
    '            'lbl7.Text = dt.Rows(i).Item("gwd_PartNo").ToString & "-" & dt.Rows(i).Item("gwd_PartName").ToString

    '        Next
    '        'EnableControlsGW(False)
    '        dt.Clear()
    '    Else
    '        'EnableControlsGW(True)
    '    End If
    'End Sub
    'Protected Sub gvWarranty_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvWarranty.SelectedIndexChanged

    '    lblGWResult.Visible = False

    '    Dim Kid As String = gvWarranty.SelectedDataKey.Value.ToString

    '    Dim dt As DataTable = ReturnDataTable("Select * From Product_GuarantyWarrantydetails Where gwd_KId = '" & Kid.ToString & "' ")

    '    txtGDesc.Text = dt.Rows(0).Item("gwd_Gdesc").ToString()
    '    txtWDesc.Text = dt.Rows(0).Item("gwd_Wdesc").ToString()

    '    txtgurrant1.Text = dt.Rows(0).Item("gwd_pguarentee1").ToString
    '    Try
    '        ddlgaurntType.ClearSelection()
    '        ddlgaurntType.Items.FindByValue(dt.Rows(0).Item("gwd_pguarentee2")).Selected = True
    '    Catch
    '    End Try
    '    txtWarrant.Text = dt.Rows(0).Item("gwd_pwarranty1").ToString
    '    Try
    '        ddlWarrantType.ClearSelection()
    '        ddlWarrantType.Items.FindByValue(dt.Rows(0).Item("gwd_pwarranty2")).Selected = True
    '    Catch
    '    End Try

    '    If dt.Rows(0).Item("gwd_wtype").ToString = "On Site" Then
    '        rdoOnSite.Checked = True
    '        rdoCarryIn.Checked = False
    '        rwCarryIn.Visible = False
    '    ElseIf dt.Rows(0).Item("gwd_wtype").ToString = "Carry In" Then
    '        rdoCarryIn.Checked = True
    '        rdoOnSite.Checked = False
    '        rwCarryIn.Visible = True
    '        If dt.Rows(0).Item("gwd_CarryIn").ToString = "Service Station" Then
    '            rdoServiceStation.Checked = True
    '            rdoFactory.Checked = False
    '            rdoAnySupplierLocation.Checked = False
    '        ElseIf dt.Rows(0).Item("gwd_CarryIn").ToString = "Factory" Then
    '            rdoFactory.Checked = True
    '            rdoServiceStation.Checked = False
    '            rdoAnySupplierLocation.Checked = False
    '        ElseIf dt.Rows(0).Item("gwd_CarryIn").ToString = "Any Supplier Location" Then
    '            rdoAnySupplierLocation.Checked = True
    '            rdoServiceStation.Checked = False
    '            rdoFactory.Checked = False
    '        End If
    '    End If

    '    If dt.Rows(0).Item("gwd_wfor").ToString = "Complete Unit" Then
    '        rdoCompleteUnit.Checked = True
    '        rdoSpecificParts.Checked = False
    '        rwWarrantyFor.Visible = False
    '    ElseIf dt.Rows(0).Item("gwd_wfor").ToString = "Specific Parts" Then
    '        rdoSpecificParts.Checked = True
    '        rdoCompleteUnit.Checked = False
    '        rwWarrantyFor.Visible = True
    '        ddlGWPartNoPartName.ClearSelection()
    '        Dim PartNoPartName As String
    '        PartNoPartName = dt.Rows(0).Item("gwd_PartNo").ToString & "-" & dt.Rows(0).Item("gwd_PartName").ToString
    '        ddlGWPartNoPartName.Items.FindByText(PartNoPartName).Selected = True
    '    End If

    '    dt.Clear()

    'End Sub
    'Protected Sub rdoOnSite_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdoOnSite.CheckedChanged
    '    rwCarryIn.Visible = False
    'End Sub
    'Protected Sub rdoCarryIn_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdoCarryIn.CheckedChanged
    '    rwCarryIn.Visible = True
    'End Sub
    'Protected Sub rdoCompleteUnit_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
    '    rwWarrantyFor.Visible = False
    '    ddlGWPartNoPartName.ClearSelection()
    'End Sub
    'Protected Sub rdoSpecificParts_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
    '    rwWarrantyFor.Visible = True
    '    ddlGWPartNoPartName.ClearSelection()
    'End Sub
    'Protected Sub btnGWAddMore_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    '    Try


    '        'If Val(txtgurrant1.Text) <= 0 Then
    '        '    lblResult.Visible = True
    '        '    lblResult.Text = "Product guarantee time must be greater than zero."
    '        '    Exit Sub
    '        'Else
    '        '    lblResult.Visible = True
    '        'End If

    '        'If Val(txtWarrant.Text) <= 0 Then
    '        '    lblResult.Visible = True
    '        '    lblResult.Text = "Product warranty time must be greater than zero."
    '        '    Exit Sub
    '        'Else
    '        '    lblResult.Visible = True
    '        'End If



    '        Dim con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))
    '        Dim strproc As String = "Product_GuarantyWarrantyDetails_Proc"
    '        Dim WType As String
    '        Dim WFor As String
    '        If rdoOnSite.Checked = True Then
    '            WType = rdoOnSite.Text
    '        End If
    '        If rdoCarryIn.Checked = True Then
    '            WType = rdoCarryIn.Text
    '        End If

    '        Dim partno As String
    '        Dim partname As String
    '        If rdoCompleteUnit.Checked = True Then
    '            WFor = rdoCompleteUnit.Text
    '            partno = ""
    '            partname = ""
    '        End If
    '        If rdoSpecificParts.Checked = True Then
    '            WFor = rdoSpecificParts.Text
    '            Dim ddl As String = ddlGWPartNoPartName.SelectedItem.Value.ToString
    '            partno = ReturnValue("SELECT Spares_PartNumber FROM Spare_Parts WHERE Spares_Kid ='" & ddlGWPartNoPartName.SelectedItem.Value.ToString & "'")
    '            partname = ReturnValue("SELECT Spares_PartName FROM Spare_Parts WHERE Spares_Kid ='" & ddlGWPartNoPartName.SelectedItem.Value.ToString & "'")
    '        End If

    '        Dim cmd As New SqlCommand(strproc, con)
    '        cmd.CommandType = CommandType.StoredProcedure
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me).Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Code", SqlDbType.NVarChar, 25)).Value = GenerateCodeGW(gwcode).ToString()
    '        cmd.Parameters.Add(New SqlParameter("@gwd_ProductId", SqlDbType.NVarChar, 18)).Value = Session("ProductId").ToString.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee1", SqlDbType.NVarChar, 18)).Value = txtgurrant1.Text.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee2", SqlDbType.NVarChar, 18)).Value = ddlgaurntType.SelectedValue.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = txtWarrant.Text.Trim.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = ddlWarrantType.SelectedValue.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_wtype", SqlDbType.NVarChar, 50)).Value = WType.ToString
    '        If WType = "On Site" Then
    '            cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = "-"
    '        Else
    '            If rdoServiceStation.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoServiceStation.Text
    '            ElseIf rdoFactory.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoFactory.Text
    '            ElseIf rdoAnySupplierLocation.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoAnySupplierLocation.Text
    '            End If
    '        End If
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtWDesc.Text)
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Gdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtGDesc.Text)
    '        cmd.Parameters.Add(New SqlParameter("@gwd_wfor", SqlDbType.NVarChar, 50)).Value = Convert.ToString(WFor)
    '        cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = Convert.ToString(partno.Trim)
    '        cmd.Parameters.Add(New SqlParameter("@gwd_PartName", SqlDbType.NVarChar, 25)).Value = Convert.ToString(partname.Trim)
    '        cmd.Parameters.Add(New SqlParameter("@gwd_FinancialYearId", SqlDbType.NVarChar, 25)).Value = Session("g_FinYear").ToString.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_CompanyId", SqlDbType.NVarChar, 10)).Value = Session("g_Company").Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_UserId", SqlDbType.NVarChar, 10)).Value = Session("g_User").Trim
    '        cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = Me.Title.ToString.Trim
    '        cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 10)).Value = "Insert"

    '        con.Open()
    '        cmd.ExecuteNonQuery()
    '        con.Close()
    '        Fill_Grid("Select * From Product_GuarantyWarrantydetails Where gwd_CompanyId = '" & Session("g_Company").ToString & "' and gwd_IsDeleted='0' and gwd_ProductId= '" & Session("ProductId").ToString.Trim & "'", gvWarranty)
    '        GetGWDataTable()
    '        btnGuaranty_Click(Nothing, Nothing)
    '        'EnableControlsGW(True)

    '    Catch ex As Exception
    '        'CreateMessageAlert(Me, ex.Message, "StrKeyVal")
    '    End Try
    'End Sub
    'Protected Sub btnGWSave_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    '    Try

    '        If Val(txtgurrant1.Text) <= 0 Then
    '            lblResult.Visible = True
    '            lblResult.Text = "Product guarantee time must be greater than zero."
    '            Exit Sub
    '        Else
    '            lblResult.Visible = True
    '        End If

    '        If Val(txtWarrant.Text) <= 0 Then
    '            lblResult.Visible = True
    '            lblResult.Text = "Product warranty time must be greater than zero."
    '            Exit Sub
    '        Else
    '            lblResult.Visible = True
    '        End If



    '        Dim con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))
    '        Dim strproc As String = "Product_GuarantyWarrantyDetails_Proc"
    '        Dim WType As String
    '        Dim WFor As String
    '        If rdoOnSite.Checked = True Then
    '            WType = rdoOnSite.Text
    '        End If
    '        If rdoCarryIn.Checked = True Then
    '            WType = rdoCarryIn.Text
    '        End If

    '        Dim partno As String
    '        Dim partname As String
    '        If rdoCompleteUnit.Checked = True Then
    '            WFor = rdoCompleteUnit.Text
    '            partno = ""
    '            partname = ""
    '        End If
    '        If rdoSpecificParts.Checked = True Then
    '            WFor = rdoSpecificParts.Text
    '            Dim ddl As String = ddlGWPartNoPartName.SelectedItem.Value.ToString
    '            partno = ReturnValue("SELECT Spares_PartNumber FROM Spare_Parts WHERE Spares_Kid ='" & ddlGWPartNoPartName.SelectedItem.Value.ToString & "'")
    '            partname = ReturnValue("SELECT Spares_PartName FROM Spare_Parts WHERE Spares_Kid ='" & ddlGWPartNoPartName.SelectedItem.Value.ToString & "'")
    '        End If

    '        Dim cmd As New SqlCommand(strproc, con)
    '        cmd.CommandType = CommandType.StoredProcedure
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me).Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Code", SqlDbType.NVarChar, 25)).Value = GenerateCodeGW(gwcode).ToString()
    '        cmd.Parameters.Add(New SqlParameter("@gwd_ProductId", SqlDbType.NVarChar, 18)).Value = Session("ProductId").ToString.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee1", SqlDbType.NVarChar, 18)).Value = txtgurrant1.Text.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee2", SqlDbType.NVarChar, 18)).Value = ddlgaurntType.SelectedValue.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = txtWarrant.Text.Trim.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = ddlWarrantType.SelectedValue.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_wtype", SqlDbType.NVarChar, 50)).Value = WType.ToString
    '        If WType = "On Site" Then
    '            cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = "-"
    '        Else
    '            If rdoServiceStation.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoServiceStation.Text
    '            ElseIf rdoFactory.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoFactory.Text
    '            ElseIf rdoAnySupplierLocation.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoAnySupplierLocation.Text
    '            End If
    '        End If
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtWDesc.Text)
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Gdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtGDesc.Text)
    '        cmd.Parameters.Add(New SqlParameter("@gwd_wfor", SqlDbType.NVarChar, 50)).Value = WFor.ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = partno.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_PartName", SqlDbType.NVarChar, 25)).Value = partname.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_FinancialYearId", SqlDbType.NVarChar, 25)).Value = Session("g_FinYear").ToString.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_CompanyId", SqlDbType.NVarChar, 10)).Value = Session("g_Company").Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_UserId", SqlDbType.NVarChar, 10)).Value = Session("g_User").Trim
    '        cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 10)).Value = Me.Title.ToString.Trim
    '        cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 10)).Value = "Insert"

    '        con.Open()
    '        cmd.ExecuteNonQuery()
    '        con.Close()
    '        Fill_Grid("Select * From Product_GuarantyWarrantydetails Where gwd_CompanyId = '" & Session("g_Company").ToString & "' and gwd_IsDeleted='0' and gwd_ProductId= '" & Session("ProductId").ToString.Trim & "'", gvWarranty)
    '        GetGWDataTable()
    '        'EnableControlsGW(True)

    '    Catch ex As Exception
    '    End Try
    'End Sub
    'Protected Sub btnGWUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    '    Try

    '        If Val(txtgurrant1.Text) <= 0 Then
    '            lblResult.Visible = True
    '            lblResult.Text = "Product guarantee time must be greater than zero."
    '            Exit Sub
    '        Else
    '            lblResult.Visible = True
    '        End If

    '        If Val(txtWarrant.Text) <= 0 Then
    '            lblResult.Visible = True
    '            lblResult.Text = "Product warranty time must be greater than zero."
    '            Exit Sub
    '        Else
    '            lblResult.Visible = True
    '        End If


    '        Dim Kid As String = gvWarranty.SelectedDataKey.Value.ToString

    '        Dim dt As DataTable = ReturnDataTable("Select * From Product_GuarantyWarrantydetails Where gwd_KId = '" & Kid.ToString & "' ")

    '        Dim con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))
    '        Dim strproc As String = "Product_GuarantyWarrantyDetails_Proc"
    '        Dim WType As String
    '        Dim WFor As String
    '        If rdoOnSite.Checked = True Then
    '            WType = rdoOnSite.Text
    '        End If
    '        If rdoCarryIn.Checked = True Then
    '            WType = rdoCarryIn.Text
    '        End If

    '        Dim partno As String
    '        Dim partname As String
    '        If rdoCompleteUnit.Checked = True Then
    '            WFor = rdoCompleteUnit.Text
    '            partno = ""
    '            partname = ""
    '        End If
    '        If rdoSpecificParts.Checked = True Then
    '            WFor = rdoSpecificParts.Text
    '            Dim ddl As String = ddlGWPartNoPartName.SelectedItem.Value.ToString
    '            partno = ReturnValue("SELECT Spares_PartNumber FROM Spare_Parts WHERE Spares_Kid ='" & ddlGWPartNoPartName.SelectedItem.Value.ToString & "'")
    '            partname = ReturnValue("SELECT Spares_PartName FROM Spare_Parts WHERE Spares_Kid ='" & ddlGWPartNoPartName.SelectedItem.Value.ToString & "'")
    '        End If

    '        Dim cmd As New SqlCommand(strproc, con)
    '        cmd.CommandType = CommandType.StoredProcedure
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Kid", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("gwd_Kid").ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("gwd_Code").ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_ProductId", SqlDbType.NVarChar, 18)).Value = dt.Rows(0).Item("gwd_ProductId").ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee1", SqlDbType.NVarChar, 18)).Value = txtgurrant1.Text.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee2", SqlDbType.NVarChar, 18)).Value = ddlgaurntType.SelectedValue.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = txtWarrant.Text.Trim.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = ddlWarrantType.SelectedValue.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_wtype", SqlDbType.NVarChar, 50)).Value = WType.ToString
    '        If WType = "On Site" Then
    '            cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = "-"
    '        Else
    '            If rdoServiceStation.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoServiceStation.Text
    '            ElseIf rdoFactory.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoFactory.Text
    '            ElseIf rdoAnySupplierLocation.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoAnySupplierLocation.Text
    '            End If
    '        End If
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtWDesc.Text)
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Gdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtGDesc.Text)
    '        cmd.Parameters.Add(New SqlParameter("@gwd_wfor", SqlDbType.NVarChar, 50)).Value = WFor.ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = partno.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_PartName", SqlDbType.NVarChar, 25)).Value = partname.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_FinancialYearId", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("gwd_FinancialYearId").ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_CompanyId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("gwd_CompanyId").ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_UserId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("gwd_UserId").ToString
    '        cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 10)).Value = Me.Title.ToString.Trim
    '        cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 10)).Value = "Update"

    '        con.Open()
    '        cmd.ExecuteNonQuery()
    '        con.Close()
    '        Fill_Grid("Select * From Product_GuarantyWarrantydetails Where gwd_CompanyId = '" & Session("g_Company").ToString & "' and gwd_IsDeleted='0' and gwd_ProductId= '" & Session("ProductId").ToString.Trim & "'", gvWarranty)
    '        GetGWDataTable()
    '        btnGuaranty_Click(Nothing, Nothing)
    '        'EnableControlsGW(True)

    '    Catch ex As Exception
    '        lblGWResult.Visible = True
    '        lblGWResult.Text = "Please Select Record For Update ....... "
    '        btnGuaranty_Click(Nothing, Nothing)
    '    End Try
    'End Sub
    'Protected Sub btnGWDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    '    Try


    '        Dim Kid As String = gvWarranty.SelectedDataKey.Value.ToString

    '        Dim dt As DataTable = ReturnDataTable("Select * From Product_GuarantyWarrantydetails Where gwd_KId = '" & Kid.ToString & "' ")

    '        Dim con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))
    '        Dim strproc As String = "Product_GuarantyWarrantyDetails_Proc"
    '        Dim WType As String
    '        Dim WFor As String
    '        If rdoOnSite.Checked = True Then
    '            WType = rdoOnSite.Text
    '        End If
    '        If rdoCarryIn.Checked = True Then
    '            WType = rdoCarryIn.Text
    '        End If

    '        Dim partno As String
    '        Dim partname As String
    '        If rdoCompleteUnit.Checked = True Then
    '            WFor = rdoCompleteUnit.Text
    '            partno = ""
    '            partname = ""
    '        End If
    '        If rdoSpecificParts.Checked = True Then
    '            WFor = rdoSpecificParts.Text
    '            Dim ddl As String = ddlGWPartNoPartName.SelectedItem.Value.ToString
    '            partno = ReturnValue("SELECT Spares_PartNumber FROM Spare_Parts WHERE Spares_Kid ='" & ddlGWPartNoPartName.SelectedItem.Value.ToString & "'")
    '            partname = ReturnValue("SELECT Spares_PartName FROM Spare_Parts WHERE Spares_Kid ='" & ddlGWPartNoPartName.SelectedItem.Value.ToString & "'")
    '        End If

    '        Dim cmd As New SqlCommand(strproc, con)
    '        cmd.CommandType = CommandType.StoredProcedure
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Kid", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("gwd_Kid").ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("gwd_Code").ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_ProductId", SqlDbType.NVarChar, 18)).Value = dt.Rows(0).Item("gwd_ProductId").ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee1", SqlDbType.NVarChar, 18)).Value = txtgurrant1.Text.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pguarentee2", SqlDbType.NVarChar, 18)).Value = ddlgaurntType.SelectedValue.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty1", SqlDbType.NVarChar, 18)).Value = txtWarrant.Text.Trim.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_pwarranty2", SqlDbType.NVarChar, 10)).Value = ddlWarrantType.SelectedValue.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_wtype", SqlDbType.NVarChar, 50)).Value = WType.ToString
    '        If WType = "On Site" Then
    '            cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = "-"
    '        Else
    '            If rdoServiceStation.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoServiceStation.Text
    '            ElseIf rdoFactory.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoFactory.Text
    '            ElseIf rdoAnySupplierLocation.Checked = True Then
    '                cmd.Parameters.Add(New SqlParameter("@gwd_CarryIn", SqlDbType.NVarChar, 50)).Value = rdoAnySupplierLocation.Text
    '            End If
    '        End If
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Wdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtWDesc.Text)
    '        cmd.Parameters.Add(New SqlParameter("@gwd_Gdesc", SqlDbType.NVarChar, 500)).Value = Convert.ToString(txtGDesc.Text)
    '        cmd.Parameters.Add(New SqlParameter("@gwd_wfor", SqlDbType.NVarChar, 50)).Value = WFor.ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_PartNo", SqlDbType.NVarChar, 18)).Value = partno.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_PartName", SqlDbType.NVarChar, 25)).Value = partname.Trim
    '        cmd.Parameters.Add(New SqlParameter("@gwd_FinancialYearId", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("gwd_FinancialYearId").ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_CompanyId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("gwd_CompanyId").ToString
    '        cmd.Parameters.Add(New SqlParameter("@gwd_UserId", SqlDbType.NVarChar, 10)).Value = dt.Rows(0).Item("gwd_UserId").ToString
    '        cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 10)).Value = Me.Title.ToString.Trim
    '        cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 10)).Value = "Delete"

    '        con.Open()
    '        cmd.ExecuteNonQuery()
    '        con.Close()
    '        Fill_Grid("Select * From Product_GuarantyWarrantydetails Where gwd_CompanyId = '" & Session("g_Company").ToString & "' and gwd_IsDeleted='0' and gwd_ProductId= '" & Session("ProductId").ToString.Trim & "'", gvWarranty)
    '        GetGWDataTable()
    '        btnGuaranty_Click(Nothing, Nothing)
    '        'EnableControlsGW(True)

    '    Catch ex As Exception
    '        lblGWResult.Visible = True
    '        lblGWResult.Text = "Please Select Record For Delete ....... "
    '        btnGuaranty_Click(Nothing, Nothing)
    '    End Try
    'End Sub
    '***************************************** Packaging Details  ************************************************
    Protected Sub btnpckdetails_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnpckdetails.Click
        Try
            'txtPackingType.Visible = False
            'ImageButton20.Visible = False
            'ddlPackingType.Visible = True
            'ImageButton16.Visible = True
            'lblResult.Visible = False
            'ddlPackingType.Focus()
            'FillComboWithOthersTextOnlyJJ("Select distinct ProdPackaging_PackingType from ProductPackaging where ProdPackaging_Isdeleted='0' order by ProdPackaging_PackingType ", ddlPackingType, "Select Packing Type")
            'MultiView2.ActiveViewIndex = 14
            'ddlPackingType.Attributes.Add("onchange", "return checkddlPackingType(this);")
            btnPackingSave.Attributes.Add("onclick", "return checkPackaging();")
            btnPackingUpdate.Attributes.Add("onclick", "return checkPackaging();")
            'rPD.Visible = False
            ClearPckDetailsFields()
            GeneratePckDetailsCode()
            getExistingPCKDetailsData()

        Catch
        End Try
    End Sub
    <Ajax.AjaxMethod()> _
    Public Function checkPacking(ByVal PackingType As String) As Boolean
        Dim PackType As String
        PackType = ReturnValue("Select ProdPackaging_PackingType from ProductPackaging where (ProdPackaging_PackingType='" & PackingType.ToString.Trim & "' or ProdPackaging_PackingType Like '%" & PackingType.ToString.Trim & "%') and ProdPackaging_IsDeleted='0'")
        If PackType.ToString.Trim = "" Then
            Return True
        Else
            Return False
        End If
    End Function

    Protected Sub btnPackingSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPackingSave.Click
        Try
            Dim strImageName As String
            If (fuPackDetails.HasFile) Then
                Dim fileType As String = Path.GetExtension(fuPackDetails.FileName).ToLower
                'If fileType = ".pdf" Then
                strImageName = Final_FileUpload(fuPackDetails, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                'Else
                '    lblResult.Visible = True
                '    lblResult.Text = "Please select .pdf only!"
                '    fuPackDetails.Focus()
                '    Exit Sub
                'End If
            Else
            strImageName = ""
            End If

            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "ProductPackaging_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_Kid", SqlDbType.NVarChar, 20)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_Code", SqlDbType.NVarChar, 20)).Value = GeneratePckDetailsCode().ToString
            'If ddlPackingType.Visible = False Then
            '    cmd.Parameters.Add(New SqlParameter("@ProdPackaging_PackingType", SqlDbType.NVarChar, 25)).Value = Trim(txtPackingType.Text)
            'Else
            'cmd.Parameters.Add(New SqlParameter("@ProdPackaging_PackingType", SqlDbType.NVarChar, 25)).Value = Trim(ddlPackingType.SelectedItem.Text.ToString)
            'End If
            If rblIsFragile.SelectedValue = "Yes" Then
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsFragile", SqlDbType.NVarChar, 25)).Value = "Y"
            Else
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsFragile", SqlDbType.NVarChar, 25)).Value = "N"
            End If
            If rblIsWood.SelectedValue = "Yes" Then
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsWoodContain", SqlDbType.NVarChar, 25)).Value = "Y"
            Else
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsWoodContain", SqlDbType.NVarChar, 25)).Value = "N"
            End If
            If rblIsEnvironmental.SelectedValue = "Yes" Then
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsEnvirnomentalFriendly", SqlDbType.NVarChar, 25)).Value = "Y"
            Else
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsEnvirnomentalFriendly", SqlDbType.NVarChar, 25)).Value = "N"
            End If
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_ProdDetails", SqlDbType.NVarChar, 200)).Value = Trim(txtProductDetails.Text)
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_ProductId", SqlDbType.NVarChar, 25)).Value = Session("ProductId")
            If strImageName <> "" Then
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_FileName", SqlDbType.NVarChar, 100)).Value = strImageName.ToString
            Else
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_FileName", SqlDbType.NVarChar, 100)).Value = hlPackDetails.Text.ToString 'strImageName.ToString
            End If


            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Session("g_FinYear")
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Product Packaging"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Insert"
            Try
                con.Open()
                cmd.ExecuteNonQuery()                                                           'Execute the Query
                con.Close()
                'lblResult.Visible = True
                'lblResult.Text = "Record Saved Successfully."
                ClearPckDetailsFields()                                                                   'Clear the TextFields
                'MultiView2.ActiveViewIndex = -1
                CreateMessageAlert(Me, "Packaging Details saved successfully.!", "strkeyval")
                displayone(tblPackagingDetails)
                getExistingPCKDetailsData()
            Catch ex As Exception
                con.Close()
            End Try
        Catch
        End Try
    End Sub
    Protected Sub btnPackingUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPackingUpdate.Click
        Try

            Dim strImageName As String
            If (fuPackDetails.HasFile) Then
                Dim fileType As String = Path.GetExtension(fuPackDetails.FileName).ToLower
                'If fileType = ".pdf" Then
                strImageName = Final_FileUpload(fuPackDetails, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                'Else
                '    lblResult.Visible = True
                '    lblResult.Text = "Please select .pdf only!"
                '    fuPackDetails.Focus()
                '    Exit Sub
                'End If
            Else
            strImageName = ""
            End If

            Dim dt As DataTable = getTable("Select * from ProductPackaging where ProdPackaging_ProductId='" & Session.Item("ProductId").Trim & "' and ProdPackaging_IsDeleted='0' and ProdPackaging_CompanyID='" & Session("g_Company").Trim & "'", "PP")

            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "ProductPackaging_Proc"
            cmd.Connection = con
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_Kid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("ProdPackaging_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_Code", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("ProdPackaging_Code").ToString
            'If ddlPackingType.Visible = False Then
            '    cmd.Parameters.Add(New SqlParameter("@ProdPackaging_PackingType", SqlDbType.NVarChar, 25)).Value = Trim(txtPackingType.Text)
            'Else
            ' cmd.Parameters.Add(New SqlParameter("@ProdPackaging_PackingType", SqlDbType.NVarChar, 25)).Value = Trim(ddlPackingType.SelectedItem.Text.ToString)
            'End If
            If rblIsFragile.SelectedValue = "Yes" Then
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsFragile", SqlDbType.NVarChar, 25)).Value = "Y"
            Else
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsFragile", SqlDbType.NVarChar, 25)).Value = "N"
            End If
            If rblIsWood.SelectedValue = "Yes" Then
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsWoodContain", SqlDbType.NVarChar, 25)).Value = "Y"
            Else
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsWoodContain", SqlDbType.NVarChar, 25)).Value = "N"
            End If
            If rblIsEnvironmental.SelectedValue = "Yes" Then
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsEnvirnomentalFriendly", SqlDbType.NVarChar, 25)).Value = "Y"
            Else
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_IsEnvirnomentalFriendly", SqlDbType.NVarChar, 25)).Value = "N"
            End If
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_ProdDetails", SqlDbType.NVarChar, 200)).Value = Trim(txtProductDetails.Text)
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_ProductId", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("ProdPackaging_ProductId").ToString

            If strImageName <> "" Then
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_FileName", SqlDbType.NVarChar, 100)).Value = strImageName.ToString
            Else
                cmd.Parameters.Add(New SqlParameter("@ProdPackaging_FileName", SqlDbType.NVarChar, 100)).Value = hlPackDetails.Text.ToString 'strImageName.ToString
            End If

            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_FinancialYearId", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("ProdPackaging_FinancialYearId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_CompanyId", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("ProdPackaging_CompanyId").ToString
            cmd.Parameters.Add(New SqlParameter("@ProdPackaging_UserId", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("ProdPackaging_UserId").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Product Packaging"
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Update"
            Try
                con.Open()
                cmd.ExecuteNonQuery()                                                           'Execute the Query
                con.Close()
                'lblResult.Visible = True
                'lblResult.Text = "Record Updated Successfully."
                CreateMessageAlert(Me, "Packaging Deatails Updated successfully.!", "strkeyval")
                ClearPckDetailsFields()
                displayone(tblPackagingDetails) 'Clear the TextFields
                'MultiView2.ActiveViewIndex = -1
                getExistingPCKDetailsData()
            Catch ex As Exception
                con.Close()
            End Try
        Catch
        End Try
    End Sub
    Private Sub ClearPckDetailsFields()
        Try
            'ddlPackingType.SelectedIndex = 0
            'txtPackingType.Text = ""
            txtProductDetails.Text = ""
            'RbnIsEvntFriendlyYes.Checked = False
            'RbnIsEvntFriendlyNo.Checked = False
            'RbnIsFragileNo.Checked = False
            'RbnIsFragileYes.Checked = False
            'RbnIsWoodContainNo.Checked = False
            'RbnIsWoodContainYes.Checked = False
        Catch
        End Try
    End Sub
    Private Sub EnablePCKDetailsControls(ByVal Action As Boolean)
        Try
            rblIsEnvironmental.Enabled = Action
            rblIsFragile.Enabled = Action
            rblIsWood.Enabled = Action

            'ddlPackingType.Enabled = Action
            'txtPackingType.Enabled = Action
            txtProductDetails.Enabled = Action
            'RbnIsEvntFriendlyNo.Enabled = Action
            'RbnIsEvntFriendlyYes.Enabled = Action
            'RbnIsFragileNo.Enabled = Action
            'RbnIsFragileYes.Enabled = Action
            'RbnIsWoodContainNo.Enabled = Action
            'RbnIsWoodContainYes.Enabled = Action
        Catch
        End Try
    End Sub
    Private Function GeneratePckDetailsCode() As String
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "PKG" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from ProductPackaging where ProdPackaging_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                    Return code
                    Exit Function
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch
        End Try
    End Function
    Private Sub getExistingPCKDetailsData()
        Try
            Dim dt As DataTable = getTable("Select ProdPackaging_Kid,ProdPackaging_Code,ProdPackaging_FileName,ProdPackaging_PackingType,ProdPackaging_Material,ProdPackaging_IsFragile,ProdPackaging_IsWoodContain,ProdPackaging_IsEnvirnomentalFriendly,ProdPackaging_ProdDetails from ProductPackaging where ProdPackaging_ProductId='" & Session("ProductId").Trim & "' and ProdPackaging_IsDeleted='0' and ProdPackaging_CompanyID='" & Session("g_Company").Trim & "'", "PP")
            If dt.Rows.Count > 0 Then
                txtProductDetails.Text = dt.Rows(0).Item("ProdPackaging_ProdDetails").ToString
                
                Try
                    If (dt.Rows(0).Item("ProdPackaging_IsFragile").ToString = "Y") Then
                        rblIsFragile.SelectedValue = "Yes"
                    Else
                        rblIsFragile.SelectedValue = "No"
                    End If
                Catch ex As Exception
                    rblIsFragile.SelectedValue = "Yes"
                End Try

                Try
                    If (dt.Rows(0).Item("ProdPackaging_IsWoodContain").ToString = "Y") Then
                        rblIsWood.SelectedValue = "Yes"
                    Else
                        rblIsWood.SelectedValue = "No"
                    End If
                Catch ex As Exception
                    rblIsWood.SelectedValue = "Yes"
                End Try
                Try
                    If (dt.Rows(0).Item("ProdPackaging_IsEnvirnomentalFriendly").ToString = "Y") Then
                        rblIsEnvironmental.SelectedValue = "Yes"
                    Else
                        rblIsEnvironmental.SelectedValue = "No"
                    End If
                Catch ex As Exception
                    rblIsEnvironmental.SelectedValue = "Yes"
                End Try

                If (dt.Rows(0).Item("ProdPackaging_FileName").ToString <> "") Then
                    hlPackDetails.Text = dt.Rows(0).Item("ProdPackaging_FileName").ToString.ToString
                    hlPackDetails.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("ProdPackaging_FileName").ToString.ToString
                Else
                    hlPackDetails.Text = ""
                End If

                'btnPackingSave.Enabled = False

                '' '' ''If Session("AdminID") <> Nothing Then
                EnablePCKDetailsControls(True)
                btnPackingSave.Visible = False
                btnPackingUpdate.Visible = True
                '' '' ''Else
                '' '' ''    EnablePCKDetailsControls(False)
                '' '' ''    btnPackingSave.Visible = False
                '' '' ''    btnPackingUpdate.Visible = False
                '' '' ''End If

            Else
                hlPackDetails.Text = ""
                btnPackingUpdate.Visible = False
                GeneratePckDetailsCode()
                btnPackingSave.Enabled = True
                EnablePCKDetailsControls(True)
            End If


            dt = Nothing
        Catch
        End Try
    End Sub
    '************************************* Product Installation Commissioning  ********************************************
    Protected Sub btnInsttComm_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnInsttComm.Click
        Try
            'lblResult.Visible = False
            'MultiView2.ActiveViewIndex = 15
            rblICIsApplicable.Attributes.Add("onclick", "checkrblICIsApplicable(this);")
            rblICIsChargeable.Attributes.Add("onclick", "checkrblICIsChargeable(this);")
            txtICAmount.Attributes.Add("onkeypress", "return blockNonNumbers(this,event,false,false);")
            tricFileName.Style.Add("display", "none")
            btnSaveIC.Attributes.Add("onclick", "return CheckIC();")
            btnUpdateIC.Attributes.Add("onclick", "return CheckIC();")
            ' ''btnUpdateIC.Visible = False
            getExistingIC()
            'rInst.Visible = False

            'Dim dauploadvalue As New SqlDataAdapter("Select * from ProductInstallationCommissioning where InstallationComm_ProductId='" & Session("ProductId") & "' and InstallationComm_CompanyId='" & Session("g_Company") & "'and InstallationComm_IsDeleted='0'", conn)
            'Dim dsuploadvalue As New DataSet()
            'dauploadvalue.Fill(dsuploadvalue)
            'If (dsuploadvalue.Tables(0).Rows.Count = 0) Then
            '    'clearvalue()

            '    GenerateCodeIC()
            '    Dim ProductName1 As String = ReturnValue("select Product_Name from Product_Master where Product_Kid='" & Session("ProductId") & "'")
            '    'lblpath.Text = createheaderlabelIC(ProductName1)
            'Else

            '    rbtnproreqins.Enabled = False
            '    rbtnprocomcha.Enabled = False
            '    rbtnopemain.Enabled = False
            '    rbtnanualmaincon.Enabled = False
            '    'txtProductInsComsnCode.Text = dsuploadvalue.Tables(0).Rows(0)("InstallationComm_Code")
            '    'txtProductInsComsnKid.Text = dsuploadvalue.Tables(0).Rows(0)("InstallationComm_Kid")
            '    txtAmount.Text = dsuploadvalue.Tables(0).Rows(0)("InstallationComm_Amount")
            '    Try
            '        rbtnproreqins.SelectedIndex = rbtnproreqins.Items.IndexOf(rbtnproreqins.Items.FindByValue(dsuploadvalue.Tables(0).Rows(0)("InstallationComm_IsRequired")))
            '    Catch
            '    End Try
            '    Try
            '        rbtnprocomcha.SelectedIndex = rbtnprocomcha.Items.IndexOf(rbtnprocomcha.Items.FindByValue(dsuploadvalue.Tables(0).Rows(0)("InstallationComm_IsChargeable")))
            '    Catch
            '    End Try
            '    Try
            '        rbtnopemain.SelectedIndex = rbtnopemain.Items.IndexOf(rbtnopemain.Items.FindByValue(dsuploadvalue.Tables(0).Rows(0)("InstallationComm_IsMaintenanceTraining")))
            '    Catch
            '    End Try
            '    Try
            '        rbtnanualmaincon.SelectedIndex = rbtnanualmaincon.Items.IndexOf(rbtnanualmaincon.Items.FindByValue(dsuploadvalue.Tables(0).Rows(0)("InstallationComm_IsAMCAvailable")))
            '    Catch
            '    End Try
            '    Try
            '        If rbtnproreqins.SelectedIndex = 0 Then
            '            If (rbtnprocomcha.SelectedIndex = 0) Then
            '                rbtnprocomcha.Enabled = False
            '                txtAmount.Enabled = False
            '                Label103.Enabled = True
            '                Label100.Enabled = True
            '                'btnFinishIC.Enabled = False
            '                btnSaveIC.Enabled = False
            '                TR2.Visible = True
            '                TR3.Visible = True
            '            Else
            '                rbtnprocomcha.Enabled = False
            '                txtAmount.Enabled = False
            '                Label103.Enabled = True
            '                Label100.Enabled = False
            '                'btnFinishIC.Enabled = False
            '                btnSaveIC.Enabled = False
            '                TR2.Visible = False
            '                TR3.Visible = False
            '            End If
            '        Else
            '            TR2.Visible = False
            '            TR3.Visible = False
            '            rbtnprocomcha.Enabled = False
            '            txtAmount.Enabled = False
            '            Label103.Enabled = False
            '            Label100.Enabled = False
            '            'btnFinishIC.Enabled = False
            '            btnSaveIC.Enabled = False
            '        End If
            '    Catch
            '    End Try
            '    Dim ProductName1 As String = ReturnValue("select Product_Name from Product_Master where Product_Kid='" & Session("ProductId") & "'")
            '    'lblpath.Text = createheaderlabelIC(ProductName1)
            'End If
            'If Session("AdminID") <> Nothing Then
            '    EnableICControls(True)
            '    If dsuploadvalue.Tables(0).Rows.Count > 0 Then
            '        btnSaveIC.Visible = False
            '        'btnSkipIC.Visible = True
            '        'btnFinishIC.Visible = True
            '        btnUpdateIC.Visible = True
            '    Else
            '        btnSaveIC.Visible = True
            '        'btnSkipIC.Visible = True
            '        'btnFinishIC.Visible = True
            '        btnUpdateIC.Visible = False
            '    End If
            'Else
            '    btnUpdateIC.Visible = False
            'End If

        Catch
        End Try
    End Sub
    Public Sub getExistingIC()
        Dim dt As DataTable
        dt = ReturnDataTable("Select * from ProductInstallationCommissioning where InstallationComm_ProductId='" & Session("ProductId") & "' and InstallationComm_CompanyId='" & Session("g_Company") & "'and InstallationComm_IsDeleted='0'")
        If dt.Rows.Count > 0 Then
            If (dt.Rows(0).Item("InstallationComm_IsRequired").ToString = "N") Then
                rblICIsApplicable.SelectedValue = "N"
                tblICApplicable.Style.Add("display", "none")
            Else
                rblICIsApplicable.SelectedValue = "Y"
                tblICApplicable.Style.Add("display", "auto")
                If (dt.Rows(0).Item("InstallationComm_IsChargeable").ToString = "N") Then
                    rblICIsChargeable.SelectedValue = "N"
                    trICIsChargeable.Style.Add("display", "none")
                Else
                    rblICIsChargeable.SelectedValue = "Y"
                    trICIsChargeable.Style.Add("display", "auto")
                    txtICAmount.Text = dt.Rows(0).Item("InstallationComm_Amount").ToString
                End If
                'rblICIsContract.SelectedValue = dt.Rows(0).Item("InstallationComm_IsAMCAvailable").ToString
                'rblICIsTraining.SelectedValue = dt.Rows(0).Item("InstallationComm_IsMaintenanceTraining").ToString

            End If

            If (dt.Rows(0).Item("InstallationComm_FileName").ToString <> "") Then
                tricFileName.Style.Add("display", "auto")
                hlIC.Text = dt.Rows(0).Item("InstallationComm_FileName").ToString
                hlIC.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("InstallationComm_FileName").ToString
            Else
                hlIC.Text = ""
                tricFileName.Style.Add("display", "none")
            End If

            '' '' ''If Session("AdminID") <> Nothing Then
            btnUpdateIC.Visible = True
            btnSaveIC.Visible = False
            EnableICControls(True)
            '' '' ''Else
            '' '' ''    EnableICControls(False)
            '' '' ''    btnUpdateIC.Visible = False
            '' '' ''    btnSaveIC.Visible = False
            '' '' ''End If


        Else
            hlIC.Text = ""
            btnUpdateIC.Visible = False
            btnSaveIC.Visible = True
        End If



    End Sub
    Public Sub EnableICControls(ByVal action As Boolean)
        Try
            rblICIsApplicable.Enabled = action
            rblICIsChargeable.Enabled = action
            'rblICIsContract.Enabled = action
            'rblICIsTraining.Enabled = action
            txtICAmount.Enabled = action
            'txtAmount.Enabled = action
            'rbtnproreqins.Enabled = action
            'rbtnprocomcha.Enabled = action
            'rbtnopemain.Enabled = action
            'rbtnanualmaincon.Enabled = action
        Catch
        End Try
    End Sub
    'Protected Sub rbtnproreqins_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbtnproreqins.SelectedIndexChanged
    '    Try
    '        If rbtnproreqins.SelectedIndex = 0 Then
    '            rbtnprocomcha.Visible = True
    '            txtAmount.Visible = True
    '            Label103.Visible = True
    '            Label100.Visible = True
    '            TR2.Visible = True
    '            TR3.Visible = True
    '            rbtnprocomcha.SelectedIndex = 0
    '            txtAmount.Text = ""
    '        Else
    '            rbtnprocomcha.Visible = False
    '            txtAmount.Visible = False
    '            Label103.Visible = False
    '            Label100.Visible = False
    '            TR2.Visible = False
    '            TR3.Visible = False
    '        End If
    '    Catch
    '    End Try
    'End Sub
    'Protected Sub rbtnprocomcha_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbtnprocomcha.SelectedIndexChanged
    '    Try
    '        If rbtnprocomcha.SelectedIndex = 0 Then
    '            'Label100.Visible = True
    '            'txtAmount.Visible = True
    '            TR3.Visible = True
    '            txtAmount.Text = ""
    '        Else
    '            'Label100.Visible = False
    '            'txtAmount.Visible = False
    '            TR3.Visible = False
    '        End If
    '    Catch
    '    End Try
    'End Sub
    Private Sub clearvalueIC()
        Try
            'txtProductInsComsnCode.Text = ""
            'txtProductInsComsnKid.Text = ""
            'txtAmount.Text = ""
            'rbtnproreqins.ClearSelection()
            'rbtnprocomcha.ClearSelection()
            'rbtnopemain.ClearSelection()
            'rbtnanualmaincon.ClearSelection()
        Catch
        End Try
    End Sub
    Private Sub insertdataNotChargebleIC()
        Try

            Dim strImageName As String = ""
            '----------------------------------
            'If rblUserManual.SelectedValue = "Yes" Then
            If (fuInstallationCommissioning.HasFile) Then
                Dim fileType As String = Path.GetExtension(fuInstallationCommissioning.FileName).ToLower
                If fileType = ".pdf" Then
                    strImageName = Final_FileUpload(fuInstallationCommissioning, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                Else
                    lblResult.Visible = True
                    lblResult.Text = "Please select .pdf only!"
                    UserManUpload.Focus()
                    Exit Sub
                End If
            Else
                lblResult.Visible = True
                lblResult.Text = "Please select .pdf, .gif, .jpg file ... !!!"
                Exit Sub
            End If

            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            'GenerateExplodedDiagramCode()
            'txtAmount.Text = ""
            Dim cmd As New SqlCommand
            cmd.CommandText = "ProductInstallationCommissioning_Proc"    'give a storeprocedure
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Connection = con
            con.Open()
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Code", SqlDbType.NVarChar, 25)).Value = GenerateCodeIC().ToString()
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsRequired", SqlDbType.NVarChar, 1)).Value = "" 'Trim(rbtnproreqins.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsChargeable", SqlDbType.NVarChar, 1)).Value = "" 'Trim(rbtnprocomcha.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Amount", SqlDbType.NVarChar, 18)).Value = 0
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsMaintenanceTraining", SqlDbType.NVarChar, 1)).Value = "" ' Trim(rbtnopemain.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsAMCAvailable", SqlDbType.NVarChar, 1)).Value = "" 'Trim(rbtnanualmaincon.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_ProductId", SqlDbType.NVarChar, 10)).Value = Trim(Session("ProductId"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_FileName", SqlDbType.NVarChar, 50)).Value = strImageName.ToString
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_FinancialYearId", SqlDbType.NVarChar, 50)).Value = Trim(Session("g_FinYear"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_UserId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = Me.Title.ToString
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 20)).Value = "Insert"
            cmd.ExecuteNonQuery()
            'CreateMessageAlert(Me, "Record Was Inserted Succesfully  !!!", "StrKeyVal")
            con.Close()
        Catch
        End Try
    End Sub
    Private Sub insertdataIC()
        Try
            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            'GenerateExplodedDiagramCode()
            Dim cmd As New SqlCommand
            cmd.CommandText = "ProductInstallationCommissioning_Proc"    'give a storeprocedure
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Connection = con

            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Code", SqlDbType.NVarChar, 25)).Value = GenerateCodeIC().ToString()
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsRequired", SqlDbType.NVarChar, 1)).Value = "" ' Trim(rbtnproreqins.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsChargeable", SqlDbType.NVarChar, 1)).Value = "" 'Trim(rbtnprocomcha.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Amount", SqlDbType.NVarChar, 18)).Value = "" ' Trim(Convert.ToInt32(txtAmount.Text))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsMaintenanceTraining", SqlDbType.NVarChar, 1)).Value = "" ' Trim(rbtnopemain.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsAMCAvailable", SqlDbType.NVarChar, 1)).Value = "" 'Trim(rbtnanualmaincon.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_ProductId", SqlDbType.NVarChar, 10)).Value = Trim(Session("ProductId"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_FinancialYearId", SqlDbType.NVarChar, 50)).Value = Trim(Session("g_FinYear"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_UserId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = Me.Title.ToString
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 20)).Value = "Insert"
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
            lblResult.Visible = True
            lblResult.Text = "Record Saved Successfully."
            'MultiView2.ActiveViewIndex = -1



        Catch
        End Try
    End Sub
    Private Sub insertdataNotAppliIC()
        Try
            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            'GenerateExplodedDiagramCode()
            'rbtnprocomcha.ClearSelection()
            Dim cmd As New SqlCommand
            cmd.CommandText = "ProductInstallationCommissioning_Proc"    'give a storeprocedure
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Connection = con
            con.Open()
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Code", SqlDbType.NVarChar, 25)).Value = GenerateCodeIC().ToString()
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsRequired", SqlDbType.NVarChar, 1)).Value = "" 'Trim(rbtnproreqins.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsChargeable", SqlDbType.NVarChar, 1)).Value = "" 'Trim(rbtnprocomcha.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Amount", SqlDbType.Decimal, 9)).Value = 0
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsMaintenanceTraining", SqlDbType.NVarChar, 1)).Value = "" 'Trim(rbtnopemain.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsAMCAvailable", SqlDbType.NVarChar, 1)).Value = "" 'Trim(rbtnanualmaincon.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_ProductId", SqlDbType.NVarChar, 10)).Value = Trim(Session("ProductId"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_FinancialYearId", SqlDbType.NVarChar, 50)).Value = Trim(Session("g_FinYear"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_UserId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = Me.Title.ToString
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 20)).Value = "Insert"

            cmd.ExecuteNonQuery()
            CreateMessageAlert(Me, "Record Was Inserted Succesfully  !!!", "StrKeyVal")
            con.Close()
        Catch
        End Try
    End Sub
    Protected Function createheaderlabelIC(ByVal Prodid As String) As String
        Try
            Dim lblhead As String
            'If ddlProductList.SelectedIndex <> 0 Then
            Dim con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))
            Dim str As String = "SELECT     Category_Master.Category_Kid, Category_Master.Category_Name FROM         Product_Information INNER JOIN                     Category_Master ON Product_Information.Product_CategoryId = Category_Master.Category_Kid WHERE     Product_Information.Product_Name = '" & Session("ProductId").ToString().Trim() & "' AND (Category_Master.Category_IsDeleted = N'0')"
            Dim ds As New DataSet
            Dim sda As New SqlDataAdapter(str, con)
            sda.Fill(ds)

            Dim parent As String = ds.Tables(0).Rows(0)(1).ToString()

            lblhead = parent & ">"
            While parent <> "Root Category"
                parent = ReturnValue("SELECT     Category_Master.Category_Name AS Expr2 FROM         Category_Master INNER JOIN                    Category_Master AS Category_Master_1 ON Category_Master.Category_Kid = Category_Master_1.Category_ParentId WHERE     (Category_Master.Category_IsDeleted = N'0') AND (Category_Master.Category_IsDeleted = N'0') AND Category_Master_1.Category_Name = '" & parent & "'")
                If parent = "" Then
                    Exit While
                End If
                lblhead = parent & ">" & lblhead
            End While
            'Else
            '    lblhead = ""
            'End If
            Return lblhead
        Catch
        End Try
    End Function
    Protected Function GenerateCodeIC() As String
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            'Product_Kid = NewPrimaryKey(Me)
            'txtProductInsComsnKid.Text = NewPrimaryKey(Me)

            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "PRD" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from ProductDrawing where ProductDrawing_Code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                    Return code
                    Exit Function
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Function
    'Protected Sub btnSkipIC_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSkipIC.Click
    '    'Response.Redirect("userlist.aspx")
    'End Sub
    Protected Sub btnUpdateIC_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpdateIC.Click
        Try
            Try

                Dim strImageName As String = ""
                '----------------------------------
                'If rblUserManual.SelectedValue = "Yes" Then
                If (fuInstallationCommissioning.HasFile) Then
                    Dim fileType As String = Path.GetExtension(fuInstallationCommissioning.FileName).ToLower
                    'If fileType = ".pdf" Then
                    strImageName = Final_FileUpload(fuInstallationCommissioning, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                    'Else
                    '    strImageName = ""
                    '    'lblResult.Visible = True
                    '    'lblResult.Text = "Please select .pdf only!"
                    '    'UserManUpload.Focus()
                    '    'Exit Sub
                    'End If
                Else
                strImageName = ReturnValue("Select InstallationComm_FileName from ProductInstallationCommissioning where InstallationComm_ProductId='" & Session("ProductId").ToString & "'")
                'lblResult.Visible = True
                'lblResult.Text = "Please select .pdf, .gif, .jpg file ... !!!"
                'Exit Sub
                End If

                Dim dt As DataTable = ReturnDataTable("Select * from ProductInstallationCommissioning where InstallationComm_ProductId='" & Session("ProductId") & "' and InstallationComm_CompanyId='" & Session("g_Company") & "'and InstallationComm_IsDeleted='0'")

                Dim con As New SqlConnection
                con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
                Dim cmd As New SqlCommand
                cmd.CommandText = "ProductInstallationCommissioning_Proc"    'give a storeprocedure
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Connection = con
                con.Open()
                cmd.Parameters.Add(New SqlParameter("@InstallationComm_Kid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("InstallationComm_Kid").ToString
                cmd.Parameters.Add(New SqlParameter("@InstallationComm_Code", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("InstallationComm_Code").ToString
                cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsRequired", SqlDbType.NVarChar, 1)).Value = rblICIsApplicable.SelectedValue.ToString '"" 'Trim(rbtnproreqins.SelectedValue)
                If rblICIsApplicable.SelectedValue = "Y" Then
                    cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsChargeable", SqlDbType.NVarChar, 1)).Value = rblICIsChargeable.SelectedValue.ToString '"" 'Trim(rbtnprocomcha.SelectedValue)
                    If rblICIsChargeable.SelectedValue = "Y" Then
                        cmd.Parameters.Add(New SqlParameter("@InstallationComm_Amount", SqlDbType.NVarChar, 18)).Value = txtICAmount.Text  ' "" ' Trim(Convert.ToInt32(txtAmount.Text))
                    End If
                    'cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsMaintenanceTraining", SqlDbType.NVarChar, 1)).Value = rblICIsTraining.SelectedValue.ToString  '"" ' Trim(rbtnopemain.SelectedValue)
                    'cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsAMCAvailable", SqlDbType.NVarChar, 1)).Value = rblICIsContract.SelectedValue.ToString '"" 'Trim(rbtnanualmaincon.SelectedValue)
                Else
                End If
                cmd.Parameters.Add(New SqlParameter("@InstallationComm_ProductId", SqlDbType.NVarChar, 20)).Value = Trim(Session("ProductID"))
                If strImageName <> "" Then
                    cmd.Parameters.Add(New SqlParameter("@InstallationComm_FileName", SqlDbType.NVarChar, 100)).Value = strImageName.ToString
                Else
                    cmd.Parameters.Add(New SqlParameter("@InstallationComm_FileName", SqlDbType.NVarChar, 100)).Value = hlIC.Text.ToString
                End If

                cmd.Parameters.Add(New SqlParameter("@InstallationComm_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_FinYear"))
                cmd.Parameters.Add(New SqlParameter("@InstallationComm_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company"))
                cmd.Parameters.Add(New SqlParameter("@InstallationComm_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_User"))
                cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = Me.Title.ToString
                cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 20)).Value = "Update"
                cmd.ExecuteNonQuery()
                displayone(tblInstallationCommissioning)
                CreateMessageAlert(Me, "Product Installation / Commissioning Updated Successfully.!", "strkeyval")
                'lblResult.Visible = True
                'lblResult.Text = "Record Updated Successfully."
                'MultiView2.ActiveViewIndex = -1
                getExistingIC()
                clearvalueIC()
            Catch
            End Try
        Catch
        End Try
    End Sub
    Private Sub updatdata()
        Try

            Dim dt As DataTable = ReturnDataTable("Select * from ProductInstallationCommissioning where InstallationComm_ProductId='" & Session("ProductId") & "' and InstallationComm_CompanyId='" & Session("g_Company") & "'and InstallationComm_IsDeleted='0'")

            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim cmd As New SqlCommand
            cmd.CommandText = "ProductInstallationCommissioning_Proc"    'give a storeprocedure
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Connection = con
            con.Open()
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Kid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("InstallationComm_Kid").ToString
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Code", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("InstallationComm_Code").ToString
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsRequired", SqlDbType.NVarChar, 1)).Value = "" 'Trim(rbtnproreqins.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsChargeable", SqlDbType.NVarChar, 1)).Value = "" ' Trim(rbtnprocomcha.SelectedValue)
            'If rbtnproreqins.SelectedIndex = 0 Then
            '    If (rbtnprocomcha.SelectedIndex = 0) Then
            '        cmd.Parameters.Add(New SqlParameter("@InstallationComm_Amount", SqlDbType.Decimal, 20)).Value = Trim(Convert.ToDecimal(txtAmount.Text))
            '    Else
            '        cmd.Parameters.Add(New SqlParameter("@InstallationComm_Amount", SqlDbType.Decimal, 20)).Value = 0.0
            '    End If
            'Else
            '    cmd.Parameters.Add(New SqlParameter("@InstallationComm_Amount", SqlDbType.Decimal, 20)).Value = 0.0
            'End If
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsMaintenanceTraining", SqlDbType.NVarChar, 1)).Value = "" ' Trim(rbtnopemain.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsAMCAvailable", SqlDbType.NVarChar, 1)).Value = "" 'Trim(rbtnanualmaincon.SelectedValue)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_ProductId", SqlDbType.NVarChar, 20)).Value = Trim(Session("ProductID"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_FinYear"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = Me.Title.ToString
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 20)).Value = "Update"
            cmd.ExecuteNonQuery()
            lblResult.Visible = True
            lblResult.Text = "Record Updated Successfully."
            'MultiView2.ActiveViewIndex = -1
            clearvalueIC()
        Catch
        End Try
        'btnUpdateIC.Enabled = False
    End Sub
    'Protected Sub btnFinishIC_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFinishIC.Click
    '    Try
    '        If rbtnproreqins.SelectedIndex = 0 Then
    '            If (rbtnprocomcha.SelectedIndex = 0) Then
    '                insertdataIC()
    '            Else
    '                insertdataNotChargebleIC()
    '            End If

    '        Else
    '            insertdataNotAppliIC()
    '        End If
    '    Catch
    '    End Try
    'End Sub
    Protected Sub btnSaveIC_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSaveIC.Click
        Try

            Dim strImageName As String = ""
            '----------------------------------
            'If rblUserManual.SelectedValue = "Yes" Then
            If (fuInstallationCommissioning.HasFile) Then
                Dim fileType As String = Path.GetExtension(fuInstallationCommissioning.FileName).ToLower
                'If fileType = ".pdf" Then
                strImageName = Final_FileUpload(fuInstallationCommissioning, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                'Else
                '    lblResult.Visible = True
                '    lblResult.Text = "Please select .pdf only!"
                '    UserManUpload.Focus()
                '    Exit Sub
                'End If
            Else
            strImageName = ""
            'lblResult.Visible = True
            'lblResult.Text = "Please select .pdf, .gif, .jpg file ... !!!"
            'Exit Sub
            End If


            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            'GenerateExplodedDiagramCode()
            Dim cmd As New SqlCommand
            cmd.CommandText = "ProductInstallationCommissioning_Proc"    'give a storeprocedure
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Connection = con

            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Kid", SqlDbType.NVarChar, 10)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_Code", SqlDbType.NVarChar, 25)).Value = GenerateCodeIC().ToString()
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsRequired", SqlDbType.NVarChar, 1)).Value = rblICIsApplicable.SelectedValue.ToString ' "" ' Trim(rbtnproreqins.SelectedValue)

            If rblICIsApplicable.SelectedValue = "Y" Then
                cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsChargeable", SqlDbType.NVarChar, 1)).Value = rblICIsChargeable.SelectedValue.ToString '"" 'Trim(rbtnprocomcha.SelectedValue)
                If rblICIsChargeable.SelectedValue = "Y" Then
                    cmd.Parameters.Add(New SqlParameter("@InstallationComm_Amount", SqlDbType.NVarChar, 18)).Value = txtICAmount.Text  ' "" ' Trim(Convert.ToInt32(txtAmount.Text))
                End If
                'cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsMaintenanceTraining", SqlDbType.NVarChar, 1)).Value = rblICIsTraining.SelectedValue.ToString  '"" ' Trim(rbtnopemain.SelectedValue)
                'cmd.Parameters.Add(New SqlParameter("@InstallationComm_IsAMCAvailable", SqlDbType.NVarChar, 1)).Value = rblICIsContract.SelectedValue.ToString '"" 'Trim(rbtnanualmaincon.SelectedValue)
            Else

            End If
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_ProductId", SqlDbType.NVarChar, 10)).Value = Trim(Session("ProductId"))
            If strImageName <> "" Then
                cmd.Parameters.Add(New SqlParameter("@InstallationComm_FileName", SqlDbType.NVarChar, 100)).Value = strImageName.ToString
            Else
                cmd.Parameters.Add(New SqlParameter("@InstallationComm_FileName", SqlDbType.NVarChar, 100)).Value = hlIC.Text.ToString
            End If
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_FinancialYearId", SqlDbType.NVarChar, 50)).Value = Trim(Session("g_FinYear"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_Company"))
            cmd.Parameters.Add(New SqlParameter("@InstallationComm_UserId", SqlDbType.NVarChar, 10)).Value = Trim(Session("g_User"))
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = Me.Title.ToString
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.NVarChar, 20)).Value = "Insert"
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()

            'lblResult.Visible = True
            'lblResult.Text = "Record Saved Successfully."
            'MultiView2.ActiveViewIndex = -1
            displayone(tblInstallationCommissioning)
            EnableICControls(False)
            getExistingIC()
            CreateMessageAlert(Me, "Installation / Commissioning saved Successfully.!", "strkeyval")

        Catch
        End Try
    End Sub
    '************************************* Product User List  ********************************************
    'Protected Sub btnproduserlist_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnproduserlist.Click
    '    Try
    '        lblResult.Visible = True
    '        lblResult.Text = "This Page is Not Available."
    '        'MultiView2.ActiveViewIndex = 14
    '    Catch
    '    End Try
    'End Sub
    '********************************************* Consumables  **************************************************
    Protected Sub btnconsumable_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnconsumable.Click
        Try
            gvConsumables.DataSource = Nothing
            gvConsumables.DataBind()
            lblResult.Visible = False
            'MultiView2.ActiveViewIndex = 5
            txtc_cname.Focus()
            FillComboWithSelectJJ("SELECT DISTINCT Unit_Kid, Unit_Name, Unit_Flag FROM Unit_Master WHERE Unit_Flag In ('Qty','Tech') AND Unit_IsDeleted = N'0' AND Unit_CompanyId = '" & Session("g_Company") & "' ", ddlcunit, "Select Unit")
            'ddlcunit.Attributes.Add("onchange", "return checkConsumablesddl(this,'Qty','" & Session("g_Company").ToString & "','" & Session("g_User") & "','" & Session("g_FinYear") & "');")
            ' txtc_cquantity.Attributes.Add("onkeypress", "return blockNonNumbers(this,event,false,false);")
            btnConsumableAddMore.Attributes.Add("onclick", "return CheckConsumables();")
            btnConsumableUpdate.Attributes.Add("onclick", "return CheckConsumables();")
            btnConsumableDelete.Attributes.Add("onclick", "return confirm('Are you sure want to delete.?')")
            getConsumablesExistingData()
            btnvisibleConsumables()
            'Tr33.Visible = False
            'txtcUnit.Visible = False
            'btncUnitAdd.Visible = False
        Catch
        End Try
    End Sub
    Public Sub btnvisibleConsumables()
        btnConsumableAddMore.Visible = True
        btnConsumableUpdate.Visible = False
        btnConsumableDelete.Visible = False
        btnConsumableCancel.Visible = False
    End Sub
    <Ajax.AjaxMethod()> _
 Public Function InsertUnit(ByVal strUnitName As String, ByVal strFlag As String, ByVal strCompanyID As String, ByVal strUserID As String, ByVal strFinancialYearID As String) As String
        Dim KID As String
        KID = NewPrimaryKey(Me)

        'Dim strMatch As String
        'strMatch = ReturnValue("SELECT     TechSpec_Kid FROM ProductTechnicalSpecification_Master WHERE     TechSpec_CategoryId = '" & strCategoryID.Trim & "' AND TechSpec_IsDeleted = '0' AND (soundex(TechSpec_parameter) = soundex('" & strParameter.Trim & "'))")
        'If strMatch <> "" Then
        '    Return "false"
        'End If
        If IsAlreadyPresent("Select count(*) from Unit_Master where Unit_Name='" & strUnitName.Trim & "' and Unit_Flag ='" & strFlag.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 = "Unit_Master_Proc"
        cmd.Connection = con
        cmd.Parameters.Add(New SqlParameter("@Unit_Kid", SqlDbType.NVarChar, 10)).Value = KID
        cmd.Parameters.Add(New SqlParameter("@Unit_Code", SqlDbType.NVarChar, 25)).Value = Generate_Code("Select count(*) from Unit_Master where Unit_Code='", "UC").ToString()
        cmd.Parameters.Add(New SqlParameter("@Unit_Name", SqlDbType.NVarChar, 200)).Value = strUnitName.ToString
        cmd.Parameters.Add(New SqlParameter("@Unit_Flag", SqlDbType.NVarChar, 10)).Value = strFlag
        cmd.Parameters.Add(New SqlParameter("@Unit_CompanyId", SqlDbType.NVarChar, 10)).Value = Trim(strCompanyID)
        cmd.Parameters.Add(New SqlParameter("@Unit_UserId", SqlDbType.NVarChar, 10)).Value = Trim(strUserID)
        cmd.Parameters.Add(New SqlParameter("@Unit_FinancialYearId", SqlDbType.NVarChar, 10)).Value = strFinancialYearID.Trim
        cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Unit Master"
        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
    Protected Sub btnConsumableAddMore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConsumableAddMore.Click
        Try




            'If Trim(txtc_code.Text) = "" Then                               'If txtOprMantManual_Code TextField is Null then
            '    CreateMessageAlert(Me, "Consumables Code Cannot be Null!", "StrKeyVal")      'Display the Message 
            '    Exit Sub
            'End If
            Dim con As New SqlConnection                                                    'Define connection variable for connecting to SQL-Server
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")    'Read the ConnectionString from web.config File
            Dim cmd As New SqlCommand                                                       'Define command variable to execute the query
            cmd.CommandType = CommandType.StoredProcedure                                   'Set the Command Type to Stored procedure
            cmd.CommandText = "Consumables_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con                                                            'Assign the connection

            cmd.Parameters.Add(New SqlParameter("@c_kid", SqlDbType.NVarChar, 20)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@c_code", SqlDbType.NVarChar, 25)).Value = GenerateConsumableCode().ToString
            cmd.Parameters.Add(New SqlParameter("@c_productid", SqlDbType.NVarChar, 20)).Value = Session("ProductId") 'Trim(ddlProdSpecInstr_ProductId.SelectedItem.Value)       'Add Parameter Bank_Name and assign the value of txtBankName TextField to it
            cmd.Parameters.Add(New SqlParameter("@c_cname", SqlDbType.NVarChar, 150)).Value = Trim(txtc_cname.Text)       'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it
            cmd.Parameters.Add(New SqlParameter("@c_cquantity", SqlDbType.NVarChar, 25)).Value = Trim(txtc_cquantity.Text)       'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it
            cmd.Parameters.Add(New SqlParameter("@c_cunit", SqlDbType.NVarChar, 20)).Value = ddlcunit.SelectedItem.Value.ToString.Trim        'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it
            cmd.Parameters.Add(New SqlParameter("@c_companyid", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company"))       'Add Parameter Company_Code and assign the value of Session("Session("g_Company")") to it
            cmd.Parameters.Add(New SqlParameter("@c_userid", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_User"))             'Add Parameter UserCode and assign the value of Session("Session("g_User")").toString to it
            cmd.Parameters.Add(New SqlParameter("@c_financialyearid", SqlDbType.NVarChar, 20)).Value = Session("g_FinYear")
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Consumables"                           'Add Parameter FormName and assign the name of form to it
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 10)).Value = "Insert"                                   'Add Parameter Mode and assign the DML Operation to Execute (Insert)

            con.Open()                                                                       'Open the Connection
            cmd.ExecuteNonQuery()                                                           'Execute the Query
            con.Close()
            displayone(tblConsumables)
            CreateMessageAlert(Me, "Consumables Saved Successfully.!", "strkeyval")
            getConsumablesExistingData()                                                               'Fill the Grid
            ClearConsumableFields()
            'Call GenerateConsumableCode()

        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
        End Try
    End Sub
    Protected Sub gvConsumables_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvConsumables.SelectedIndexChanged
        Try
            txtc_cname.Enabled = True
            txtc_cquantity.Enabled = True
            ddlcunit.Enabled = True

            Dim Kid As String = gvConsumables.DataKeys(gvConsumables.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("SELECT * FROM Consumables where c_kid = '" & Kid & "' ", "Con")

            txtc_cname.Text = dt.Rows(0).Item("c_cname").ToString
            txtc_cquantity.Text = dt.Rows(0).Item("c_cquantity").ToString
            'ddlcunit.ClearSelection()
            ''Dim ddlVal As String = dt.Rows(0).Item("c_cunit").ToString
            'ddlcunit.Items.FindByValue(dt.Rows(0).Item("c_cunit").ToString).Selected = True
            btnConsumableAddMore.Visible = False
            btnConsumableCancel.Visible = True
            btnConsumableDelete.Visible = True
            btnConsumableUpdate.Visible = True
            displayone(tblConsumables)
        Catch
        End Try
    End Sub
    Protected Sub ClearConsumableFields()
        Try
            'txtc_code.Text = ""                  'Assign Null to the TextField
            txtc_cname.Text = ""
            txtc_cquantity.Text = ""
            ddlcunit.ClearSelection()
        Catch
        End Try
    End Sub
    Protected Sub EnableControlsCON(ByVal Action As Boolean)
        Try
            txtc_cname.Enabled = Action
            txtc_cquantity.Enabled = Action
            ddlcunit.Enabled = Action
        Catch
        End Try
    End Sub
    Protected Function GenerateConsumableCode() As String
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            'txtc_kid.Text = NewPrimaryKey(Me)
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "CON" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from Consumables where c_code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                    Return code
                    Exit Function
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Function
    Private Sub getConsumablesExistingData()
        Try
            Dim dt As DataTable = getTable("SELECT Consumables.c_kid, Consumables.c_code, Consumables.c_cname, Consumables.c_cquantity, Consumables.c_cunit FROM Consumables INNER JOIN Product_Master ON Consumables.c_productid = Product_Master.Product_Kid WHERE (Consumables.c_productid = '" & Session("ProductId") & "') AND (Consumables.c_companyid = '" & Session("g_Company").Trim & "') AND (Consumables.c_IsDeleted = '0')", "Con")
            If dt.Rows.Count > 0 Then
                FillGridConsumables("")
                '' '' ''If Session("AdminID") = Nothing Then
                '' '' ''    gvConsumables.Columns(0).Visible = False
                '' '' ''End If
                'btnConsumableAddMore.Enabled = True
                'btnConsumableCancel.Enabled = False
                'btnConsumableDelete.Visible = False
                'EnableControlsCON(False)

            Else
                gvConsumables.DataSource = Nothing
                gvConsumables.DataBind()
                'GenerateConsumableCode()
                'btnConsumableAddMore.Enabled = True
                'btnConsumableCancel.Enabled = True
                'btnConsumableDelete.Visible = False
                'EnableControlsCON(True)
            End If

            'If Session("AdminID") <> Nothing Then
            '    EnableControlsCON(True)
            '    If dt.Rows.Count > 0 Then
            '        btnConsumableDelete.Visible = True
            '        btnConsumableDelete.Enabled = True
            '        btnConsumableAddMore.Visible = True
            '        btnConsumableAddMore.Enabled = True
            '        btnConsumableCancel.Visible = True
            '        btnConsumableCancel.Enabled = False
            '        btnConsumableUpdate.Visible = True
            '        btnConsumableUpdate.Enabled = True
            '    Else
            '        btnConsumableDelete.Visible = True
            '        btnConsumableDelete.Enabled = False
            '        btnConsumableAddMore.Visible = True
            '        btnConsumableAddMore.Enabled = True
            '        btnConsumableCancel.Visible = True
            '        btnConsumableCancel.Enabled = True
            '        btnConsumableUpdate.Visible = True
            '        btnConsumableUpdate.Enabled = False
            '    End If
            'Else
            '    btnConsumableUpdate.Visible = False
            'End If
            dt.Clear()
        Catch
        End Try
    End Sub
    Protected Sub FillGridConsumables(ByVal PTN As String)
        Try
            'gvConsumables.Visible = True
            gvConsumables.Columns(1).Visible = True
            gvConsumables.DataSource = getTable("SELECT Consumables.c_kid, Consumables.c_code, Consumables.c_cname, Consumables.c_cquantity FROM Consumables INNER JOIN Product_Master ON Consumables.c_productid = Product_Master.Product_Kid  WHERE (Consumables.c_productid = '" & Session("ProductId") & "') AND (Consumables.c_companyid = '" & Session("g_Company").Trim & "') AND (Consumables.c_IsDeleted = '0')", "Con")
            gvConsumables.DataBind()                               'Bind the Data to the Grid
            gvConsumables.Columns(1).Visible = False
            gvConsumables.Dispose()
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub
    Protected Sub btnConsumableSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConsumableCancel.Click
        Try

            btnvisibleConsumables()
            gvConsumables.SelectedIndex = -1
            ClearConsumableFields()
            ''If Trim(txtc_code.Text) = "" Then                               'If txtOprMantManual_Code TextField is Null then
            ''    CreateMessageAlert(Me, "Consumables Code Cannot be Null!", "StrKeyVal")      'Display the Message 
            ''    Exit Sub
            ''End If

            'Dim con As New SqlConnection                                                    'Define connection variable for connecting to SQL-Server
            'con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")    'Read the ConnectionString from web.config File
            'Dim cmd As New SqlCommand
            ''Define command variable to execute the query
            'cmd.CommandType = CommandType.StoredProcedure                                   'Set the Command Type to Stored procedure
            'cmd.CommandText = "Consumables_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            'cmd.Connection = con                                                            'Assign the connection

            'cmd.Parameters.Add(New SqlParameter("@c_kid", SqlDbType.NVarChar, 20)).Value = Trim(NewPrimaryKey(Me))
            'cmd.Parameters.Add(New SqlParameter("@c_code", SqlDbType.NVarChar, 25)).Value = GenerateConsumableCode().ToString
            'cmd.Parameters.Add(New SqlParameter("@c_productid", SqlDbType.NVarChar, 20)).Value = Session("ProductId") 'Trim(ddlProdSpecInstr_ProductId.SelectedItem.Value)       'Add Parameter Bank_Name and assign the value of txtBankName TextField to it
            'cmd.Parameters.Add(New SqlParameter("@c_cname", SqlDbType.NVarChar, 150)).Value = Trim(txtc_cname.Text)       'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it
            'cmd.Parameters.Add(New SqlParameter("@c_cquantity", SqlDbType.NVarChar, 25)).Value = Trim(txtc_cquantity.Text)       'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it
            'cmd.Parameters.Add(New SqlParameter("@c_cunit", SqlDbType.NVarChar, 20)).Value = Trim(ddlcunit.SelectedItem.Value.ToString)       'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it

            'cmd.Parameters.Add(New SqlParameter("@c_companyid", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company"))       'Add Parameter Company_Code and assign the value of Session("Session("g_Company")") to it
            'cmd.Parameters.Add(New SqlParameter("@c_userid", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_User"))             'Add Parameter UserCode and assign the value of Session("Session("g_User")").toString to it
            'cmd.Parameters.Add(New SqlParameter("@c_financialyearid", SqlDbType.NVarChar, 20)).Value = Session("g_FinYear")
            'cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Consumables"                           'Add Parameter FormName and assign the name of form to it
            'cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 10)).Value = "Insert"                                   'Add Parameter Mode and assign the DML Operation to Execute (Insert)

            'con.Open()                                                                       'Open the Connection
            'cmd.ExecuteNonQuery()                                                           'Execute the Query
            'con.Close()
            'ClearConsumableFields()
            'GenerateConsumableCode()
            'lblResult.Visible = True
            'lblResult.Text = "Record Saved Successfully."
            'MultiView2.ActiveViewIndex = -1
            displayone(tblConsumables)
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
        End Try
    End Sub
    Protected Sub btnConsumableDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try

            Dim Kid As String = gvConsumables.DataKeys(gvConsumables.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("SELECT * FROM Consumables where c_kid = '" & Kid & "' and c_IsDeleted = '0'", "Con")


            Dim con As New SqlConnection                                                    'Define connection variable for connecting to SQL-Server
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")    'Read the ConnectionString from web.config File
            Dim cmd As New SqlCommand
            'Define command variable to execute the query
            cmd.CommandType = CommandType.StoredProcedure                                   'Set the Command Type to Stored procedure
            cmd.CommandText = "Consumables_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con                                                            'Assign the connection

            cmd.Parameters.Add(New SqlParameter("@c_kid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("c_kid").ToString
            cmd.Parameters.Add(New SqlParameter("@c_code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("c_code").ToString
            cmd.Parameters.Add(New SqlParameter("@c_productid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("c_productid").ToString 'Trim(ddlProdSpecInstr_ProductId.SelectedItem.Value)       'Add Parameter Bank_Name and assign the value of txtBankName TextField to it
            cmd.Parameters.Add(New SqlParameter("@c_cname", SqlDbType.NVarChar, 150)).Value = Trim(txtc_cname.Text)       'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it
            cmd.Parameters.Add(New SqlParameter("@c_cquantity", SqlDbType.NVarChar, 25)).Value = Trim(txtc_cquantity.Text)       'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it
            cmd.Parameters.Add(New SqlParameter("@c_cunit", SqlDbType.NVarChar, 20)).Value = Trim(ddlcunit.SelectedItem.Value.ToString)       'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it

            cmd.Parameters.Add(New SqlParameter("@c_companyid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("c_companyid").ToString       'Add Parameter Company_Code and assign the value of Session("Session("g_Company")") to it
            cmd.Parameters.Add(New SqlParameter("@c_userid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("c_userid").ToString             'Add Parameter UserCode and assign the value of Session("Session("g_User")").toString to it
            cmd.Parameters.Add(New SqlParameter("@c_financialyearid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("c_financialyearid").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Consumables"                           'Add Parameter FormName and assign the name of form to it
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 10)).Value = "Delete"                                   'Add Parameter Mode and assign the DML Operation to Execute (Insert)

            con.Open()                                                                       'Open the Connection
            cmd.ExecuteNonQuery()                                                           'Execute the Query
            con.Close()
            dt.Clear()
            getConsumablesExistingData()
            ClearConsumableFields()
            displayone(tblConsumables)
            CreateMessageAlert(Me, "Consumables deleted successfully.!", "strkeyval")
            gvConsumables.SelectedIndex = -1
            btnvisibleConsumables()
            'GenerateConsumableCode()
            'lblResult.Visible = True
            'lblResult.Text = "Record Saved Successfully."
            'MultiView2.ActiveViewIndex = -1
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
        End Try
    End Sub
    Protected Sub btnConsumableUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConsumableUpdate.Click
        Try

            If Val(txtc_cquantity.Text) <= 0 Then
                lblResult.Visible = True
                lblResult.Text = "Quantity must be greater than zero"
                Exit Sub
            Else
                lblResult.Visible = False
            End If

            Dim Kid As String = gvConsumables.DataKeys(gvConsumables.SelectedIndex).Value.ToString
            Dim dt As DataTable = getTable("SELECT * FROM Consumables where c_kid = '" & Kid & "' and c_IsDeleted = '0' ", "Con")


            Dim con As New SqlConnection                                                    'Define connection variable for connecting to SQL-Server
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")    'Read the ConnectionString from web.config File
            Dim cmd As New SqlCommand
            'Define command variable to execute the query
            cmd.CommandType = CommandType.StoredProcedure                                   'Set the Command Type to Stored procedure
            cmd.CommandText = "Consumables_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con                                                            'Assign the connection

            cmd.Parameters.Add(New SqlParameter("@c_kid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("c_kid").ToString
            cmd.Parameters.Add(New SqlParameter("@c_code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("c_code").ToString
            cmd.Parameters.Add(New SqlParameter("@c_productid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("c_productid").ToString 'Trim(ddlProdSpecInstr_ProductId.SelectedItem.Value)       'Add Parameter Bank_Name and assign the value of txtBankName TextField to it
            cmd.Parameters.Add(New SqlParameter("@c_cname", SqlDbType.NVarChar, 150)).Value = Trim(txtc_cname.Text)       'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it
            cmd.Parameters.Add(New SqlParameter("@c_cquantity", SqlDbType.NVarChar, 25)).Value = Trim(txtc_cquantity.Text)       'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it
            cmd.Parameters.Add(New SqlParameter("@c_cunit", SqlDbType.NVarChar, 20)).Value = Trim(ddlcunit.SelectedItem.Value.ToString)       'Add Parameter OprMantManual_Code and assign the value of txtOprMantManual_Code TextField to it

            cmd.Parameters.Add(New SqlParameter("@c_companyid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("c_companyid").ToString       'Add Parameter Company_Code and assign the value of Session("Session("g_Company")") to it
            cmd.Parameters.Add(New SqlParameter("@c_userid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("c_userid").ToString             'Add Parameter UserCode and assign the value of Session("Session("g_User")").toString to it
            cmd.Parameters.Add(New SqlParameter("@c_financialyearid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("c_financialyearid").ToString
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 50)).Value = "Consumables"                           'Add Parameter FormName and assign the name of form to it
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 10)).Value = "Update"                                   'Add Parameter Mode and assign the DML Operation to Execute (Insert)

            con.Open()                                                                       'Open the Connection
            cmd.ExecuteNonQuery()                                                           'Execute the Query
            con.Close()
            dt.Clear()
            getConsumablesExistingData()
            ClearConsumableFields()
            displayone(tblConsumables)
            CreateMessageAlert(Me, "Consumables updated successfully.!", "strkeyval")
            gvConsumables.SelectedIndex = -1
            btnvisibleConsumables()
            'GenerateConsumableCode()
            'lblResult.Visible = True
            'lblResult.Text = "Record Saved Successfully."
            'MultiView2.ActiveViewIndex = -1
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
        End Try
    End Sub
    '******************************************** Catalogue  ******************************************************
    Protected Sub btncatalogue_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btncatalogue.Click
        Try
            lblResult.Visible = False
            'MultiView2.ActiveViewIndex = 10
            'Tr45.Visible = False
            TrfuProductCateloge.Style.Add("display", "none")
            rblProductCataloge.Attributes.Add("onclick", "return rblProductCatalogeClick(this);")
            btnCatalogSubmit.Attributes.Add("onclick", "return checkCataloge();")
            btnCatalogUpdate.Attributes.Add("onclick", "return checkCataloge();")
            rblProductCataloge.ClearSelection()
            rblProductCataloge.Focus()
            getCatalogExistingData()
        Catch
        End Try
    End Sub
    Private Sub getCatalogExistingData()
        Try
            ' Dim strsss As String = Session("ProductId")
            str = "SELECT Catalog_kid, Catalog_code, Catalog_pcatalog, Catalog_upload, Catalog_Adminupload FROM Catalog where Catalog_productid = " & "'" & Session("ProductId") & "'" & " and Catalog_companyid =" & "'" & Session("g_Company").Trim & "'" & " and Catalog_IsDeleted = '0'"
            Dim dt As DataTable
            dt = getTable(str, "CAT")
            If dt.Rows.Count > 0 Then
                'txtCatalog_Code.Text = dt.Rows(0).Item("Catalog_Code").ToString
                If dt.Rows(0).Item("Catalog_pcatalog").ToString = "Y" Then

                    '' '' ''If Session("AdminID") <> Nothing Then
                    TrfuProductCateloge.Style.Add("display", "auto")
                    '' '' ''End If
                    rblProductCataloge.SelectedValue = "Yes"
                    TrProductCatalogeFileName.Style.Add("display", "auto")
                    'rblProductMSDS.SelectedValue = "Yes"
                    'lblMSDS_UploadedDataSheetName.Visible = True
                    lblCatalogPath.Text = dt.Rows(0).Item("Catalog_upload").ToString
                    lblCatalogPath.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("Catalog_upload").ToString
                    'FileUploadM

                    'rblProductCataloge.Items.FindByText("Yes").Selected = True
                    'lblCatalogPath.Text = dt.Rows(0).Item("Catalog_upload").ToString
                    'lblCatalogPath.Visible = True
                    'FileUploadCatalog.Visible = False
                    'lblCatalogPath.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("Catalog_upload").ToString
                    ''Dim strpath As String = "~/SupplierImage/Installation_manual/" & lblpath.Text
                    'Label2.Visible = True
                    'lblCatalogFile.Visible = False
                    'rblProductCataloge.Enabled = False

                Else

                    rblProductCataloge.SelectedValue = "No"
                    TrProductCatalogeFileName.Style.Add("display", "none")

                    'rblProductCataloge.Items.FindByText("No").Selected = True
                    'lblCatalogFile.Visible = False
                    'FileUploadCatalog.Visible = False
                    'lblCatalogPath.Visible = False
                    'rblProductCataloge.Enabled = False

                End If
                '' '' ''If Session("AdminID") = Nothing Then
                '' '' ''    btnCatalogSubmit.Visible = False
                '' '' ''    btnCatalogUpdate.Visible = False
                '' '' ''    EnableControlsCAT(False)
                '' '' ''Else
                btnCatalogSubmit.Visible = False
                btnCatalogUpdate.Visible = True
                EnableControlsCAT(True)
                '' '' ''End If
            Else

            TrProductCatalogeFileName.Style.Add("display", "none")
            btnCatalogSubmit.Visible = True
            btnCatalogUpdate.Visible = False
            EnableControlsCAT(True)

            'Call GenerateCatalogCode()
            'AdminFileUploadCatalog.Visible = True
            'Label104.Visible = True
            'lblAdminCatalogPath.Visible = False
            'CheckFlag = False
            'btnCatalogSubmit.Enabled = True
            'lblCatalogPath.Visible = False
            End If
            'If Session("AdminID") <> Nothing Then
            '    EnableControlsCAT(True)
            '    FileUploadCatalog.Visible = True
            '    If dt.Rows.Count > 0 Then

            '        If dt.Rows(0).Item("Catalog_Adminupload").ToString.Trim.Length > 0 Then
            '            'AdminFileUploadCatalog.Visible = True
            '            'Label104.Visible = True
            '            'lblAdminCatalogPath.Visible = True
            '        Else
            '            'AdminFileUploadCatalog.Visible = True
            '            'Label104.Visible = True
            '            'lblAdminCatalogPath.Visible = False
            '        End If

            '        btnCatalogSubmit.Visible = False
            '        btnCatalogUpdate.Visible = True
            '    Else
            '        btnCatalogSubmit.Visible = True
            '        btnCatalogUpdate.Visible = False
            '    End If

            'Else
            '    'AdminFileUploadCatalog.Visible = False
            '    'Label104.Visible = False
            '    'lblAdminCatalogPath.Visible = False
            '    btnCatalogUpdate.Visible = False
            'End If
            dt = Nothing
        Catch
        End Try
    End Sub
    Protected Sub btnCatalogUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCatalogUpdate.Click
        Try
            str = "SELECT * FROM Catalog where Catalog_productid =  '" & Session.Item("ProductId") & "'  and Catalog_IsDeleted = '0'"
            Dim dt As DataTable
            dt = getTable(str, "CAT")

            Try
                Dim strImageName As String = ""
                'If Trim(txtCatalog_Code.Text) = "" Then                               'If txtMSDS_Code TextField is Null then
                '    CreateMessageAlert(Me, "Catalog Code Cannot be Null!", "StrKeyVal")      'Display the Message 
                '    Exit Sub
                'End If

                '----------------------------------
                If rblProductCataloge.SelectedValue = "Yes" Then
                    If (FileUploadCatalog.HasFile) Then
                        Dim fileType As String = Path.GetExtension(FileUploadCatalog.FileName).ToLower
                        If fileType.ToLower = ".gif" Or fileType = ".jpg" Or fileType = ".docx" Or fileType = ".doc" Or fileType = ".bmp" Or fileType = ".jpeg" Or fileType = ".pdf" Then
                            strImageName = Final_FileUpload(FileUploadCatalog, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\\"))
                        Else
                            lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
                            strImageName = dt.Rows(0).Item("Catalog_upload").ToString
                        End If
                    Else
                        strImageName = dt.Rows(0).Item("Catalog_upload").ToString
                    End If
                ElseIf rblProductCataloge.SelectedValue = "No" Then
                    strImageName = ""
                    'Session("UploadFile") = str
                Else
                    'lblCatError.Visible = True
                    'lblCatError.Text = "Please Select Yes Or No..!!"
                    Exit Sub
                End If

                Dim AdminstrImageName As String = ""
                'If (AdminFileUploadCatalog.HasFile) Then
                '    Dim fileType As String = Path.GetExtension(AdminFileUploadCatalog.FileName).ToLower
                '    If fileType.ToLower = ".gif" Or fileType = ".jpg" Or fileType = ".docx" Or fileType = ".doc" Or fileType = ".bmp" Or fileType = ".jpeg" Or fileType = ".pdf" Then
                '        AdminstrImageName = Final_FileUpload(AdminFileUploadCatalog, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                '    Else
                '        lblResult.Visible = True
                '        lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
                '        AdminFileUploadCatalog.Focus()
                '        Exit Sub
                '        'AdminstrImageName = dt.Rows(0).Item("Catalog_Adminupload").ToString
                '    End If
                'ElseIf lblAdminCatalogPath.Text.Trim.Length > 0 Then
                '    AdminstrImageName = dt.Rows(0).Item("Catalog_Adminupload").ToString
                'End If

                Dim con As New SqlConnection                                                    'Define connection variable for connecting to SQL-Server
                con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")    'Read the ConnectionString from web.config File

                Dim cmd As New SqlCommand                                                       'Define command variable to execute the query
                cmd.CommandType = CommandType.StoredProcedure                                   'Set the Command Type to Stored procedure
                cmd.CommandText = "Catalog_Proc"                                        'Assign the Name of Stored Procedure, to Execute
                cmd.Connection = con                                                            'Assign the connection

                cmd.Parameters.Add(New SqlParameter("@Catalog_kid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("Catalog_kid").ToString
                cmd.Parameters.Add(New SqlParameter("@Catalog_code", SqlDbType.NVarChar, 25)).Value = dt.Rows(0).Item("Catalog_code").ToString
                If rblProductCataloge.SelectedValue = "Yes" Then
                    cmd.Parameters.Add(New SqlParameter("@Catalog_pcatalog", SqlDbType.NVarChar, 1)).Value = "Y"
                Else
                    cmd.Parameters.Add(New SqlParameter("@Catalog_pcatalog", SqlDbType.NVarChar, 1)).Value = "N"
                End If

                cmd.Parameters.Add(New SqlParameter("@Catalog_upload", SqlDbType.NVarChar, 100)).Value = strImageName 'Session("UploadFile")
                cmd.Parameters.Add(New SqlParameter("@Catalog_Adminupload", SqlDbType.NVarChar, 100)).Value = AdminstrImageName 'Session("UploadFile")
                cmd.Parameters.Add(New SqlParameter("@Catalog_productid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("Catalog_productid").ToString
                cmd.Parameters.Add(New SqlParameter("@Catalog_companyid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("Catalog_companyid").ToString
                cmd.Parameters.Add(New SqlParameter("@Catalog_userid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("Catalog_userid").ToString       'Add Parameter Company_Code and assign the value of Session("Session("g_Company")") to it
                cmd.Parameters.Add(New SqlParameter("@Catalog_financialyearid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("Catalog_financialyearid").ToString            'Add Parameter UserCode and assign the value of Session("Session("g_User")").toString to it
                cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Catalog"                           'Add Parameter FormName and assign the name of form to it
                cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 10)).Value = "Update"                                   'Add Parameter Mode and assign the DML Operation to Execute (Insert)
                con.Open()
                cmd.ExecuteNonQuery()                                                           'Execute the Query
                con.Close()
                GenerateCatalogCode()
                displayone(tblCataloge)
                CreateMessageAlert(Me, "Product Cataloge updated successfully.!", "strkeyval")
                getCatalogExistingData()
                'lblResult.Visible = True
                'lblResult.Text = "Record Updated Successfully."
                'MultiView2.ActiveViewIndex = -1
            Catch ex As Exception
                'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
            End Try
        Catch
        End Try

    End Sub
    Protected Sub btnCatalogSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCatalogSubmit.Click
        'Save Item in Catalog
        '
        Try
            Dim strImageName As String = ""
            'If Trim(txtCatalog_Code.Text) = "" Then                               'If txtMSDS_Code TextField is Null then
            '    CreateMessageAlert(Me, "Catalog Code Cannot be Null!", "StrKeyVal")      'Display the Message 
            '    Exit Sub
            'End If

            '----------------------------------
            If rblProductCataloge.SelectedValue = "Yes" Then
                If (FileUploadCatalog.HasFile) Then
                    Dim fileType As String = Path.GetExtension(FileUploadCatalog.FileName).ToLower
                    If fileType.ToLower = ".gif" Or fileType = ".jpg" Or fileType = ".docx" Or fileType = ".doc" Or fileType = ".bmp" Or fileType = ".jpeg" Or fileType = ".pdf" Then
                        strImageName = Final_FileUpload(FileUploadCatalog, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                    Else
                        lblResult.Visible = True
                        lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
                        FileUploadCatalog.Focus()
                        Exit Sub
                    End If
                Else
                    lblResult.Visible = True
                    lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
                    FileUploadCatalog.Focus()
                    Exit Sub
                End If
            ElseIf rblProductCataloge.SelectedValue = "No" = True Then
                strImageName = ""
                'Session("UploadFile") = str
            Else
                'lblCatError.Visible = True
                'lblCatError.Text = "Please Select Yes Or No..!!"
                Exit Sub
            End If

            Dim AdminStrImageName As String = ""
            'If Session("AdminID") <> Nothing Then
            '    If AdminFileUploadCatalog.Visible = True Then
            '        If (AdminFileUploadCatalog.HasFile) Then
            '            Dim fileType As String = Path.GetExtension(AdminFileUploadCatalog.FileName).ToLower
            '            If fileType.ToLower = ".gif" Or fileType = ".jpg" Or fileType = ".docx" Or fileType = ".doc" Or fileType = ".bmp" Or fileType = ".jpeg" Or fileType = ".pdf" Then
            '                AdminStrImageName = Final_FileUpload(AdminFileUploadCatalog, Img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
            '            Else
            '                lblResult.Visible = True
            '                lblResult.Text = "Please select .pdf, .gif, .jpg file only!"
            '                FileUploadCatalog.Focus()
            '                Exit Sub
            '            End If
            '        End If
            '    End If
            'End If
            Dim con As New SqlConnection                                                    'Define connection variable for connecting to SQL-Server
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")    'Read the ConnectionString from web.config File

            Dim cmd As New SqlCommand                                                       'Define command variable to execute the query
            cmd.CommandType = CommandType.StoredProcedure                                   'Set the Command Type to Stored procedure
            cmd.CommandText = "Catalog_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con                                                            'Assign the connection

            cmd.Parameters.Add(New SqlParameter("@Catalog_kid", SqlDbType.NVarChar, 20)).Value = NewPrimaryKey(Me)
            cmd.Parameters.Add(New SqlParameter("@Catalog_code", SqlDbType.NVarChar, 25)).Value = GenerateCatalogCode().ToString        'Add Parameter MSDS_Code and assign the value of txtMSDS_Code TextField to it
            If rblProductCataloge.SelectedValue = "Yes" Then
                cmd.Parameters.Add(New SqlParameter("@Catalog_pcatalog", SqlDbType.NVarChar, 1)).Value = "Y"
            Else
                cmd.Parameters.Add(New SqlParameter("@Catalog_pcatalog", SqlDbType.NVarChar, 1)).Value = "N"
            End If

            cmd.Parameters.Add(New SqlParameter("@Catalog_upload", SqlDbType.NVarChar, 100)).Value = strImageName 'Session("UploadFile")
            cmd.Parameters.Add(New SqlParameter("@Catalog_Adminupload", SqlDbType.NVarChar, 100)).Value = AdminStrImageName 'Session("UploadFile")
            cmd.Parameters.Add(New SqlParameter("@Catalog_productid", SqlDbType.NVarChar, 20)).Value = Session("ProductId")
            cmd.Parameters.Add(New SqlParameter("@Catalog_companyid", SqlDbType.NVarChar, 20)).Value = Session("g_Company")
            cmd.Parameters.Add(New SqlParameter("@Catalog_userid", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_User"))       'Add Parameter Company_Code and assign the value of Session("Session("g_Company")") to it
            cmd.Parameters.Add(New SqlParameter("@Catalog_financialyearid", SqlDbType.NVarChar, 20)).Value = Session("g_FinYear")            'Add Parameter UserCode and assign the value of Session("Session("g_User")").toString to it
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Catalog"                           'Add Parameter FormName and assign the name of form to it
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 10)).Value = "Insert"                                   'Add Parameter Mode and assign the DML Operation to Execute (Insert)
            con.Open()
            cmd.ExecuteNonQuery()                                                           'Execute the Query
            con.Close()
            GenerateCatalogCode()
            displayone(tblCataloge)
            CreateMessageAlert(Me, "Product Cataloge saved successfully.!", "strkeyval")
            getCatalogExistingData()
            'lblResult.Visible = True
            'lblResult.Text = "Record Saved Successfully."
            'MultiView2.ActiveViewIndex = -1
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
        End Try
    End Sub
    Protected Sub ClearCatalogFields()
        Try
            'txtCatalog_Code.Text = ""                  'Assign Null to the TextField
            rblProductCataloge.ClearSelection()
            lblCatalogPath.Text = ""
            'lblCatError.Text = ""
        Catch
        End Try
    End Sub
    Protected Sub EnableControlsCAT(ByVal Action As Boolean)
        Try
            rblProductCataloge.Enabled = Action
        Catch
        End Try
    End Sub
    Protected Function GenerateCatalogCode() As String
        Try
            Dim i As String

            Dim qry As String
            Dim code As String
            'txtCatalog_Kid.Text = NewPrimaryKey(Me)
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "CAT" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from Catalog where Catalog_code='" & code & "'"
                If IsAlreadyPresent(qry) Then
                    i = Val(i) + 1
                    i = Format(Val(i), "000")
                    Return code
                    Exit Function
                Else
                    Return code
                    Exit Function
                End If
            End While
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Function
    Protected Sub UpdateData(ByVal StrMode As String, ByVal txt As TextBox)
        Try
            Dim cmd As New SqlCommand
            Dim sqlcol As Data.SqlClient.SqlParameterCollection = cmd.Parameters
            sqlcol.Add("@Unit_Kid", SqlDbType.NVarChar, 10).Value = NewPrimaryKey(Me)
            sqlcol.Add("@Unit_Code", SqlDbType.NVarChar, 25).Value = Generate_Code("select count(*) from Unit_Master where Unit_Code='", "UC")
            sqlcol.Add("@Unit_Name", SqlDbType.NVarChar, 25).Value = txt.Text.Trim.ToString()
            sqlcol.Add("@Unit_Flag", SqlDbType.NVarChar, 50).Value = "Tech"
            sqlcol.Add("@Unit_FinancialYearId", SqlDbType.NVarChar, 10).Value = Session("g_FinYear")
            sqlcol.Add("@Unit_CompanyId", SqlDbType.NVarChar, 10).Value = Session("g_Company")
            sqlcol.Add("@Unit_UserId", SqlDbType.NVarChar, 10).Value = Session("g_User")
            sqlcol.Add("@FormName", SqlDbType.NVarChar, 50).Value = Me.Page.ToString
            sqlcol.Add("@Mode", SqlDbType.NVarChar, 10).Value = StrMode
            If ExecQuery("Unit_Master_Proc", sqlcol).StartsWith("True") Then
                cmd = Nothing
                sqlcol = Nothing
            End If
        Catch
        End Try
    End Sub
    Protected Sub btnSkip_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    End Sub
    'Protected Sub ddlPackingType_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
    '    If ddlPackingType.SelectedItem.Text = "Other" Then
    '        txtPackingType.Visible = True
    '        ddlPackingType.Visible = False
    '        ImageButton16.Visible = False
    '        ImageButton20.Visible = True
    '    End If
    'End Sub
End Class
