Imports System
Imports System.Data
Imports System.Data.SqlClient

Partial Class ArticleContentApproval
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Session("AdminID") Is Nothing Then
            Response.Redirect("AdminLogin.aspx?sesn=expire")
            Exit Sub
        End If
        If Not IsPostBack Then

            If Session("AdminID") = Nothing Then
                Response.Redirect("AdminLogin.aspx")
            End If
            fillgrid()
            gvAdmin.SelectedIndex = -1
         End If

    End Sub
 
    Protected Sub fillgrid()
        Try
            Dim dt As DataTable
            dt = ReturnDataTable("SELECT     Article_Master.Article_Kid, Article_Master.Article_Title, Article_Master.Article_Keyword, Category_Master.Category_Name, Article_Master.Article_Status, Article_Master.Article_RegDate FROM         Article_Master INNER JOIN   Category_Master ON Article_Master.Article_CategoryId = Category_Master.Category_Kid WHERE     (Article_Master.Article_IsDeleted = '0') AND (Article_Master.Article_Status = 'Pending') ORDER BY Article_Master.Article_RegDate DESC")
            gvAdmin.DataSource = dt
            gvAdmin.DataBind()
            gvAdmin.SelectedIndex = -1
            dt.Clear()
        Catch ex As Exception
        End Try
    End Sub

    Private Sub UpdateData(ByVal strMode As String)
        Try

            Dim cmd As New Data.SqlClient.SqlCommand()
            Dim sqlcoll As Data.SqlClient.SqlParameterCollection = cmd.Parameters
            sqlcoll.Clear()
            sqlcoll.Add("@Article_Kid", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(gvAdmin.SelectedDataKey.Value)
            sqlcoll.Add("@Article_Status", Data.SqlDbType.NVarChar, 20).Value = "Approve"
            sqlcoll.Add("@Article_ApproveDate", Data.SqlDbType.DateTime).Value = DateTime.Now
            sqlcoll.Add("@Article_ApprovedBy", Data.SqlDbType.NVarChar, 10).Value = RemoveLiterals(Session("g_User"))
            sqlcoll.Add("@FormName", Data.SqlDbType.NVarChar, 50).Value = Me.Title.ToString
            sqlcoll.Add("@Mode", Data.SqlDbType.Char, 10).Value = strMode.Trim
            sqlcoll.Add("@InsertFrom", Data.SqlDbType.NVarChar, 50).Value = "ArticleApprove"
            ExecQuery("ArticleContent_Proc", sqlcoll)

            sqlcoll.Clear()
        Catch ex As Exception

        End Try

    End Sub

    Protected Sub gvAdmin_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvAdmin.PageIndexChanging
        gvAdmin.PageIndex = e.NewPageIndex
        fillgrid()
        gvAdmin.SelectedIndex = -1
    End Sub

    Protected Sub gvAdmin_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvAdmin.RowDataBound
        Dim dk As String
        Dim dk1 As String
        Try
            If e.Row.RowType = DataControlRowType.DataRow Then
                dk = e.Row.Cells(5).Text
                e.Row.Cells(5).Text = Format$(Convert.ToDateTime(dk), "dd-MMM-yyyy hh:mm:ss tt")

                dk1 = e.Row.Cells(3).Text
                Dim arr As String() = Split(dk1, "-")
                Dim i As Integer
                Dim catnm As String = ""
                For i = 0 To arr.Length - 1
                    catnm += ReturnValue("select Tag_Name from Tag_Master where Tag_Kid='" & RemoveLiterals(arr(i)) & "' and Tag_IsDeleted='0'") & ", "
                Next
                e.Row.Cells(3).Text = catnm.Remove(catnm.Length - 2, 2)
            End If
        Catch ex As Exception
        End Try

    End Sub

    Protected Sub gvAdmin_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvAdmin.SelectedIndexChanged
        Try
            DetailsView1.Visible = True
            Dim str As String = "SELECT     Article_Master.Article_Title, Article_Master.Article_Keyword, Article_Master.Article_Body, Category_Master.Category_Name, Article_Master.Article_RegDate FROM         Article_Master INNER JOIN Category_Master ON Article_Master.Article_CategoryId = Category_Master.Category_Kid WHERE     Article_Master.Article_IsDeleted = '0' AND Article_Master.Article_Kid = '" & RemoveLiterals(gvAdmin.SelectedDataKey.Value) & "'"
            Dim dt As DataTable = ReturnDataTable(str)
            DetailsView1.DataSource = dt
            DetailsView1.DataBind()
            CType(DetailsView1.Rows(0).Cells(1).FindControl("JJDiv1"), HtmlControls.HtmlGenericControl).InnerHtml = dt.Rows(0).Item("Article_Body").ToString
            DetailsView1.Rows(4).Cells(1).Text = gvAdmin.SelectedRow.Cells(5).Text
            DetailsView1.Rows(3).Cells(1).Text = gvAdmin.SelectedRow.Cells(3).Text
            CType(DetailsView1.Rows(5).Cells(0).FindControl("btnDelete"), Button).Attributes.Add("onclick", "return confirm('Are You Sure ! Want to Delete ?');")
            CType(DetailsView1.Rows(5).Cells(0).FindControl("btnApprove"), Button).Attributes.Add("onclick", "return confirm('Are You Sure ! Want to Approve ?');")

        Catch ex As Exception
        End Try
    End Sub


    Protected Sub btnApprove_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        UpdateData("Update")
        DetailsView1.Visible = False
        fillgrid()
        gvAdmin.SelectedIndex = -1
        CreateMessageAlert(Me, "Article Approved Successfully...", "StrKeyVal")
    End Sub

    

    Protected Sub btnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        gvAdmin.SelectedIndex = -1
        DetailsView1.Visible = False
    End Sub

    Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        UpdateData("Delete")
        DetailsView1.Visible = False
        fillgrid()
        gvAdmin.SelectedIndex = -1
        CreateMessageAlert(Me, "Article Deleted Successfully...", "StrKeyVal")
    End Sub

    Protected Sub btnEdit_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Response.Redirect("ArticleContentSubmission.aspx?ArticleKid=" & EncodeURL(RemoveLiterals(gvAdmin.SelectedDataKey.Value.ToString)) & "")
    End Sub
End Class
