Upload
sumit-kar
View
224
Download
0
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)