Globsyn C# Batch1 SVIMCS Appraisal Project Report

Embed Size (px)

Citation preview

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    1/36

     

    ONLINE APPRAISAL

    MANAGEMENT

    GROUP MEMBERS: 

    SUMIT KAR, SVIST, 122410110055 

    RUKHSAR AZIZ, SVIST, 122410110039 

    SOHAM PURKAIT, SVIST, 122410110128 

    SWAGATA BANERJEE, SVIST, 122410110058 

    SAYANDEEP MAJUMDAR, SVIST, 122410110044 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    2/36

     

    Table of ontents

    Acknowledgement .......................................................................................................................................3 

    Project Objective ..........................................................................................................................................4

    Project Scope................................................................................................................................................6

    Application Workflow ..................................................................................................................................7

    Database Design .......................................................................................................................................... 8

    Coding...........................................................................................................................................................

    9

    Requirement Specifications .......................................................................................................................30

    Future Scope of Improvement ..................................................................................................................31

    Certificates ................................................................................................................................................. 32

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    3/36

    Acknowledgement 

    We take this opportunity to express our profound gratitude and

    deep regards to our faculty Mr. Sudipto Kr. Mukherjee and

    guide Mr. Kaushik Ghosh for their exemplary guidance,

    monitoring and constant encouragement throughout the course

    of this project. The blessing, help and guidance given by them

    time to time shall carry us a long way in the journey of life on

    which we are about to embark. 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    4/36

    Project Objective

    A performance appraisal (PA) is also referred to as a performance review,

     performance evaluation, and career development discussion. Employee appraisal isa method by which the job performance of an employee is documented and

    evaluated. Performance appraisals are a part of career development and consist of

    regular reviews of employee performance within organizations. 

    Human resource management (HRM) conducts performance

    management. Performance management systems consist of the activities and/or

     processes embraced by an organization in anticipation of improving employee

     performance, and therefore, organizational performance. Consequently,

     performance management is conducted at the organizational level and theindividual level. At the organizational level, performance management oversees

    organizational performance and compares present performance with organizational

     performance goals. The achievement of these organizational performance goals

    depends on the performance of the individual organizational members. Therefore,

    measuring individual employee performance can prove to be a valuable

     performance management process for the purposes of HRM and for the

    organization. Performance appraisal is one of the most important processes in

    Human Resource Management to consider the following things in a business

    organization: 

    1) Promotion:  Performance Appraisal helps the supervisors to chalk out the

     promotion programs for efficient employees. In this regards, inefficient workers

    can be dismissed or demoted in case. 

    2) Compensation:  Performance Appraisal helps in chalking out compensation

     packages for employees. Merit rating is possible through performance appraisal.

    Performance Appraisal tries to give worth to a performance. Compensation packages, which include bonus, high salary rates, extra benefits, allowances and

     pre-requisites, are dependent on performance appraisal. The criteria should be

    merit rather than seniority. 

    3) Employees Development: The systematic procedure of performance appraisal

    helps the supervisors to frame training policies and programs. It helps to analyze

    strengths and weaknesses of employees so that new jobs can be designed for

    efficient employees. It also helps in framing future development programs. 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    5/36

    4) Selection Validation:  Performance Appraisal helps the supervisors to

    understand the validity and importance of the selection procedure. The supervisors

    come to know the validity and thereby the strengths and weaknesses of selection

     procedure. Future changes in selection methods can be made in this regard. 

    5) Communication:  For an organization, effective communication between

    employees and employers is very important. Through performance appraisal,

    communication can be sought for in the following ways: 

    (a) Through performance appraisal, the employers can understand and accept skills

    of subordinates. 

    (b) The subordinates can also understand and create a trust and confidence in

    superiors. 

    (c) It also helps in maintaining cordial and congenial labor management

    relationship. 

    (d) It develops the spirit of work and boosts the morale of employees. 

    6) Motivation:  Performance appraisal serves as a motivation tool. Through

    evaluating performance of employees, a person's efficiency can be determined if

    the targets are achieved. This very well motivates a person for better job and helps

    him to improve his performance in the future 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    6/36

    Project Scope

    The performance management process begins with leadership within the

    organization creating a performance management policy. Primarily, managementgoverns performance by influencing employee performance input (e.g. training

     programs) and by providing feedback via output (i.e. performance assessment and

    appraisal). "The ultimate objective of a performance management process is to

    align individual performance with organizational performance". A very common

    and central process of performance management systems is performance appraisal

    (PA). The PA process should be able to inform employees about the

    "organization's goals, priorities, and expectations and how well they are

    contributing to them". 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    7/36

    Application Work Flow 

    There will be a HOME page. The page will have introduction about the

    work and all the LOGIN information. 

    There will be four login pages:

    ADMIN: This is the login page of the user who is allowed to create, update and

    change the criteria. (LINK TO THIS PAGE WILL NOT BE SHOWN IN THE

    HOME PAGE). 

    EMPLOYEE:  This is the page where Employee can rate them on their own

     performance. When logged in using this page the person can only rate

    himself/herself and see the ratings given to him/her by the department HOD. 

    HOD: He is allowed to open the forms of employees in his department and grade

    him/her. He can also add comments if required. 

    HRM: This is the login page of the user who is allowed to verify the employee

    forms with respect of their departments and announce their hikes.

    The form is first given to each and every logged in Employee. Employee

    can rate themselves. If opened with Employee Login there will be no access to the

    column of HOD RATING and COMMENTS. She/he can only have those in Read-Only mode. 

    This form when opened with HOD login gives access only to the HOD

    RATING and COMMENTS. As the HOD puts his ratings, average of the rating

    will be calculated. HOD will never get access to the SELF RATING.

    There will be a HRM login page. According to the Average Rating the hike

    in Salary is decided by the HRM and shown to the Employee. 

    The rating should be done on a scale of 1-5 on the parameters.

    Rating  Grade  Comment 

    5 SuperiorCrosses Performance

    Standard Consistently

    4 HighCrosses Performance

    Standard Sometimes

    3 Good Meets Performance Standard Consistently

    2 Marginal Meets Performance Standard Sometimes

    1 Low Does not Meet Performance Standard

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    8/36

    Database DesignEmployee Table

    Rating Table

    Parameter Table

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    9/36

    CodingHome Page (Default.aspx)

    Code for Master Page (DefaultMasterPage.master.cs):

    using System;using System.Collections.Generic;using System.Configuration;using System.Data.SqlClient;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;

    public partial class DefaultMasterPage : System.Web.UI.MasterPage {

    protected void Page_Load(object sender, EventArgs e)

    {

    }protected void btnLoginEmp_Click(object sender, EventArgs e){

    emp.Visible = true;hrm.Visible = false;hod.Visible = false;

    }protected void btnLoginHOD_Click(object sender, EventArgs e){

    emp.Visible = false;

    hrm.Visible = false;hod.Visible = true;}

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    10/36

     protected void btnLoginHRM_Click(object sender, EventArgs e){

    hrm.Visible = true;emp.Visible = false;hod.Visible = false;

    }

    protected void btnEMPlogin_Click(object sender, EventArgs e){

    HttpCookie c = new HttpCookie("USERS");

    if (c["USERS"] == null){

    c["empID"] = "";c["empPASS"] = "";

    }

    SqlConnection con = new SqlConnection(conSettings.conStr);con.Open();string Uname = tbUnameEMP.Text;string password = tbPassEMP.Text;

    string query = String.Format("SELECT * FROM [dbo].[EmployeeTable]where empID = '{0}' AND empStatus ='EMP'", Uname);

    SqlCommand cmd = new SqlCommand(query, con);SqlDataReader r = cmd.ExecuteReader();if (r.Read()){

    if (r["empPASS"].ToString() == password){

    c["empId"] = Uname;c["empPASS"] = password;Response.Cookies.Add(c);Response.Redirect("~\\employee\\Default.aspx");

    }else {

    Response.Write("alert('LoginUnsuccessfull')");

    tbPassEMP.Text = "";tbUnameEMP.Text = "";

    }}else {

    Response.Write("alert('Login Unsuccessfull')");tbPassEMP.Text = "";tbUnameEMP.Text = "";

    }

    r.Close();con.Close();

    }

    protected void btnHODlogin_Click(object sender, EventArgs e)

    {HttpCookie c = new HttpCookie("USERS");

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    11/36

      if (c["USERS"] == null){

    c["empID"] = "";c["empPASS"] = "";

    }

    SqlConnection con = new SqlConnection(conSettings.conStr);con.Open();string Uname = tbUnameHOD.Text;string password = tbPassHOD.Text;string query = String.Format("SELECT * FROM [dbo].[EmployeeTable]

    where empID = '{0}' AND empStatus ='HOD'", Uname);SqlCommand cmd = new SqlCommand(query, con);SqlDataReader r = cmd.ExecuteReader();if (r.Read()){

    if (r["empPASS"].ToString() == password){

    c["empId"] = Uname;

    c["empPASS"] = password;Response.Cookies.Add(c);Response.Redirect("~\\hod\\Default.aspx");

    }else {

    Response.Write("alert('LoginUnsuccessfull')");

    tbPassEMP.Text = "";tbUnameEMP.Text = "";

    }}else {

    Response.Write("alert('Login Unsuccessfull')");

    tbPassEMP.Text = "";tbUnameEMP.Text = "";

    }r.Close();con.Close();

    }protected void btnHRMlogin_Click(object sender, EventArgs e){

    HttpCookie c = new HttpCookie("USERS");if (c["USERS"] == null){

    c["empID"] = "";c["empPASS"] = "";

    }SqlConnection con = new SqlConnection(conSettings.conStr);con.Open();string Uname = tbUnameHRM.Text;string password = tbPassHRM.Text;string query = String.Format("SELECT * FROM [dbo].[EmployeeTable]

    where empID = '{0}' AND empStatus ='HRM'", Uname);SqlCommand cmd = new SqlCommand(query, con);SqlDataReader r = cmd.ExecuteReader();if (r.Read()){

    if (r["empPASS"].ToString() == password){

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    12/36

      c["empId"] = Uname;c["empPASS"] = password;Response.Cookies.Add(c);Response.Redirect("~\\hrm\\Default.aspx");

    }else 

    { Response.Write("alert('LoginUnsuccessfull')");

    tbPassEMP.Text = "";tbUnameEMP.Text = "";

    }}else {

    Response.Write("alert('Login Unsuccessfull')");

    tbPassEMP.Text = "";

    tbUnameEMP.Text = "";}r.Close();con.Close();

    } }

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    13/36

    Employee Page (employee/Default.aspx)

    Coding for Employee Page (employee/Default.aspx.cs):

    using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.Configuration;

    public partial class employee_Default : System.Web.UI.Page {

    SqlConnection con = new SqlConnection(conSettings.conStr);

    protected void Page_Load(object sender, EventArgs e){

    if (IsPostBack == false){

    HttpCookie c = Request.Cookies["USERS"];if (c == null)

    Response.Redirect("..\\Default.aspx");else {

    con.Open();string uname = c["empID"].ToString();string password = c["empPASS"].ToString();string query = String.Format("Select * from

    [dbo].[EmployeeTable] where empId= '{0}'",uname);

    SqlCommand cmd = new SqlCommand(query, con);SqlDataReader r = cmd.ExecuteReader();

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    14/36

      r.Read();if (r["empPASS"].ToString() == password){

    lblLogin.Text="Welcome"+r["empName"].ToString()+"("+r["empId"].ToString()+")";

    string isFilled="true";

    if (r["isFilled"].ToString() == isFilled){

    btnRating.Enabled = false;}else {

    btnViewing.Enabled = false;}

    }else 

    lblLogin.Text = "Please Login Again";}

    }}

    protected void btnLogout_Click(object sender, EventArgs e){

    HttpCookie c = Request.Cookies["USERS"];c.Expires = DateTime.Now.AddDays(-1d);Response.Cookies.Add(c);Response.Redirect("..\\Default.aspx");

    }

    protected void btnRating_Click(object sender, EventArgs e){

    PanelView.Visible = false;panelRate.Visible = true;

    DataTable dt = new DataTable();dt.Columns.Add("ParameterID");dt.Columns.Add("Parameter");Session["dt"] = dt;

    SqlDataAdapter da = new SqlDataAdapter("select parameterId, parameterfrom dataTable", con);

    DataSet ds = new DataSet();da.Fill(ds, "dataTable");DataTable dt1 = ds.Tables[0];foreach (DataRow dr in dt1.Rows){

    DataRow dr1 = ((DataTable)Session["dt"]).NewRow();dr1[0] = dr[0].ToString();dr1[1] = dr[1].ToString();((DataTable)Session["dt"]).Rows.Add(dr1);

    }GridView1.DataSource = (DataTable)Session["dt"];GridView1.DataBind();

    }

    protected void btnVerify_Click(object sender, EventArgs e){

    bool ratingIsOK = true;

    for (int i = 0; i

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    15/36

      GridViewRow gr = GridView1.Rows[i];int emprating = 0;if (((TextBox)gr.FindControl("tbSelfRating")).Text != ""){

    emprating = int.Parse(((TextBox)gr.FindControl("tbSelfRating")).Text.ToString());

    if (emprating  5){ratingIsOK = false;

    }}

    else {

    ratingIsOK = false;}

    }

    if (ratingIsOK == true){btnAddRecord.Enabled = true;lblDisplay.Text = "Click on the Add Records Button !";

    }else {

    lblDisplay.Text = "Please Check the Inputs... And Try Again!!";}

    }protected void btnAddRecord_Click(object sender, EventArgs e){

    HttpCookie c = Request.Cookies["USERS"];string uname = c["empID"].ToString();for (int i = 0; i

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    16/36

     }lblDisplay.Text = "Record Added!";SqlCommand cmd1 = new SqlCommand("update EmployeeTable set

    isFilled='true' where empId= @var1", con);cmd1.Parameters.AddWithValue("@var1", uname);

    try {con.Open();cmd1.ExecuteNonQuery();con.Close();

    }catch (Exception ee){

    lblDisplay.Text = "Error";}Response.Redirect("Default.aspx");

    }

    protected void btnViewing_Click(object sender, EventArgs e){

    HttpCookie c = Request.Cookies["USERS"];panelRate.Visible = false;PanelView.Visible = true;DataTable dt = new DataTable();dt.Columns.Add("ParameterID");dt.Columns.Add("Parameter");dt.Columns.Add("empRating");dt.Columns.Add("HODRating");dt.Columns.Add("Comments");Session["dt"] = dt;string uname = c["empID"].ToString();string query = String.Format("select parameterId, empRating,

    hodRating, hodComment from Rating where empid='{0}'", uname);SqlDataAdapter da0 = new SqlDataAdapter(query, con);

    DataSet ds0 = new DataSet();da0.Fill(ds0, "Rating");DataTable dt0 = ds0.Tables[0];foreach (DataRow dr in dt0.Rows){

    DataRow drM = ((DataTable)Session["dt"]).NewRow();drM[0] = dr[0].ToString();drM[1] = dr[1].ToString();drM[3] = dr[2].ToString();drM[4] = dr[3].ToString();SqlCommand cmd1 = new SqlCommand("select parameter from dataTable

    where parameterId=@var1", con);cmd1.Parameters.AddWithValue("@var1", drM[0].ToString());con.Open();string parameter = cmd1.ExecuteScalar().ToString();drM[2] = parameter;con.Close();

    ((DataTable)Session["dt"]).Rows.Add(drM);}

    GridViewView.DataSource = (DataTable)Session["dt"];GridViewView.DataBind();

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    17/36

     SqlCommand cmd2 = new SqlCommand("select avgRating from EmployeeTable

    where empId=@var1", con);cmd2.Parameters.AddWithValue("@var1", uname);con.Open();string avgRating = cmd2.ExecuteScalar().ToString();

    lblavgRating.Text = avgRating;con.Close();SqlCommand cmd3 = new SqlCommand("select salaryHike from

    EmployeeTable where empId=@var1", con);cmd3.Parameters.AddWithValue("@var1", uname);con.Open();string hike = cmd3.ExecuteScalar().ToString();salaryHike.Text = hike;con.Close();

    }} 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    18/36

    HOD Page (hod/Default.aspx)

    Coding for HOD Page (hod/Default.aspx.cs):

    using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;

    public partial class hod_Default : System.Web.UI.Page {

    SqlConnection con = new SqlConnection(conSettings.conStr);protected void Page_Load(object sender, EventArgs e){

    HttpCookie c = Request.Cookies["USERS"];

    if (IsPostBack == false){

    if (c == null)Response.Redirect("..\\Default.aspx");

    else {

    con.Open();string uname = c["empID"].ToString();string password = c["empPASS"].ToString();string query = String.Format("Select * from

    [dbo].[EmployeeTable] where empId= '{0}'", uname);

    SqlCommand cmd = new SqlCommand(query, con);SqlDataReader r = cmd.ExecuteReader();

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    19/36

      r.Read();if (r["empPASS"].ToString() == password){

    lblLogin.Text = "Welcome " + r["empName"].ToString() + "(" + r["empId"].ToString() + ")";

    }else lblLogin.Text = "Please Login Again";

    }con.Close();

    }

    if (IsPostBack == false){

    string HOD = c["empID"].ToString();SqlCommand cmd1 = new SqlCommand("SELECT empId FROM EmployeeTable

    where HOD = @var1 and isFilled='true'", con);

    cmd1.Parameters.AddWithValue("@var1", HOD);con.Open();SqlDataReader r1 = cmd1.ExecuteReader();string drpItem;

    while (r1.Read()){

    drpItem = r1["empId"].ToString();drpEmp.Items.Add(drpItem);

    }r1.Close();con.Close();

    }}

    protected void btnLogout_Click(object sender, EventArgs e){

    HttpCookie c = Request.Cookies["USERS"];c.Expires = DateTime.Now.AddDays(-1d);Response.Cookies.Add(c);Response.Redirect("..\\Default.aspx");

    }

    protected void drpEmp_SelectedIndexChanged(object sender, EventArgs e){

    Session["drpEMP"] = drpEmp.SelectedItem.Text;}

    protected void btnShow_Click(object sender, EventArgs e){

    string emp = (string)Session["drpEMP"];GridView1.Visible = true;DataTable dt = new DataTable();dt.Columns.Add("ParameterID");dt.Columns.Add("Parameter");dt.Columns.Add("empRating");Session["dt"] = dt;

    SqlDataAdapter da0 = new SqlDataAdapter("select parameterId,parameter from dataTable", con);

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    20/36

      DataSet ds0 = new DataSet();da0.Fill(ds0, "dataTable");DataTable dt0 = ds0.Tables[0];

    foreach (DataRow dr in dt0.Rows){

    DataRow drM = ((DataTable)Session["dt"]).NewRow();drM[0] = dr[0].ToString();drM[1] = dr[1].ToString();SqlCommand cmd1 = new SqlCommand("select emprating from rating

    where empid=@var1 and parameterid=@var2", con);cmd1.Parameters.AddWithValue("@var1", emp);cmd1.Parameters.AddWithValue("@var2", drM[0].ToString());con.Open();string rating = cmd1.ExecuteScalar().ToString();drM[2] = rating;con.Close();((DataTable)Session["dt"]).Rows.Add(drM);

    }

    SqlCommand cmd2 = new SqlCommand("select empName, empCont fromEmployeeTable where empId=@var1", con);

    cmd2.Parameters.AddWithValue("@var1", emp);con.Open();SqlDataReader r = cmd2.ExecuteReader();if (r.Read()){

    lblName.Text = r["empName"].ToString();lblContact.Text = r["empCont"].ToString();details.Visible = true;

    }

    con.Close();

    GridView1.DataSource = (DataTable)Session["dt"];GridView1.DataBind();btnHODSubmit.Visible = true;btnVerify.Visible = true;

    }

    protected void btnHODSubmit_Click(object sender, EventArgs e){

    string emp = (string)Session["drpEMP"];int totalRating = 0;

    for (int i = 0, j = 1; i

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    21/36

      cmd.Parameters.AddWithValue("@var1", HODrating);cmd.Parameters.AddWithValue("@var2", comment);cmd.Parameters.AddWithValue("@var3", emp);cmd.Parameters.AddWithValue("@var4", paramId);try {

    con.Open();cmd.ExecuteNonQuery();con.Close();

    }catch (Exception ee){

    lblDisplay.Text = "Error!";}

    }int noOfRecords = GridView1.Rows.Count;int avg=0;try {

    avg = totalRating / noOfRecords;}catch (Exception eee){

    //avg=0; }SqlCommand cmd1 = new SqlCommand("UPDATE EmployeeTable set

    avgRating= @var1 where empId=@var2 ", con);cmd1.Parameters.AddWithValue("@var1", avg);cmd1.Parameters.AddWithValue("@var2", emp);try {

    con.Open();cmd1.ExecuteNonQuery();con.Close();

    }catch (Exception eeee){

    lblDisplay.Text = "Error!";}

    GridView1.Visible = false;

    lblDisplay.Text = "Record Updated";

    btnHODSubmit.Enabled = false;btnHODSubmit.Visible = false;btnVerify.Visible = false;

    }

    protected void btnVerify_Click(object sender, EventArgs e){

    string emp = (string)Session["drpEMP"];

    int totalRating = 0;

    bool ratingIsOK = true;

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    22/36

     for (int i = 1; i

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    23/36

    HRM Page (hrm/Default.aspx)

    Coding for HRM Page (hrm/Default.aspx.cs):

    using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;

    public partial class HRM_Default : System.Web.UI.Page {

    SqlConnection con = new SqlConnection(conSettings.conStr);string emp_id;protected void Page_Load(object sender, EventArgs e){

    if (IsPostBack == false){

    HttpCookie c = Request.Cookies["USERS"];if (c == null)

    Response.Redirect("..\\Default.aspx");else {

    con.Open();string uname = c["empID"].ToString();string password = c["empPASS"].ToString();string query = String.Format("SELECT * FROM

    [dbo].[EmployeeTable] where empId = '{0}'", uname);SqlCommand cmd = new SqlCommand(query, con);SqlDataReader r = cmd.ExecuteReader();

    r.Read();if (r["empPASS"].ToString() == password)

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    24/36

      {lblLogin.Text = "Welcome" + r["empName"].ToString() + "(" 

    + r["empId"].ToString() + ")";r.Close();

    }else 

    lblLogin.Text = "Please Login Again";

    }con.Close();

    drpboxDepart.Items.Clear();

    string query1 = string.Format("Select empDept from EmployeeTablewhere empStatus='HOD'");

    SqlCommand cmd1 = new SqlCommand(query1, con);con.Open();

    SqlDataReader r1 = cmd1.ExecuteReader();while (r1.Read()){

    string dept = r1["empDept"].ToString();drpboxDepart.Items.Add(dept);

    }

    r1.Close();con.Close();

    }

    }

    protected void btnLogOut_Click(object sender, EventArgs e){

    HttpCookie c = Request.Cookies["USERS"];c.Expires = DateTime.Now.AddDays(-1d);Response.Cookies.Add(c);Response.Redirect("..\\Default.aspx");

    }

    protected void btnView_Click(object sender, EventArgs e){

    string drpData = drpboxEmpID.SelectedItem.Text;emp_id = drpData;DataTable dt = new DataTable();dt.Columns.Add("ParameterID");dt.Columns.Add("Parameter");dt.Columns.Add("HODRating");dt.Columns.Add("Comments");Session["dt"] = dt;string query= string.Format("select parameterId, hodRating,

    hodComment from Rating where empId='{0}'",drpData);SqlDataAdapter da0 = new SqlDataAdapter(query, con);DataSet ds0 = new DataSet();da0.Fill(ds0, "Rating");

    DataTable dt0 = ds0.Tables[0];foreach (DataRow dr in dt0.Rows)

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    25/36

      {DataRow drM = ((DataTable)Session["dt"]).NewRow();drM[0] = dr[0].ToString();drM[2] = dr[1].ToString();drM[3] = dr[2].ToString();

    SqlCommand cmd1 = new SqlCommand("select parameter from dataTablewhere parameterId=@var1", con);cmd1.Parameters.AddWithValue("@var1", drM[0].ToString());con.Open();string parameter = cmd1.ExecuteScalar().ToString();drM[1] = parameter;con.Close();

    ((DataTable)Session["dt"]).Rows.Add(drM);}

    gridviewDetails.DataSource = (DataTable)Session["dt"];gridviewDetails.DataBind();btnAvg.Visible = true;

    }

    protected void btnFindDept_Click(object sender, EventArgs e){

    string drpDepart = drpboxDepart.Text;string query = string.Format("Select empId from EmployeeTable where

    empDept='{0}' and empStatus= 'EMP'",drpDepart);SqlCommand cmd = new SqlCommand(query, con);con.Open();SqlDataReader r = cmd.ExecuteReader();while (r.Read()){

    drpboxEmpID.Items.Add(r["empId"].ToString());}r.Close();con.Close();btnView.Enabled = true;

    }protected void btnAvg_Click(object sender, EventArgs e){

    string drpData = drpboxEmpID.SelectedItem.Text;string query = string.Format("Select avgRating from EmployeeTable

    where empId='{0}'", drpData);SqlCommand cmd = new SqlCommand(query, con);con.Open();SqlDataReader r = cmd.ExecuteReader();if (r.Read()){

    lblAvg.Text = r["avgRating"].ToString();int AVGforHike = int.Parse(r["avgRating"].ToString());int hike=0;switch (AVGforHike){

    case 1: hike = 0;break;

    case 2: hike = 2;break;

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    26/36

      case 3: hike = 4;break;

    case 4: hike = 5;break;

    case 5: hike = 10;break;

    default: hike = 0;break;}

    tbHike.Text = hike.ToString();}r.Close();con.Close();lblAvg.Visible = true;tbHike.Visible = true;btnHike.Visible = true;

    }protected void btnHike_Click(object sender, EventArgs e)

    { string drpData = drpboxEmpID.SelectedItem.Text;string query = string.Format("UPDATE EmployeeTable set salaryHike

    ='{0}' where empId='{1}'",tbHike.Text,drpData );SqlCommand cmd = new SqlCommand(query, con);con.Open();cmd.ExecuteNonQuery();con.Close();lblAvg.Text = "Hike Allowed";btnHike.Visible = false;btnAvg.Visible = false;tbHike.Visible = false;

    }protected void  drpboxEmpID_SelectedIndexChanged(object sender, EventArgs 

    e){

    string drpData = drpboxDepart.SelectedItem.Text;

    btnView.Enabled = true;}protected void  drpboxDepart_SelectedIndexChanged(object sender, EventArgs 

    e){

    string drpDepart = drpboxDepart.Text;btnFindDept.Enabled = true;

    }} 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    27/36

    Admin Page (admin/Default.aspx)

    Code for Admin Page (admin/Default.aspx.cs):

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;

    public partial class _Default : System.Web.UI.Page {

    protected void Page_Load(object sender, EventArgs e){

    }

    protected void btnCancel_Click(object sender, EventArgs e){

    Response.Redirect("..\\Default.aspx");}

    protected void btnLogin_Click(object sender, EventArgs e){

    HttpCookie adminC = new HttpCookie("AUSERS");if (adminC["AUSERS"] == null){

    adminC["uname"] = "";adminC["pass"] = "";

    }

    if (tbUname.Text == "admin" && tbPassword.Text == "admin")

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    28/36

      {adminC["uname"] = tbUname.Text.ToString();adminC["pass"] = tbPassword.Text.ToString();Response.Cookies.Add(adminC);Response.Redirect("Update.aspx");

    }

    else lblDisplay.Text = "Access Denied!";

    }}

    Code for Update Page (admin/Update.aspx.cs):

    using System;using System.Collections.Generic;using System.Data.SqlClient;

    using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;

    public partial class Rating : System.Web.UI.Page {

    SqlConnection con = new SqlConnection(conSettings.conStr);protected void Page_Load(object sender, EventArgs e){

    if (IsPostBack == false){

    HttpCookie adminC = Request.Cookies["AUSERS"];

    if (adminC == null)Response.Redirect("Default.aspx");

    else {

    panelShow.Visible = true;}

    }}protected void btnLogout_Click(object sender, EventArgs e){

    HttpCookie adminC = Request.Cookies["AUSERS"];adminC.Expires = DateTime.Now.AddDays(-1d);Response.Cookies.Add(adminC);

    Response.Redirect("Default.aspx");}

    protected void btnAddGoal_Click(object sender, EventArgs e){

    goals.Visible = true;

    string query = String.Format("SELECT MAX(parameterId) FROMdataTable");

    SqlCommand cmd = new SqlCommand(query,con);con.Open();

    string pid=cmd.ExecuteScalar().ToString();con.Close();tbParamID.Text= ((int.Parse(pid)+1)).ToString();

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    29/36

      }protected void btnSubmitdataTable_Click(object sender, EventArgs e){

    string paramID = tbParamID.Text;string parameter = tbParameter.Text;string query = String.Format("INSERT INTO dataTable Values(

    '{0}','{1}')",paramID,parameter);

    try {

    SqlCommand cmd = new SqlCommand(query, con);con.Open();cmd.ExecuteNonQuery();con.Close();lblDisplay.Text = "Record Added !";tbParamID.Text = (int.Parse(paramID) + 1).ToString();tbParameter.Text = "";

    }

    catch (Exception ee){lblDisplay.Text = "Error !";

    }

    }}

    Code for Connection Settings (App_Code/conSettings.cs):

    using System;using System.Collections.Generic;

    using System.Configuration;using System.Linq;using System.Web;

    public class conSettings {

    public static string conStr=ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;

    public static System.Data.SqlClient.SqlConnection con { get; set; }} 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    30/36

    Requirement Specification

    Domain Description:  

    The project is based on the Employees and The HRM and the Head of the Department

    (HOD). Employee asses his/her performance based on the several GOALS set by the HRM

    department in the Appraisal form done for each Employee including the HOD. The HOD is also

     permitted and has to assess his employees in all those fields and will mark out of 5. At last after

    all fields reasonably marked the average of the total is calculated and accordingly the

    Employee's salary is hiked or he is promoted or rewarded. 

    Problem Defi ni tion:  

    The destination of this project is to accept ratings for all the employees in all the

    departments of any particular farm. Both the ratings of the HOD of that department as well as

    that employee's is being recorded along with HOD's comment. Considering all the ratings done

     by HOD only, the hike on salary will be calculated and shown by the system only. 

    Functional Requirements:  

     User 1:  Employees 

    He is allowed to rate himself. He can also see his hike after the total rating is done by the HOD. 

      User 2:  Head of the Department 

    He is allowed to rate the employees of his department only.  

      User 3 :  Human Resource Management 

    He is allowed to select the departments and see the average ratings of the employees of that

    department and based on that he can allow salary hike to that employee. 

    Hardware /Software Requirements:  

    Computers with a minimum 1GB of RAM, Processor 1.2Ghz Clock Speed and 10GB of

    Hard Disk Space with a Browser that supports HTTP requests is required on the client side. 

    Servers running Windows Server OS that supports IIS and also supports ASP.net scripts

    are required. 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    31/36

    Future Scope OF Improvement

    This project is a sub part of a complete project. Due to a very short span of time

    and limitation of our knowledge, it had not been possible for us to incorporate eachand every element that would enhance this project. If it is incorporated in a

     business organization there is a lot of scope of improvement in this particular

     project.

     

    Here the Employee table under consideration is taken as static. So for

    making it more effective the table can be made dynamic. So that employee

    addition or deletion will be possible.

     

     New projects can be assigned by the HODs to the employees of respected

    departments with a deadline. So if accomplished additional points can begiven to them for that.

      HRM can also rate the performance of the HODs based on their

    effectiveness on the employees and can allow salary hike to them as well.

      The look and feel of the webpage could be made more attractive.

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    32/36

     

    Certificate 

    This is to certify that Mr. Sumit Kar of Swami Vivekananda Institute Of Science

    And Technology, registration number: 122410110055, has successfully completed

    a project on Online Appraisal Management using .Net under the guidance of Mr.

    Sudipto Kr. Mukherjee. 

    ------------------------------------------------------  

    Mr. Sudipto Kr. Mukherjee 

    Globsyn Finishing School 

    (A division of Globsyn Skills) 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    33/36

     

    Certificate 

    This is to certify that Ms. Rukhsar Aziz of Swami Vivekananda Institute Of

    Science And Technology, registration number: 122410110039, has successfully

    completed a project on Online Appraisal Management using .Net under the

    guidance of Mr. Sudipto Kr. Mukherjee. 

    ------------------------------------------------------  

    Mr. Sudipto Kr. Mukherjee 

    Globsyn Finishing School 

    (A division of Globsyn Skills) 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    34/36

     

    Certificate 

    This is to certify that Mr. Soham Purkait of Swami Vivekananda Institute Of

    Science And Technology, registration number: 122410110128, has successfully

    completed a project on Online Appraisal Management using .Net under the

    guidance of Mr. Sudipto Kr. Mukherjee. 

    ------------------------------------------------------  

    Mr. Sudipto Kr. Mukherjee 

    Globsyn Finishing School 

    (A division of Globsyn Skills) 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    35/36

     

    Certificate 

    This is to certify that Ms. Swagata Banerjee of Swami Vivekananda Institute Of

    Science And Technology, registration number: 122410110058, has successfully

    completed a project on Online Appraisal Management using .Net under the

    guidance of Mr. Sudipto Kr. Mukherjee. 

    ------------------------------------------------------  

    Mr. Sudipto Kr. Mukherjee 

    Globsyn Finishing School 

    (A division of Globsyn Skills) 

  • 8/9/2019 Globsyn C# Batch1 SVIMCS Appraisal Project Report

    36/36

     

    Certificate 

    This is to certify that Mr. Sayandeep Majumdar of Swami Vivekananda Institute

    Of Science And Technology, registration number: 122410110044, has successfully

    completed a project on Online Appraisal Management using .Net under the

    guidance of Mr. Sudipto Kr. Mukherjee. 

    ------------------------------------------------------  

    Mr. Sudipto Kr. Mukherjee 

    Globsyn Finishing School 

    (A division of Globsyn Skills)