Imports System
Imports System.Data
Imports System.Data.SqlClient
Partial Class Admin_postjob
    Inherits System.Web.UI.Page
    Dim con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString"))
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        ''If Session("AdminID") = Nothing Then
        '    Response.Redirect("AdminLogin.aspx")
        'End If
        If Session("AdminID") Is Nothing Then
            Response.Redirect("AdminLogin.aspx?sesn=expire")
            Exit Sub
        End If
        If Not IsPostBack Then
            txtopnings.Attributes.Add("onkeypress", "return CheckNumericOnly(event);")
            txttotal.Attributes.Add("onkeypress", "return CheckNumericOnly(event);")
            txtage.Attributes.Add("onkeypress", "return CheckNumericOnly(event);")
            txtexperience.Attributes.Add("onkeypress", "return CheckNumericOnly(event);")

            txtjobcode.Text = GeneratejobCode("select count(*) from Vacancy_Master where Vacancy_Code='", "JAC")
            fillgrid()
            rbops.SelectedIndex = 0
        End If
    End Sub
    Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
        Try
            If btnSave.Text = "Add New" Then
                clearfields()
                GridView1.SelectedIndex = -1
                txtjobcode.Text = GeneratejobCode("select count(*) from Vacancy_Master where Vacancy_Code='", "JAC")
                btnupdate.Enabled = False
                btnSave.Text = "Save"
            Else
                con.Open()
                Dim cmd As New SqlCommand
                cmd.Connection = con
                cmd.CommandType = CommandType.StoredProcedure
                cmd.CommandText = "Vacancy_Master_Proc"
                cmd.Parameters.Add("@Vacancy_Kid", SqlDbType.NVarChar, 10).Value = RemoveLiterals(NewPrimaryKey(Me))
                cmd.Parameters.Add("@Vacancy_Code", SqlDbType.NVarChar, 25).Value = txtjobcode.Text
                cmd.Parameters.Add("@Vacancy_PositionName", SqlDbType.NVarChar, 100).Value = txtposition.Text
                cmd.Parameters.Add("@Vacancy_NoOfOpenings", SqlDbType.Decimal, 18).Value = txtopnings.Text
                cmd.Parameters.Add("@Vacancy_ReqdExperience", SqlDbType.NVarChar, 100).Value = txtexperience.Text
                cmd.Parameters.Add("@Vacancy_TotalExperience", SqlDbType.Decimal, 18).Value = txttotal.Text
                cmd.Parameters.Add("@Vacancy_ReqdAge", SqlDbType.Decimal, 18).Value = txtage.Text
                cmd.Parameters.Add("@Vacancy_ReqdQualification", SqlDbType.NVarChar, 100).Value = txtqualification.Text
                cmd.Parameters.Add("@Vacancy_PreferQualification", SqlDbType.NVarChar, 100).Value = txtpreferq.Text
                cmd.Parameters.Add("@Vacancy_JobDescription", SqlDbType.NVarChar, 500).Value = txtjobdesc.Text
                cmd.Parameters.Add("@Vacancy_Location", SqlDbType.NVarChar, 100).Value = txtlocation.Text
                'cmd.Parameters.Add("@Vacancy_Date", SqlDbType.DateTime).Value = Format(Convert.ToDateTime(txtdate.Text).Date, "MM/dd/yyyy")
                'cmd.Parameters.Add("@Vacancy_ClosingDate", SqlDbType.DateTime).Value = Format(Convert.ToDateTime(txtcdate.Text).Date, "MM/dd/yyyy")
                cmd.Parameters.Add("@Vacancy_positionflag", SqlDbType.NVarChar, 50).Value = rbops.SelectedValue
                cmd.Parameters.Add("@Vacancy_CompanyId", SqlDbType.NVarChar, 10).Value = Session("g_Company").ToString
                cmd.Parameters.Add("@Vacancy_UserId", SqlDbType.NVarChar, 10).Value = Session("g_User").ToString
                cmd.Parameters.Add("@FormName", SqlDbType.NVarChar, 50).Value = "Post Job"
                cmd.Parameters.Add("@Mode", SqlDbType.NVarChar, 50).Value = "Insert"
                cmd.ExecuteNonQuery()
                con.Close()
                clearfields()
                fillgrid()
                txtjobcode.Text = GeneratejobCode("select count(*) from Vacancy_Master where Vacancy_Code='", "JAC")
                lblmsg.Visible = True
                lblmsg.Text = "Record Saved Successfully"

            End If
        Catch ex As Exception
            lblmsg.Visible = True
            lblmsg.Text = ex.Message()
        End Try
        
    End Sub

    Function GeneratejobCode(ByVal strqry As String, ByVal strformat As String) As String
        Dim i As String
        Dim qry As String
        Dim code As String = ""
        i = "1"
        i = Format(Val(i), "000")
        While True
            code = strformat.Trim & "" & Year(Date.Today) & "" & Format(Month(Date.Today), "00") & "" & Day(Date.Today) & "" & i
            qry = StrQry.Trim & code & "'"
            If IsAlreadyPresent(qry) Then
                i = Val(i) + 1
                i = Format(Val(i), "000")
            Else
                Return code
                Exit Function
            End If
        End While
        Return code
    End Function
    Function clearfields()
        txtjobcode.Text = ""
        txtage.Text = ""
        'txtcdate.Text = ""
        'txtdate.Text = ""
        txtexperience.Text = ""
        txtjobdesc.Text = ""
        txtlocation.Text = ""
        txtopnings.Text = ""
        txtposition.Text = ""
        txtqualification.Text = ""
        txttotal.Text = ""
        txtpreferq.Text = ""
        lblmsg.Visible = False
    End Function

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        clearfields()
        txtjobcode.Text = GeneratejobCode("select count(*) from Vacancy_Master where Vacancy_Code='", "JAC")
        btnSave.Enabled = True
        btnupdate.Enabled = False
        btnSave.Text = "Save"
        GridView1.SelectedIndex = -1

    End Sub
    Function fillgrid()
        Dim Str As String = "SELECT Vacancy_Kid, Vacancy_Code AS [Job Code], Vacancy_PositionName AS Position, Vacancy_NoOfOpenings AS [No Of Openings], Vacancy_ReqdExperience AS Experience, Vacancy_ReqdAge AS Age, Vacancy_ReqdQualification AS Qualification, Vacancy_Location AS Location,   Vacancy_TotalExperience as total, Vacancy_PreferQualification as pqualification,Vacancy_JobDescription as jbodescription, Vacancy_positionflag as pflag FROM Vacancy_Master where Vacancy_Isdeleted='0' order by Vacancy_Code"
        Dim da As New SqlDataAdapter(Str, con)
        Dim ds As New DataSet
        da.Fill(ds)
        GridView1.Columns(1).Visible = True
        GridView1.Columns(6).Visible = True
        GridView1.Columns(7).Visible = True
        GridView1.Columns(8).Visible = True
        GridView1.Columns(9).Visible = True
        GridView1.Columns(10).Visible = True
        GridView1.Columns(11).Visible = True
       

        GridView1.DataSource = ds.Tables(0)
        GridView1.DataBind()

        GridView1.Columns(1).Visible = False
        GridView1.Columns(6).Visible = False
        'GridView1.Columns(7).Visible = False
        GridView1.Columns(8).Visible = False
        GridView1.Columns(9).Visible = False
        GridView1.Columns(10).Visible = False
        GridView1.Columns(11).Visible = False
  
    End Function

    Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
        GridView1.PageIndex = e.NewPageIndex
        fillgrid()
        GridView1.SelectedIndex = -1
        clearfields()
    End Sub

   

    Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
        txtjobcode.Text = GridView1.SelectedRow.Cells(2).Text
        txtage.Text = GridView1.SelectedRow.Cells(6).Text
        'txtcdate.Text = ""
        'txtdate.Text = ""
        txtexperience.Text = GridView1.SelectedRow.Cells(5).Text.ToString
        txtjobdesc.Text = chkNull(GridView1.SelectedRow.Cells(11).Text.ToString)
        txtlocation.Text = GridView1.SelectedRow.Cells(8).Text
        txtopnings.Text = GridView1.SelectedRow.Cells(4).Text
        txtposition.Text = GridView1.SelectedRow.Cells(3).Text
        txtqualification.Text = GridView1.SelectedRow.Cells(7).Text
        txttotal.Text = GridView1.SelectedRow.Cells(9).Text
        txtpreferq.Text = GridView1.SelectedRow.Cells(10).Text
        lblmsg.Visible = False
        btnupdate.Enabled = True
        btnSave.Text = "Add New"
    End Sub

  
    Protected Sub btnupdate_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            con.Open()
            Dim cmd As New SqlCommand
            cmd.Connection = con
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "Vacancy_Master_Proc"
            cmd.Parameters.Add("@Vacancy_Kid", SqlDbType.NVarChar, 10).Value = GridView1.SelectedRow.Cells(1).Text.Trim
            cmd.Parameters.Add("@Vacancy_Code", SqlDbType.NVarChar, 25).Value = txtjobcode.Text
            cmd.Parameters.Add("@Vacancy_PositionName", SqlDbType.NVarChar, 100).Value = txtposition.Text.ToString
            cmd.Parameters.Add("@Vacancy_NoOfOpenings", SqlDbType.Decimal, 18).Value = Val(txtopnings.Text)
            cmd.Parameters.Add("@Vacancy_ReqdExperience", SqlDbType.NVarChar, 100).Value = txtexperience.Text.ToString
            cmd.Parameters.Add("@Vacancy_TotalExperience", SqlDbType.Decimal, 18).Value = Val(txttotal.Text)
            cmd.Parameters.Add("@Vacancy_ReqdAge", SqlDbType.Decimal, 18).Value = Val(txtage.Text)
            cmd.Parameters.Add("@Vacancy_ReqdQualification", SqlDbType.NVarChar, 100).Value = txtqualification.Text.ToString
            cmd.Parameters.Add("@Vacancy_PreferQualification", SqlDbType.NVarChar, 100).Value = txtpreferq.Text.ToString
            cmd.Parameters.Add("@Vacancy_JobDescription", SqlDbType.NVarChar, 500).Value = txtjobdesc.Text.ToString
            cmd.Parameters.Add("@Vacancy_Location", SqlDbType.NVarChar, 100).Value = txtlocation.Text.ToString
            cmd.Parameters.Add("@Vacancy_Date", SqlDbType.DateTime).Value = Format(Convert.ToDateTime(Date.Now).Date, "MM/dd/yyyy")
            cmd.Parameters.Add("@Vacancy_ClosingDate", SqlDbType.DateTime).Value = Format(Convert.ToDateTime(Date.Now).Date, "MM/dd/yyyy")
            'cmd.Parameters.Add("@Vacancy_ClosingDate", SqlDbType.DateTime).Value = Format(Convert.ToDateTime(txtcdate.Text).Date, "MM/dd/yyyy")
            cmd.Parameters.Add("@Vacancy_positionflag", SqlDbType.NVarChar, 50).Value = rbops.SelectedValue
            cmd.Parameters.Add("@Vacancy_CompanyId", SqlDbType.NVarChar, 10).Value = Session("g_Company").ToString
            cmd.Parameters.Add("@Vacancy_UserId", SqlDbType.NVarChar, 10).Value = Session("g_User").ToString
            cmd.Parameters.Add("@FormName", SqlDbType.NVarChar, 50).Value = "Post Job"
            cmd.Parameters.Add("@Mode", SqlDbType.NVarChar, 50).Value = "Update"
            cmd.ExecuteNonQuery()
            con.Close()
            clearfields()
            fillgrid()
            txtjobcode.Text = GeneratejobCode("select count(*) from Vacancy_Master where Vacancy_Code='", "JAC")
            lblmsg.Visible = True
            lblmsg.Text = "Record Updated Successfully"
            btnSave.Text = "Save"
            btnupdate.Enabled = False
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        
    End Sub
End Class
