Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Imports ModCommon

Partial Class product_price
    Inherits System.Web.UI.Page
    Shared g_User As String
    Shared g_Company As String
    Shared g_FinYear As String
    Dim strcon As String = ConfigurationSettings.AppSettings.Item("ConnectionString")
    Dim con As New SqlConnection(strcon)
    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 img As Integer
    Shared Category1(50) As String
    Shared i As Integer
    Shared Search As Boolean
    Shared conn As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            If Session("SupplierID") Is Nothing And Session("AdminID") = Nothing Then
                If Session("SupplierID") Is Nothing Then
                    Response.Redirect("listproduct.aspx?sess=expire")
                    Exit Sub
                ElseIf Session("AdminID") = Nothing Then
                    Response.Redirect("~/admin/AdminLogin.aspx?sesn=expire")
                    Exit Sub
                End If
            End If

            If Request.QueryString("Product") <> Nothing Then
                Session("ProductID") = RemoveLiterals(Request.QueryString("Product").ToString)
            End If
            btnDelete.Attributes.Add("onclick", "return ConfrmMsg();")
            BtnUpdate.Attributes.Add("onclick", "Javascript:confirm('Are you Sure! You want to Update?');")
            'BtnSave.Attributes.Add("onclick", "return SaveConfirm();")
            If Page.IsPostBack = False Then
                rwCode.Visible = False
                i = 0
                ClearFields()              'Clear the TextFields
                g_User = Session("SupplierID").ToString.Trim
                g_Company = Session("g_Company").ToString
                Call GenerateBankCode()
                getGridData()
                ddl_ProReviewOtherProduct.Visible = False
                lblExisting.Visible = False
                'UnLockTextBox(False)
                getExistingData()

                txtPackagingCharge.Attributes.Add("onkeypress", "return CheckNumericValue(event)")

                ddlPackagingCharge.Enabled = False
                isAccess.Visible = False
                If Session("SupplierID") Is Nothing Then
                    Response.Redirect("listproduct.aspx")
                    Exit Sub
                Else

                    GetExisting1()
                    isAccess.Visible = True
                    trwear.Visible = False

                End If

                'g_User = "000008I"
                'g_Company = "00006Z4"
                'g_FinYear = "000010N"

                DDLFill()
            End If

        Catch
        End Try
    End Sub
    
    Public Sub GetExisting1()

        Try

            Dim dt As DataTable = ReturnDataTable("Select Product_Image,Product_StandardPrice,Product_StandardPriceType,Product_PackagingCharge,Product_PackagingChargeType,Product_MOPrice,Product_MOPriceType,Product_TransferPrice,Product_TransferPriceType,Product_SpecialPrice,Product_SpecialPriceType,Product_PcsPerKg,Product_IsSpareParts,Product_IsWear_Tear,Product_IsAssc From Product_Master Where Product_SupplierID = '" & Session("SupplierID").ToString & "'and Product_Kid = '" & Session("ProductId").ToString.Trim & "'and Product_IsDeleted = '0'")

            If dt.Rows.Count > 0 Then

                Try
                    If IsDBNull(dt.Rows(0).Item("Product_PackagingChargeType")) Or dt.Rows(0).Item("Product_PackagingChargeType").ToString = "" Then

                        If Session("AdminID") = Nothing And lblPackagingCharge.Text <> "" Then
                            ddlPackagingCharge.Visible = False
                        Else
                            If txtPackagingCharge.Visible = True Then
                                ddlPackagingCharge.Visible = True
                            Else
                                ddlPackagingCharge.Visible = False
                            End If
                        End If
                    Else
                        ddlPackagingCharge.ClearSelection()
                        txtPackagingCharge.Visible = False
                        lblPackagingCharge.Text = ReturnValue("Select Unit_Name from Unit_Master where Unit_Kid ='" & dt.Rows(0).Item("Product_PackagingChargeType").ToString() & "'and Unit_Flag='Amount' and Unit_IsDeleted ='0'")
                        lnkPackagingCharge.Visible = False
                        ddlPackagingCharge.Visible = False
                        If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                            lnkPackagingCharge.Visible = True
                            lnkPackagingCharge.Text = "Edit"
                        End If
                    End If
                Catch ex As Exception
                    ddlPackagingCharge.ClearSelection()
                End Try


                Try
                    If IsDBNull(dt.Rows(0).Item("Product_PackagingCharge")) Or dt.Rows(0).Item("Product_PackagingCharge").ToString = "" Then
                        rdopackagingType.Enabled = True
                        rdopackagingType.SelectedValue = 1

                        'lblpercent.Visible = True
                        ddlPackagingCharge.Visible = False

                        If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                        Else
                            txtPackagingCharge.Visible = True
                            ddlPackagingCharge.Visible = True
                        End If
                    Else
                        Dim marketp As String = ReturnValue("select Product_MarketPrice from Product_Master Where Product_Kid ='" & Session("ProductID") & "'and Product_IsDeleted = '0'")
                        Dim marketprice As Double = CType(marketp, Double)

                        rdopackagingType.Enabled = False
                        ' If IsDBNull(dt.Rows(0).Item("Product_PackagingChargeType")) Or dt.Rows(0).Item("Product_PackagingChargeType").ToString = "" Then
                        rdopackagingType.SelectedValue = 0
                        Dim aa_cc As Double = (100 * CType(dt.Rows(0).Item("Product_PackagingCharge").ToString(), Double)) / marketp
                        Dim aa_cc1 As Double = Math.Round(aa_cc, 2)
                        lblCalculatePackCharge.Text = "( " & aa_cc1 & "% )"
                        lblPackagingCharge.Text = "Rs. " & dt.Rows(0).Item("Product_PackagingCharge").ToString()

                        'lblpercent.Visible = True
                        ' Else
                        'rdopackagingType.SelectedValue = 2
                        ' lblpercent.Visible = False
                        'lblPackagingCharge.Text += " " & dt.Rows(0).Item("Product_PackagingCharge").ToString()

                        ' End If

                        rdopackagingType.Enabled = False
                        txtPackagingCharge.Visible = False
                        txtPackagingCharge.Text = dt.Rows(0).Item("Product_PackagingCharge").ToString()
                        lnkPackagingCharge.Visible = False
                        lblpercent.Visible = False
                        ' ImageButton8.Visible = False
                        ddlPackagingCharge.Visible = False
                        If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                            Image4.Visible = True
                            lnkPackagingCharge.Visible = True
                            lnkPackagingCharge.Text = "Edit"
                        End If
                        'End If
                    End If
                Catch
                End Try


                Try
                    If IsDBNull(dt.Rows(0).Item("Product_IsSpareParts")) Or dt.Rows(0).Item("Product_IsSpareParts").ToString = "" Then
                        rdoSparePart.Items.FindByValue("N").Selected = True
                        isAccess.Visible = False
                        rdoAccessories.Enabled = True
                        btnAccessories.Enabled = True
                        rdoAccessories.Items.FindByValue("N").Selected = True
                        Label26.Text = ""
                        Label26.Visible = False
                    Else
                        rdoSparePart.Visible = False
                        btnSparePart.Visible = False
                        If dt.Rows(0).Item("Product_IsSpareParts").ToString = "Y" Then
                            Label26.Visible = True
                            Label26.Text = "Yes"
                            isAccess.Visible = True
                            rdoAccessories.ClearSelection()
                            rdoAccessories.Enabled = False
                            btnAccessories.Enabled = False
                        ElseIf dt.Rows(0).Item("Product_IsSpareParts").ToString = "N" Then
                            Label26.Visible = True
                            Label26.Text = "No"
                            isAccess.Visible = False
                            rdoAccessories.Enabled = True
                            btnAccessories.Enabled = True
                        End If

                        If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                            btnSparePart.Visible = True
                            btnSparePart.Text = "Edit"
                        End If

                    End If


                Catch
                End Try


                Try
                    If IsDBNull(dt.Rows(0).Item("Product_IsWear_Tear")) Or dt.Rows(0).Item("Product_IsWear_Tear").ToString = "" Then
                        rdoWearTear.Visible = True
                        rdoWearTear.ClearSelection()
                        rdoWearTear.Items.FindByValue("N").Selected = True
                        Label27.Text = ""
                        Label27.Visible = False
                    Else
                        rdoWearTear.Visible = False
                        btnWearTear.Visible = False
                        If dt.Rows(0).Item("Product_IsWear_Tear").ToString = "Y" Then
                            Label27.Visible = True
                            Label27.Text = "Yes"
                        ElseIf dt.Rows(0).Item("Product_IsWear_Tear").ToString = "N" Then
                            Label27.Visible = True
                            Label27.Text = "No"

                        End If

                        If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                            btnWearTear.Visible = True
                            btnWearTear.Text = "Edit"
                        End If

                    End If
                Catch
                End Try

                Try
                    If IsDBNull(dt.Rows(0).Item("Product_IsAssc")) Or dt.Rows(0).Item("Product_IsAssc").ToString = "" Then
                        rdoAccessories.ClearSelection()
                        rdoAccessories.Items.FindByValue("N").Selected = True
                        Label28.Text = ""
                        Label28.Visible = False
                    Else
                        rdoAccessories.Visible = False
                        btnAccessories.Visible = False
                        If dt.Rows(0).Item("Product_IsAssc").ToString = "Y" Then
                            Label28.Visible = True
                            Label28.Text = "Yes"
                        ElseIf dt.Rows(0).Item("Product_IsAssc").ToString = "N" Then
                            Label28.Visible = True
                            Label28.Text = "No"
                        End If

                        If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                            btnAccessories.Visible = True
                            btnAccessories.Text = "Edit"
                        End If

                    End If
                Catch
                End Try





            End If
            dt.Clear()


        Catch ex As Exception
        End Try
    End Sub
    Protected Sub rdoSparePart_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        If rdoSparePart.SelectedIndex = 0 Then
            isAccess.Visible = False
            rdoAccessories.Enabled = False
            rdoAccessories.ClearSelection()
            btnAccessories.Enabled = False
            trwear.Visible = True
        ElseIf rdoSparePart.SelectedIndex = 1 Then
            isAccess.Visible = True
            rdoAccessories.Enabled = True
            btnAccessories.Enabled = True
            trwear.Visible = False
        End If
    End Sub
    Protected Sub btnSparePart_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            Dim AsVal As String = ReturnValue("Select Product_IsAssc from Product_Master Where Product_Kid ='" & Session("ProductID").ToString.Trim & "'and Product_IsDeleted = '0'")
            Dim Spart As String = ReturnValue("SELECT ODTSP_ProductId  FROM OtherDetail_SpareParts Where ODTSP_SparePartId ='" & Session("ProductID").ToString.Trim & "'")
            Dim IsWear As String = ReturnValue("Select Product_IsWear_Tear from Product_Master Where Product_Kid ='" & Session("ProductID").ToString.Trim & "'and Product_IsDeleted = '0'")
            If btnSparePart.Text = "Edit" Then

                rdoSparePart.Visible = True
                rdoSparePart.ClearSelection()
                rdoSparePart.Enabled = True
                Dim Val As String = ReturnValue("Select Product_IsSpareParts from Product_Master Where Product_Kid ='" & Session("ProductID").ToString.Trim & "'and Product_IsDeleted = '0'")
                Try
                    rdoSparePart.Items.FindByValue(Val).Selected = True
                Catch
                End Try
                Label26.Text = ""
                Label26.Visible = False
                btnSparePart.Text = "Update"
            Else
                If (AsVal <> "Y" Or AsVal = "" Or Spart = "") Then
                    If btnSparePart.Text = "Update" Or btnSparePart.Text = "Save" Then
                        If Session("ProductID") <> Nothing And AsVal <> "Y" Then
                            ExecuteQuery("UPDATE Product_Master SET Product_IsSpareParts = '" & rdoSparePart.SelectedValue.ToString & "',Product_ClientIP='" & Request.UserHostAddress & "' WHERE Product_Kid = '" & Session("ProductID").ToString.Trim & "'")

                            If IsWear = "Y" And rdoSparePart.SelectedIndex = 1 Then
                                '  ExecuteQuery("UPDATE Product_Master SET Product_IsWear_Tear = 'N' WHERE Product_Kid = '" & Session("ProductID").ToString.Trim & "'")
                                ' ExecuteQuery("UPDATE Product_Master SET Product_IsAssc = 'N' WHERE Product_Kid = '" & Session("ProductID").ToString.Trim & "'")
                                ExecuteQuery("UPDATE Product_Master SET Product_IsWear_Tear = 'N',Product_ClientIP='" & Request.UserHostAddress & "' WHERE Product_Kid = '" & Session("ProductID").ToString.Trim & "'")
                                Label27.Text = "No"
                            End If
                            System.Threading.Thread.Sleep(1000)
                            rdoSparePart.Visible = False
                            Label26.Visible = True
                            Label26.Text = rdoSparePart.SelectedItem.Text.ToString
                            btnSparePart.Visible = False

                            If btnSparePart.Text = "Update" Then
                                btnSparePart.Visible = True
                                btnSparePart.Text = "Edit"
                                rdoSparePart.Enabled = False
                            End If
                            If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                                btnSparePart.Visible = True
                                btnSparePart.Text = "Edit"
                            End If
                        Else
                            showmessage("<img alt='' src='" & Page.ResolveUrl("../Images/javascripts.gif") & "'/>&nbsp;This product already saved as a Accessories.", Label26)
                            Exit Sub
                        End If
                    Else
                        showmessage("<img alt='' src='" & Page.ResolveUrl("../Images/javascripts.gif") & "'/>&nbsp;This product already saved as a SpareParts for a Product. So You can't change it.", Label26)
                        Exit Sub
                    End If
                Else
                    showmessage("<img alt='' src='" & Page.ResolveUrl("../Images/javascripts.gif") & "'/>&nbsp;This product already saved as a Accessories.", Label26)
                    Exit Sub
                End If

            End If
        Catch
        End Try
    End Sub

    Protected Sub btnWearTear_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnWearTear.Click
        Try
            Dim SpVal As String = ReturnValue("Select Product_IsSpareParts from Product_Master Where Product_Kid ='" & Session("ProductID").ToString.Trim & "'and Product_IsDeleted = '0'")
            If btnWearTear.Text = "Edit" Then

                rdoWearTear.Visible = True
                rdoWearTear.ClearSelection()
                rdoWearTear.Enabled = True
                Dim Val As String = ReturnValue("Select Product_IsWear_Tear from Product_Master Where Product_Kid ='" & Session("ProductID").ToString.Trim & "'and Product_IsDeleted = '0'")
                Try
                    rdoWearTear.Items.FindByValue(Val).Selected = True
                Catch
                End Try
                Label27.Text = ""
                Label27.Visible = False
                btnWearTear.Text = "Update"
            Else
                If SpVal = "Y" Then
                    If Session("ProductID") <> Nothing Then
                        ExecuteQuery("UPDATE Product_Master SET Product_IsWear_Tear = '" & rdoWearTear.SelectedValue.ToString & "',Product_ClientIP='" & Request.UserHostAddress & "' WHERE Product_Kid = '" & Session("ProductID").ToString.Trim & "'")
                        System.Threading.Thread.Sleep(1000)
                        rdoWearTear.Visible = False
                        Label27.Visible = True
                        Label27.Text = rdoWearTear.SelectedItem.Text.ToString
                        btnWearTear.Visible = False

                        If btnWearTear.Text = "Update" Then
                            btnWearTear.Visible = True
                            btnWearTear.Text = "Edit"
                            rdoWearTear.Enabled = False
                        End If
                        If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                            btnWearTear.Visible = True
                            btnWearTear.Text = "Edit"
                        End If

                    End If
                Else
                    showmessage("<img alt='' src='" & Page.ResolveUrl("../Images/javascripts.gif") & "'/>&nbsp;First save this product is spare parts.", Label27)
                    Exit Sub
                End If


            End If

        Catch
        End Try
    End Sub

    Protected Sub btnAccessories_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            Dim SpVal As String = ReturnValue("Select Product_IsSpareParts from Product_Master Where Product_Kid ='" & Session("ProductID").ToString.Trim & "'and Product_IsDeleted = '0'")
            Try
                If btnAccessories.Text = "Edit" Then

                    rdoAccessories.Visible = True
                    rdoAccessories.ClearSelection()
                    rdoAccessories.Enabled = True
                    Dim Val As String = ReturnValue("Select Product_IsAssc from Product_Master Where Product_Kid ='" & Session("ProductID").ToString.Trim & "'and Product_IsDeleted = '0'")
                    Try
                        rdoAccessories.Items.FindByValue(Val).Selected = True
                    Catch
                    End Try
                    Label28.Text = ""
                    Label28.Visible = False
                    btnAccessories.Text = "Update"
                Else
                    If (SpVal <> "Y" Or SpVal <> "" Or SpVal = "N") Then
                        If (btnAccessories.Text = "Update" Or btnAccessories.Text = "Save") Then
                            If Session("ProductID") <> Nothing And SpVal <> "Y" Then
                                ExecuteQuery("UPDATE Product_Master SET Product_IsAssc = '" & rdoAccessories.SelectedValue.ToString & "',Product_ClientIP='" & Request.UserHostAddress & "' WHERE Product_Kid = '" & Session("ProductID").ToString.Trim & "'")
                                rdoAccessories.Visible = False
                                Label28.Visible = True
                                Label28.Text = rdoAccessories.SelectedItem.Text.ToString
                                btnAccessories.Visible = False

                                If btnAccessories.Text = "Update" Then
                                    btnAccessories.Visible = True
                                    btnAccessories.Text = "Edit"
                                    rdoAccessories.Enabled = False
                                End If
                                If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                                    btnAccessories.Visible = True
                                    btnAccessories.Text = "Edit"
                                End If
                            Else
                                showmessage("<img alt='' src='" & Page.ResolveUrl("../Images/javascripts.gif") & "'/>&nbsp;This product is spare parts, you can't save it as a Accessories.", Label28)
                                Exit Sub
                            End If
                        Else
                            showmessage("<img alt='' src='" & Page.ResolveUrl("../Images/javascripts.gif") & "'/>&nbsp;This product already saved as a Accessories for a Product. So You can't change it.", Label26)
                            Exit Sub
                        End If
                    Else
                        showmessage("<img alt='' src='" & Page.ResolveUrl("../Images/javascripts.gif") & "'/>&nbsp;This product is spare parts, you can't save it as a Accessories.", Label28)
                        Exit Sub
                    End If

                End If

            Catch
            End Try

        Catch
        End Try
    End Sub
   
    Public Sub DDLFill()
    
        Try
            Fill_Combo("SELECT Unit_Kid, Unit_Name, Unit_Flag FROM Unit_Master WHERE Unit_Flag = 'Amount' and unit_IsDeleted='0' and unit_CompanyId = '" & Session("g_Company").ToString & "' order by unit_name", ddlPackagingCharge)
            ddlPackagingCharge.ClearSelection()
            ddlPackagingCharge.Items.FindByText("Rs.").Selected = True
        Catch
        End Try
    End Sub
    Protected Sub rdoWearTear_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)

    End Sub

    Protected Sub lnkPackagingCharge_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkPackagingCharge.Click
        Dim atcoPriceType As String
        atcoPriceType = ReturnValue("select Product_MarketPriceType from Product_Master Where Product_Kid ='" & Session("ProductID") & "'and Product_IsDeleted = '0'")
        Dim atcopricep As String
        atcopricep = ReturnValue("select Product_MarketPrice from Product_Master Where Product_Kid ='" & Session("ProductID") & "'and Product_IsDeleted = '0'")

        If Val(txtPackagingCharge.Text) < 0 Then
            showmessage("<img alt='' src='" & Page.ResolveUrl("../Images/javascripts.gif") & "'/>&nbsp;Packaging Charge must be greater than zero.", Label17)
            Exit Sub
        End If
        If atcopricep = "" And atcoPriceType = "" Or atcopricep = "0.00" Then
            showmessage("<img alt='' src='" & Page.ResolveUrl("../Images/javascripts.gif") & "'/>&nbsp;Please Enter Price First.", Label17)
            Exit Sub
        End If

        Try


            If ddlPackagingCharge.Visible = True Then
                If atcoPriceType = ddlPackagingCharge.SelectedValue.ToString Then
                    Label17.Visible = False
                Else
                    Label17.Visible = True
                    Label17.Text = "<img alt='' src='" & Page.ResolveUrl("../Images/javascripts.gif") & "'/>&nbsp;Packaging Price type same as market price type."
                    ddlPackagingCharge.Focus()
                    Exit Sub
                End If
            End If

            If lnkPackagingCharge.Text = "Edit" Then
                txtPackagingCharge.Visible = True
                lblPackagingCharge.Visible = False
                rdopackagingType.Enabled = True
                Dim pack_price As String = ReturnValue("Select Product_PackagingCharge from Product_Master Where Product_Kid ='" & Session("ProductID").ToString.Trim & "'and Product_IsDeleted = '0'")
                Dim pack_pricetype As String = ReturnValue("Select Product_PackagingChargeType from Product_Master Where Product_Kid ='" & Session("ProductID").ToString.Trim & "'and Product_IsDeleted = '0'")

                If rdopackagingType.SelectedValue = "1" Then
                    Dim marketp As String = ReturnValue("select Product_MarketPrice from Product_Master Where Product_Kid ='" & Session("ProductID") & "'and Product_IsDeleted = '0'")
                    Dim marketprice As Double = CType(marketp, Double)
                    txtPackagingCharge.Text = (100 * CType(pack_price, Double)) / marketp
                    lblCalculatePackCharge.Visible = True
                    lblCalculatePackCharge.Text = "Rs. " & pack_price
                    ddlPackagingCharge.Visible = False
                Else
                    ddlPackagingCharge.Visible = True
                    txtPackagingCharge.Text = pack_price
                    lblCalculatePackCharge.Visible = True
                    lblCalculatePackCharge.Text = "Rs. " & pack_price
                End If

                'txtPackagingCharge.Text = pack_price    'ReturnValue("Select Product_PackagingCharge from Product_Master Where Product_Kid ='" & Session("ProductID").ToString.Trim & "'and Product_IsDeleted = '0'")
                'ddlPackagingCharge.Visible = True

                lnkPackagingCharge.Text = "Update"
            Else
                If Session("ProductID") <> Nothing Then
                    lblPackagingCharge.Text = ""

                    If rdopackagingType.SelectedValue = 1 Then
                        If txtPackagingCharge.Text > 100 Then
                            Label17.Visible = True
                            Label17.Text = "<img alt='' src='" & Page.ResolveUrl("../Images/javascripts.gif") & "'/>&nbsp;Packaging Charge in % should Not more than 100."
                            txtPackagingCharge.Focus()
                            txtPackagingCharge.Text = ""
                            Exit Sub
                        End If

                        Dim marketp As String = ReturnValue("select Product_MarketPrice from Product_Master Where Product_Kid ='" & Session("ProductID") & "'and Product_IsDeleted = '0'")
                        Dim marketprice As Double = CType(marketp, Double)
                        Dim pack_charge As Double = (marketprice * CType(txtPackagingCharge.Text, Double)) / 100
                        lblPackagingCharge.Text = pack_charge
                        ExecuteQuery("UPDATE Product_Master SET Product_PackagingCharge = '" & pack_charge & "', Product_PackagingChargeType ='" & RemoveLiterals(atcoPriceType) & "',Product_ClientIP='" & Request.UserHostAddress & "' WHERE Product_Kid = '" & Session("ProductID").ToString.Trim & "'")
                        lblCalculatePackCharge.Visible = True
                        lblCalculatePackCharge.Text = "( " & txtPackagingCharge.Text & " %)"
                        lblpercent.Visible = False
                        lblPackagingCharge.Text = "Rs. " & pack_charge

                    Else
                        ExecuteQuery("UPDATE Product_Master SET Product_PackagingCharge = '" & txtPackagingCharge.Text.ToString.Trim & "', Product_PackagingChargeType = '" & RemoveLiterals(atcoPriceType) & "',Product_ClientIP='" & Request.UserHostAddress & "' WHERE Product_Kid = '" & Session("ProductID").ToString.Trim & "'")
                        lblPackagingCharge.Text = ddlPackagingCharge.SelectedItem.Text & "  " & txtPackagingCharge.Text
                        lblCalculatePackCharge.Visible = False
                    End If

                    rdopackagingType.Enabled = False
                    txtPackagingCharge.Visible = False
                    ddlPackagingCharge.Visible = False
                    lnkPackagingCharge.Visible = False
                    'End If
                    If lnkPackagingCharge.Text = "Update" Then
                        lnkPackagingCharge.Visible = True
                        lnkPackagingCharge.Text = "Edit"
                        lblPackagingCharge.Visible = True
                    End If
                    If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                        lnkPackagingCharge.Visible = True
                        lnkPackagingCharge.Text = "Edit"
                    End If
                Else
                    'lblError.Visible = True
                End If

            End If

        Catch
        End Try
    End Sub

    Protected Sub rdopackagingType_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdopackagingType.SelectedIndexChanged
        If rdopackagingType.SelectedValue = "1" Then
            ddlPackagingCharge.Visible = False
            lblpercent.Visible = True

        Else
            ddlPackagingCharge.Visible = True
            lblpercent.Visible = False

        End If
        lnkPackagingCharge.Visible = True
        txtPackagingCharge.Text = ""
        txtPackagingCharge.Focus()
    End Sub

   
    Public Function GenerateBankCode() As String
        Try
            Dim i As String
            Dim qry As String
            Dim code As String
            txtProductReviewKid.Text = NewPrimaryKey(Me)
            i = "1"
            i = Format(Val(i), "000")
            While True
                code = "PRV" & "/" & Year(Date.Today) & "/" & Format(Month(Date.Today), "00") & "/" & Day(Date.Today) & "/" & i
                qry = "select count(*) from ProductReview where ProductReview_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 ClearFields()
        Try
            'txtProductReviewCode.Text = ""                           'Assign Null to the TextField
            txtProductDetails.Text = ""                           'Assign Null to the TextField
            lblResult.Text = ""
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub
    Public Sub getGridData()

        Fill_Grid("SELECT     ProductReview.*    FROM ProductReview WHERE     ProductReview_productid = '" & Session("ProductId") & "' AND ProductReview_companyid = '" & Session("g_Company").ToString & "' AND ProductReview_IsDeleted = N'0'", gvProductReview)
        getTableData()

    End Sub
    Public Sub getTableData()
        Try
            Dim dt As DataTable = ReturnDataTable("SELECT     ProductReview.*    FROM ProductReview WHERE     ProductReview_productid = '" & Session("ProductId") & "' AND ProductReview_companyid = '" & Session("g_Company").ToString & "' AND ProductReview_IsDeleted = N'0'")
            If dt.Rows.Count > 0 Then
                Dim i As Integer
                If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                    gvProductReview.Columns(0).Visible = True
                Else
                    gvProductReview.Columns(0).Visible = False
                End If

                For i = 0 To gvProductReview.Rows.Count - 1
                    Dim lblDoc As HyperLink = CType(gvProductReview.Rows(i).Cells(3).FindControl("lblFileName"), HyperLink)
                    If dt.Rows(i).Item("ProductReview_FileName").ToString <> "" Then
                        lblDoc.Text = dt.Rows(i).Item("ProductReview_FileName").ToString
                        lblDoc.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(i).Item("ProductReview_FileName").ToString
                    Else
                        lblDoc.Text = "-"
                    End If
                Next
            Else
                Call GenerateBankCode()
                BtnSave.Visible = True
                btnAddMore.Visible = True
            End If
            If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                ProRevwFileUpload.Visible = True
                tr1.Visible = True
                If dt.Rows.Count > 0 Then
                    UnLockTextBox(True)
                    BtnUpdate.Visible = True
                    BtnSave.Enabled = False
                    btnAddMore.Visible = False
                Else
                    UnLockTextBox(True)
                    BtnUpdate.Visible = False
                    BtnSave.Visible = True
                    btnAddMore.Visible = True
                End If
            Else
                BtnUpdate.Visible = False
                'UnLockTextBox(False)
            End If
            dt.Clear()

            BtnUpdate.Visible = False
            btnDelete.Visible = False

        Catch
        End Try

    End Sub
    Protected Sub UnLockTextBox(ByVal Action As Boolean)
        Try
            'txtBankCode.Enabled = Action                    'Enable / Disable the TextField
            txtProductDetails.Enabled = Action                    'Enable / Disable the TextField
            ProRevwFileUpload.Enabled = Action
            'lblResult.enabled = action
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub
    Private Sub getExistingData()
        Try
            Dim dt As DataTable = getTable("Select ProductReview_Kid,ProductReview_Code,ProductReview_FileName,ProductReview_ProductDetails from ProductReview where ProductReview_ProductId='" & Session("ProductID").ToString.Trim & "' and ProductReview_IsDeleted='0' and ProductReview_CompanyID='" & Session("g_Company").ToString.Trim & "'", "PR")
            If dt.Rows.Count > 0 Then


                BtnSave.Enabled = False
                Label13.Visible = False
                lblExisting.Visible = True
                ddl_ProReviewOtherProduct.Visible = True
                ImageButton1.Visible = True
                Try
                    FillExistingDropDown("SELECT ProductReview_ProductId FROM ProductReview WHERE   ProductReview_UserId = '" & Session.Item("SupplierID").ToString.Trim & "' and ProductReview_ProductId <> '" & RemoveLiterals(Session("ProductID").ToString()) & "' AND ProductReview_companyid = '" & Session("g_Company").ToString & "' AND ProductReview_IsDeleted = N'0'", ddl_ProReviewOtherProduct)
                Catch
                End Try
            ElseIf dt.Rows.Count = 0 Then
                Label13.Visible = False
                lblExisting.Visible = True
                ddl_ProReviewOtherProduct.Visible = True
                ImageButton1.Visible = True
                Try
                    FillExistingDropDown("SELECT ProductReview_ProductId FROM ProductReview WHERE ProductReview_UserId = '" & Session.Item("SupplierID").ToString.Trim & "' and ProductReview_ProductId <> '" & RemoveLiterals(Session("ProductID").ToString()) & "' AND ProductReview_companyid = '" & Session("g_Company").ToString & "' AND ProductReview_IsDeleted = N'0'", ddl_ProReviewOtherProduct)
                Catch
                End Try
                'Call GenerateBankCode()
                BtnSave.Visible = True
            End If

            'If ddl_ProReviewOtherProduct.Items.Count = 0 Then
            '    UnLockTextBox(False)
            'End If
            If Session("AdminID") <> Nothing Or Session("AdminID") = Nothing Then
                ProRevwFileUpload.Visible = True
                tr1.Visible = True
                If dt.Rows.Count > 0 Then
                    UnLockTextBox(True)
                    BtnUpdate.Visible = True
                    btnDelete.Visible = True
                    btnAddMore.Visible = True
                    BtnSave.Enabled = False
                Else
                    UnLockTextBox(True)
                    BtnUpdate.Visible = True
                    BtnUpdate.Enabled = False
                    BtnUpdate.Visible = True
                    BtnUpdate.Enabled = False
                    BtnSave.Visible = True
                    btnAddMore.Visible = True
                End If
            Else
                BtnUpdate.Visible = False
                btnDelete.Visible = False
                'UnLockTextBox(False)
            End If

            If dt.Rows.Count > 0 Then
                BtnUpdate.Visible = False
                btnDelete.Visible = False

            End If

            dt.Clear()
            'BtnSave.Visible = False
            BtnSave.Enabled = True
            btnAddMore.Visible = False
        Catch
        End Try
    End Sub

    Protected Sub gvProductReviewExisting_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            Dim kid As String = gvProductReviewExisting.SelectedDataKey.Value.ToString

            Dim dt As DataTable = getTable("Select * from ProductReview where ProductReview_Kid='" & RemoveLiterals(kid.ToString) & "'", "PR")
            If dt.Rows.Count > 0 Then
                txtProductReviewKid.Text = dt.Rows(0).Item("ProductReview_Kid").ToString
                txtProductReviewCode.Text = dt.Rows(0).Item("ProductReview_Code").ToString
                txtProductDetails.Text = dt.Rows(0).Item("ProductReview_ProductDetails").ToString
                Try
                    If IsDBNull(dt.Rows(0).Item("ProductReview_FileName").ToString) Then
                        tr1.Visible = True
                        tr2.Visible = False
                    Else
                        tr1.Visible = True
                        tr2.Visible = True
                        lblResult.Visible = True
                        lblResult.Text = dt.Rows(0).Item("ProductReview_FileName").ToString
                        lblResult.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("ProductReview_FileName").ToString
                        lblResult.Enabled = True
                    End If
                Catch
                End Try
               
                UnLockTextBox(True)

                'ImageButton1.Visible = False
                dt.Clear()
            End If
        Catch
        End Try
    End Sub
    Protected Sub gvProductReview_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            Dim kid As String = gvProductReview.SelectedDataKey.Value.ToString

            Dim dt As DataTable = getTable("Select * from ProductReview where ProductReview_Kid='" & RemoveLiterals(kid.ToString) & "'", "PR")
            If dt.Rows.Count > 0 Then
                txtProductReviewKid.Text = dt.Rows(0).Item("ProductReview_Kid").ToString
                txtProductReviewCode.Text = dt.Rows(0).Item("ProductReview_Code").ToString
                txtProductDetails.Text = dt.Rows(0).Item("ProductReview_ProductDetails").ToString
                Try
                    If IsDBNull(dt.Rows(0).Item("ProductReview_FileName").ToString) Then
                        tr1.Visible = True
                        tr2.Visible = False
                    Else
                        tr1.Visible = True
                        tr2.Visible = True
                        lblResult.Visible = True
                        lblResult.Text = dt.Rows(0).Item("ProductReview_FileName").ToString
                        lblResult.NavigateUrl = "~\Upload Image\Product Image\UploadImages\" & dt.Rows(0).Item("ProductReview_FileName").ToString
                        lblResult.Enabled = True
                    End If
                Catch
                End Try
                BtnSave.Visible = False
                BtnUpdate.Visible = True
                btnDelete.Visible = True
                'ddl_ProReviewOtherProduct.Visible = False
                'lblExisting.Visible = False
                UnLockTextBox(True)
                'ImageButton1.Visible = False
                dt.Clear()
            End If
        Catch
        End Try
    End Sub
    Protected Sub btnAddMore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddMore.Click
        Try
            If Trim(txtProductDetails.Text) = "" Then                                         'If txtPartTypeName TextField is Null then
                CreateMessageAlert(Me, "Product Details Cannot be Null !", "StrKeyVal")      'Display the Message
                Exit Sub
            End If

            Dim strImageName As String = ""
            Dim file_name As String = ""
            If (ProRevwFileUpload.HasFile) Then
                If Path.GetExtension(ProRevwFileUpload.FileName).ToLower = ".pdf" Then
                    strImageName = Final_FileUpload(ProRevwFileUpload, img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                Else
                    lblResult.Visible = True
                    lblResult.Text = "Please Select .pdf File Only!"
                    ProRevwFileUpload.Focus()
                    Exit Sub
                End If
            ElseIf lblResult.Text.Length > 0 And lblResult.Text <> "Please Select .pdf File Only!" Then
            Else
                lblResult.Visible = True
                lblResult.Text = "Please Select .pdf File Only!"
                ProRevwFileUpload.Focus()
                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 = "ProductReview_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con                                                            'Assign the connection
            cmd.Parameters.Add(New SqlParameter("@ProductReview_Kid", SqlDbType.NVarChar, 20)).Value = NewPrimaryKey(Me)       'Add Parameter Banke_Kid and assign the value  to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_Code", SqlDbType.NVarChar, 20)).Value = GenerateBankCode().ToString        'Add Parameter Banke_Code and assign the value of txtBankCode TextField to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_ProductDetails", SqlDbType.NVarChar, 25)).Value = Trim(txtProductDetails.Text)       'Add Parameter Bank_Name and assign the value of txtBankName TextField to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_ProductId", SqlDbType.NVarChar, 20)).Value = Session("ProductID")
            If (ProRevwFileUpload.HasFile) Then
                cmd.Parameters.Add(New SqlParameter("@ProductReview_FileName", SqlDbType.NVarChar, 20)).Value = strImageName
            Else
                cmd.Parameters.Add(New SqlParameter("@ProductReview_FileName", SqlDbType.NVarChar, 20)).Value = lblResult.Text
            End If
            cmd.Parameters.Add(New SqlParameter("@ProductReview_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Session("g_FinYear").ToString
            cmd.Parameters.Add(New SqlParameter("@ProductReview_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company").ToString)            'Add Parameter UserCode and assign the value of Session("Session("SupplierID").ToString.Trim").toString to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("SupplierID").ToString.Trim)             'Add Parameter UserCode and assign the value of Session("Session("SupplierID").ToString.Trim").toString to it
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Product Review"                           '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()                                                           'Execute the Query
            con.Close()
            CreateMessageAlert(Me, "Record Saved Successfully...", "StrKeyVal")             'Display the Message
            ClearFields()
            getGridData()
            Call GenerateBankCode()
            UnLockTextBox(True)
            BtnSave.Enabled = False
            btnAddMore.Visible = True
            'Response.Redirect("ProductDeliverydetails.aspx")
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
        End Try
    End Sub
    Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try

            Dim dt As DataTable = ReturnDataTable("SELECT ProductReview.* FROM ProductReview WHERE ProductReview_Kid = '" & gvProductReview.SelectedDataKey.Value.ToString & "' AND ProductReview_IsDeleted = '0'")

            If Trim(txtProductDetails.Text) = "" Then                                         'If txtPartTypeName TextField is Null then
                CreateMessageAlert(Me, "Product Details Cannot be Null !", "StrKeyVal")      'Display the Message
                Exit Sub
            End If

            Dim strImageName As String = ""
            Dim file_name As String = ""
            If (ProRevwFileUpload.HasFile) Then
                If Path.GetExtension(ProRevwFileUpload.FileName).ToLower = ".pdf" Then
                    strImageName = Final_FileUpload(ProRevwFileUpload, img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                Else
                    lblResult.Visible = True
                    lblResult.Text = "Please Select .pdf File Only!"
                    ProRevwFileUpload.Focus()
                    Exit Sub
                End If
            ElseIf dt.Rows(0).Item("ProductReview_FileName").ToString.Length > 0 Then
            Else
                lblResult.Visible = True
                lblResult.Text = "Please Select .pdf File Only!"
                ProRevwFileUpload.Focus()
                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 = "ProductReview_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con                                                            'Assign the connection
            cmd.Parameters.Add(New SqlParameter("@ProductReview_Kid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("ProductReview_Kid").ToString       'Add Parameter Banke_Kid and assign the value  to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_Code", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("ProductReview_Code").ToString        'Add Parameter Banke_Code and assign the value of txtBankCode TextField to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_ProductDetails", SqlDbType.NVarChar, 25)).Value = Trim(txtProductDetails.Text)       'Add Parameter Bank_Name and assign the value of txtBankName TextField to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_ProductId", SqlDbType.NVarChar, 20)).Value = Session("ProductID")
            If (ProRevwFileUpload.HasFile) Then
                cmd.Parameters.Add(New SqlParameter("@ProductReview_FileName", SqlDbType.NVarChar, 20)).Value = strImageName
            Else
                cmd.Parameters.Add(New SqlParameter("@ProductReview_FileName", SqlDbType.NVarChar, 20)).Value = lblResult.Text
            End If
            cmd.Parameters.Add(New SqlParameter("@ProductReview_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Session("g_FinYear").ToString
            cmd.Parameters.Add(New SqlParameter("@ProductReview_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company").ToString)            'Add Parameter UserCode and assign the value of Session("Session("SupplierID").ToString.Trim").toString to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("SupplierID").ToString.Trim)             'Add Parameter UserCode and assign the value of Session("Session("SupplierID").ToString.Trim").toString to it
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Product Review"                           'Add Parameter FormName and assign the name of form to it
            cmd.Parameters.Add(New SqlParameter("@Mode", SqlDbType.VarChar, 50)).Value = "Delete"                                   'Add Parameter Mode and assign the DML Operation to Execute (Insert)
            con.Open()
            cmd.ExecuteNonQuery()
            getGridData()
            con.Close()
            CreateMessageAlert(Me, "Record Deleted Successfully...", "StrKeyVal")             'Display the Message
            ClearFields()
            btnAddMore.Visible = True
            dt.Clear()
            'Response.Redirect("ProductDeliverydetails.aspx")
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
        End Try
    End Sub
    Public Sub FillExistingDropDown(ByVal strQuery As String, ByVal ddl As DropDownList)
        Try
            Dim dt1 As DataTable = getTable(strQuery, "PR")
            Dim i As Integer
            Dim Kid As String
            Dim KidBool As Boolean = True

            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
            Try
                Fill_Combo("Select Product_Kid,Product_Name from Product_Master where Product_SupplierID='" & Session.Item("SupplierID").ToString.Trim & "' and Product_Kid In ( " & Kid & ")", ddl)
                'Fill_Combo("Select Product_Kid,Product_Name from Product_Master where Product_SupplierID='" & Session.Item("SupplierID").ToString.Trim & "' and Product_UserID = '" & Session.Item("SupplierID").ToString().Trim & "' and Product_Kid In ( " & Kid & ")", ddl)
            Catch
            End Try
            If ddl.Items.Count > 0 Then
                ddl.Items.Insert(ddl.Items.Count, "Add New")
                lblExisting.Visible = True
                UnLockControls(False)
                ImageButton1.Visible = True
            Else
                ImageButton1.Visible = False
                lblExisting.Visible = False
                ddl.Visible = False
                UnLockControls(True)
            End If
        Catch
        End Try
    End Sub

    Private Sub UnLockControls(ByVal bool As Boolean)
        txtProductDetails.Enabled = bool
        ProRevwFileUpload.Enabled = bool

    End Sub
    '----------------------------------------------------------------------------------------------------------------------------
    '<UserDefinedFunction Name="FillGrid">
    '   <Desc> To Fill the Grid with All Records </Desc>
    '   <Input> 
    '  <Param Name="PTN">
    '   PartType_Name
    '   </Param>
    '   </Input>
    '   <Output> Nothing </Output>
    '   <DateOfCreation> 30/07/07 </DateOfCreation>
    '   <Developer> Neeta </Developer>
    '</UserDefinedFunction>
    '----------------------------------------------------------------------------------------------------------------------------
    Protected Sub FillGrid(ByVal PTN As String)
        Try

            Dim qry As String                                   'Define a String Variable for Query
            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
            con.Open()                                          'Open the Connection
            If Trim(PTN) = "" Then
                qry = "select distinct ProductReview_Kid,ProductReview_Code, Product_Master.Product_Name as [Product Name], ProductReview_ProductDetails from ProductReview,Product_Master where Product_Master.Product_Kid = ProductReview.ProductReview_ProductId and ProductReview_IsDeleted='0' and ProductReview_CompanyId='" & Session("g_Company").ToString & "'"
            Else
                qry = "select distinct ProductReview_Kid,ProductReview_Code, Product_Master.Product_Name as [Product Name], ProductReview_ProductDetails from ProductReview,Product_Master where Product_Master.Product_Kid = ProductReview.ProductReview_ProductId and ProductReview_IsDeleted='0' and ProductReview_CompanyId='" & Session("g_Company").ToString & "' and ProductReview_ProductDetails like '" & Trim(PTN) & "%'"
            End If
            Dim cmd As New SqlCommand(qry, 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
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub

    Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnSave.Click
        'Save Item in Product Review
        Try
            If Trim(txtProductDetails.Text) = "" Then                                         'If txtPartTypeName TextField is Null then
                CreateMessageAlert(Me, "Product Details Cannot be Null !", "StrKeyVal")      'Display the Message
                Exit Sub
            End If

            Dim strImageName As String = ""
            Dim file_name As String = ""
            If (ProRevwFileUpload.HasFile) Then
                If Path.GetExtension(ProRevwFileUpload.FileName).ToLower = ".pdf" Then
                    strImageName = Final_FileUpload(ProRevwFileUpload, img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))

                Else
                    lblResult.Visible = True
                    lblResult.Text = "Please Select .pdf File Only!"
                    ProRevwFileUpload.Focus()
                    Exit Sub
                End If
            ElseIf lblResult.Text.Length > 0 And lblResult.Text <> "Please Select .pdf File Only!" Then
            Else
                lblResult.Visible = True
                lblResult.Text = "Please Select .pdf File Only!"
                ProRevwFileUpload.Focus()
                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 = "ProductReview_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con                                                            'Assign the connection
            cmd.Parameters.Add(New SqlParameter("@ProductReview_Kid", SqlDbType.NVarChar, 20)).Value = NewPrimaryKey(Me)       'Add Parameter Banke_Kid and assign the value  to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_Code", SqlDbType.NVarChar, 20)).Value = GenerateBankCode().ToString()        'Add Parameter Banke_Code and assign the value of txtBankCode TextField to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_ProductDetails", SqlDbType.NVarChar, 25)).Value = Trim(txtProductDetails.Text)       'Add Parameter Bank_Name and assign the value of txtBankName TextField to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_ProductId", SqlDbType.NVarChar, 20)).Value = Session("ProductID")
            If (ProRevwFileUpload.HasFile) Then
                cmd.Parameters.Add(New SqlParameter("@ProductReview_FileName", SqlDbType.NVarChar, 20)).Value = strImageName
            Else
                cmd.Parameters.Add(New SqlParameter("@ProductReview_FileName", SqlDbType.NVarChar, 20)).Value = lblResult.Text
            End If
            cmd.Parameters.Add(New SqlParameter("@ProductReview_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Session("g_FinYear").ToString
            cmd.Parameters.Add(New SqlParameter("@ProductReview_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company").ToString)            'Add Parameter UserCode and assign the value of Session("Session("SupplierID").ToString.Trim").toString to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("SupplierID").ToString.Trim)             'Add Parameter UserCode and assign the value of Session("Session("SupplierID").ToString.Trim").toString to it
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Product Review"                           '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()                                                           'Execute the Query
            con.Close()
            CreateMessageAlert(Me, "Record Saved Successfully...", "StrKeyVal")             'Display the Message
            ClearFields()
            UnLockControls(False)
            getGridData()

            'Response.Redirect("ProductDeliverydetails.aspx")
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
        End Try
    End Sub



    Protected Sub txtProductDetails_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtProductDetails.TextChanged
        Try
            If Search = True Then                               'If Search Mode is true then
                Call FillGrid(Trim(txtProductDetails.Text))  'Fill the Grid filtering on txtStockLocationName 
            End If
            If BtnSave.Enabled Then BtnSave.Focus()
        Catch
        End Try
    End Sub
    Protected Sub _Default_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        Try
            If Not IsValidConnectionString() Then CreateMessageAlert(Me, "Check the Connection String !", "StrKeyVal") 'If not a valid ConnectionString then Display the message 
        Catch
        End Try
    End Sub

    Protected Sub BtnUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnUpdate.Click
        Try

            'Dim kid As String = gvProductReviewExisting.SelectedDataKey.Value.ToString

            Dim dt As DataTable = ReturnDataTable("SELECT ProductReview.* FROM ProductReview WHERE ProductReview_Kid = '" & gvProductReview.SelectedDataKey.Value.ToString & "' AND ProductReview_IsDeleted = '0'")

            If Trim(txtProductDetails.Text) = "" Then                                         'If txtPartTypeName TextField is Null then
                CreateMessageAlert(Me, "Product Details Cannot be Null !", "StrKeyVal")      'Display the Message
                Exit Sub
            End If

            Dim strImageName As String = ""
            Dim file_name As String = ""
            If (ProRevwFileUpload.HasFile) Then
                If Path.GetExtension(ProRevwFileUpload.FileName).ToLower = ".pdf" Then
                    strImageName = Final_FileUpload(ProRevwFileUpload, img, Server.MapPath("~\Upload Image\Product Image\UploadImages\"))
                Else
                    lblResult.Visible = True
                    lblResult.Text = "Please Select .pdf File Only!"
                    ProRevwFileUpload.Focus()
                    Exit Sub
                End If
            ElseIf dt.Rows(0).Item("ProductReview_FileName").ToString.Length > 0 Then
            Else
                lblResult.Visible = True
                lblResult.Text = "Please Select .pdf File Only!"
                ProRevwFileUpload.Focus()
                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 = "ProductReview_Proc"                                        'Assign the Name of Stored Procedure, to Execute
            cmd.Connection = con                                                            'Assign the connection
            cmd.Parameters.Add(New SqlParameter("@ProductReview_Kid", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("ProductReview_Kid").ToString       'Add Parameter Banke_Kid and assign the value  to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_Code", SqlDbType.NVarChar, 20)).Value = dt.Rows(0).Item("ProductReview_Code").ToString        'Add Parameter Banke_Code and assign the value of txtBankCode TextField to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_ProductDetails", SqlDbType.NVarChar, 25)).Value = Trim(txtProductDetails.Text)       'Add Parameter Bank_Name and assign the value of txtBankName TextField to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_ProductId", SqlDbType.NVarChar, 20)).Value = Session("ProductID")
            If (ProRevwFileUpload.HasFile) Then
                cmd.Parameters.Add(New SqlParameter("@ProductReview_FileName", SqlDbType.NVarChar, 20)).Value = strImageName
            Else
                cmd.Parameters.Add(New SqlParameter("@ProductReview_FileName", SqlDbType.NVarChar, 20)).Value = lblResult.Text
            End If
            cmd.Parameters.Add(New SqlParameter("@ProductReview_FinancialYearId", SqlDbType.NVarChar, 20)).Value = Session("g_FinYear").ToString
            cmd.Parameters.Add(New SqlParameter("@ProductReview_CompanyId", SqlDbType.NVarChar, 20)).Value = Trim(Session("g_Company").ToString)            'Add Parameter UserCode and assign the value of Session("Session("SupplierID").ToString.Trim").toString to it
            cmd.Parameters.Add(New SqlParameter("@ProductReview_UserId", SqlDbType.NVarChar, 20)).Value = Trim(Session("SupplierID").ToString.Trim)             'Add Parameter UserCode and assign the value of Session("Session("SupplierID").ToString.Trim").toString to it
            cmd.Parameters.Add(New SqlParameter("@FormName", SqlDbType.NVarChar, 100)).Value = "Product Review"                           '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()
            getGridData()
            con.Close()
            CreateMessageAlert(Me, "Record Updated Successfully...", "StrKeyVal")             'Display the Message
            ClearFields()
            btnAddMore.Visible = True
            dt.Clear()
            'Response.Redirect("ProductDeliverydetails.aspx")
        Catch ex As Exception
            'CreateMessageAlert(Me, ex.Message, "StrKeyVal")                                 'Display the Error Message
        End Try
    End Sub

    Protected Sub lnkprodaddi_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkprodaddi.Click
        Response.Redirect("product-price.aspx")
    End Sub

    Protected Sub lnkkeycontact_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkkeycontact.Click
        Response.Redirect("supplier-keycontacts.aspx")
    End Sub

    
End Class
