Imports System.Data
Imports System.Data.SqlClient

Public Class Content
    Inherits System.Web.UI.Page

#Region " Web Form µðÀÚÀÌ³Ê¿¡¼­ »ý¼ºÇÑ ÄÚµå "

    'ÀÌ È£ÃâÀº Web Form µðÀÚÀÌ³Ê¿¡ ÇÊ¿äÇÕ´Ï´Ù.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents lblName As System.Web.UI.WebControls.Label
    Protected WithEvents lblEmail As System.Web.UI.WebControls.Label
    Protected WithEvents lblPostDate As System.Web.UI.WebControls.Label
    Protected WithEvents lblReadCount As System.Web.UI.WebControls.Label
    Protected WithEvents lblTitle As System.Web.UI.WebControls.Label
    Protected WithEvents lblContent As System.Web.UI.WebControls.Label
    Protected WithEvents txtPassword As System.Web.UI.WebControls.TextBox
    Protected WithEvents RequiredFieldValidator1 As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents btnEdit As System.Web.UI.WebControls.Button
    Protected WithEvents btnDelete As System.Web.UI.WebControls.Button
    Protected WithEvents lblError As System.Web.UI.WebControls.Label
    Protected WithEvents ValidationSummary1 As System.Web.UI.WebControls.ValidationSummary

    'Âü°í: ´ÙÀ½ÀÇ ÀÚ¸® Ç¥½ÃÀÚ ¼±¾ðÀº Web Form µðÀÚÀÌ³ÊÀÇ ÇÊ¼ö ¼±¾ðÀÔ´Ï´Ù.
    '»èÁ¦ÇÏ°Å³ª ¿Å±âÁö ¸¶½Ê½Ã¿À.
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: ÀÌ ¸Þ¼­µå È£ÃâÀº Web Form µðÀÚÀÌ³Ê¿¡ ÇÊ¿äÇÕ´Ï´Ù.
        'ÄÚµå ÆíÁý±â¸¦ »ç¿ëÇÏ¿© ¼öÁ¤ÇÏÁö ¸¶½Ê½Ã¿À.
        InitializeComponent()
    End Sub

#End Region

    Dim Num As String = ""
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '¿©±â¿¡ »ç¿ëÀÚ ÄÚµå¸¦ ¹èÄ¡ÇÏ¿© ÆäÀÌÁö¸¦ ÃÊ±âÈ­ÇÕ´Ï´Ù.
        Num = Request.QueryString("Num")
        If Num = "" Then
            Response.Redirect("List.aspx")
        End If
        If Not IsPostBack Then
            LoadData()
        End If
    End Sub

    Private Sub LoadData()
        Dim objCon As SqlConnection
        Dim objCmd As SqlCommand
        Dim objDr As SqlDataReader

        objCon = New SqlConnection("server=localhost;user id=dotnetnote;password=dotnetnote;database=dotnetnote")
        objCon.Open()

        objCmd = New SqlCommand("Update DotnetNoteBasicVB Set ReadCount = ReadCount + 1 Where Num = @Num", objCon)
        objCmd.Parameters.Add("@Num", SqlDbType.Int)
        objCmd.Parameters("@Num").Value = Num
        objCmd.ExecuteNonQuery()

        objCmd.CommandText = "Select * From DotnetNoteBasicVB Where Num = @Num"
        'objCmd.Parameters.Add("@Num", SqlDbType.Int)
        'objCmd.Parameters("@Num").Value = Num

        objDr = objCmd.ExecuteReader
        If objDr.Read() Then
            lblName.Text = objDr.Item("Name")
            lblEmail.Text = objDr.Item("Email")
            lblPostDate.Text = objDr.Item("PostDate")
            lblTitle.Text = objDr.Item("Title")
            lblContent.Text = Replace(objDr.Item("Content"), vbCrLf, "<br>")
        Else
            lblError.Text = "±ÛÀÌ »èÁ¦µÇ¾ú°Å³ª Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.<br>"
        End If

        objDr.Close()
        objCon.Close()
    End Sub

    Private Function IsPasswordValid()
        Dim blnFlag As Boolean = False
        Dim objCon As SqlConnection
        Dim objCmd As SqlCommand

        objCon = New SqlConnection("server=localhost;user id=dotnetnote;password=dotnetnote;database=dotnetnote")
        'objCon.Open()

        objCmd = New SqlCommand("Select Password From DotnetNoteBasicVB Where Num = @Num", objCon)
        objCmd.Parameters.Add("@Num", SqlDbType.Int)
        objCmd.Parameters("@Num").Value = Num

        Try
            objCon.Open()
            Dim Password As String
            Password = objCmd.ExecuteScalar()

            If Password = txtPassword.Text Then
                blnFlag = True
            Else
                blnFlag = False
            End If
        Catch ex As Exception
            lblError.Text = "¿¹¿Ü°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. »çÀ¯´Â ´ÙÀ½°ú °°½À´Ï´Ù.<br>"
            lblError.Text = ex.Message
        Finally
            objCon.Close()
        End Try

        Return blnFlag
    End Function

    Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
        If Not IsPasswordValid() Then
            lblError.Text = "ºñ¹Ð¹øÈ£°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù. -_-+"
        Else
            Response.Redirect("Edit.aspx?Num=" & Num)
        End If
    End Sub

    Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
        If Not IsPasswordValid() Then
            lblError.Text = "ºñ¹Ð¹øÈ£°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù. -_-+"
        Else
            DeleteRecord()
            Response.Redirect("List.aspx")
        End If
    End Sub

    Private Sub DeleteRecord()
        Dim objCon As SqlConnection
        Dim objCmd As SqlCommand

        objCon = New SqlConnection("server=localhost;user id=dotnetnote;password=dotnetnote;database=dotnetnote")
        'objCon.Open()

        Try
            objCon.Open()

            objCmd = New SqlCommand("Delete From DotnetNoteBasicVB Where Num = @Num", objCon)
            objCmd.Parameters.Add("@Num", SqlDbType.Int)
            objCmd.Parameters("@Num").Value = Num

            objCmd.ExecuteNonQuery()
        Catch ex As Exception
            lblError.Text = "¿¹¿Ü°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. »çÀ¯´Â ´ÙÀ½°ú °°½À´Ï´Ù.<br>"
            lblError.Text = ex.Message
        Finally
            objCon.Close()
        End Try
    End Sub
End Class
